# Testing environment properties
# Set your target database properties here or give it by -Dtest.properties=file option

jdbc.driver.jar=../../../extension.oracle.lib.external/ojdbc6.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
