# Testing environment properties
# Set your target database properties here or give it by -Dtest.properties=file option

jdbc.driver.jar=../../../extension.oracle.lib.external/ojdbc7.jar
db.driver=oracle.jdbc.OracleDriver
db.url=jdbc:oracle:thin:@localhost:1521:orcl
db.user=scott
db.pwd=tiger
db.platform=org.eclipse.persistence.platform.database.OraclePlatform

db.oci.url=jdbc:oracle:oci:@orcl

# Logging option for debugging
logging.level=info
# logging.level=finest
# logging.level=off

# Security manager options, switch from ignore to use a security manager
test.security-manager=-Dignore
# test.security-manager=-Djava.security.manager
test.security-manager.policy=-Dignore
# test.security-manager.policy=-Djava.security.policy=./java.policy.allpermissions

# Test class to be run.
test.class=org.eclipse.persistence.testing.tests.OracleTestModel
# test.class=org.eclipse.persistence.testing.tests.xdb.XDBTestModel

# Test runner properties.
run.dir=run
report.dir=reports
