# Testing environment properties.

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

extensions.depend.dir=../../../extension.lib.external
jdbc.driver.jar=${extensions.depend.dir}/ojdbc6.jar
db.driver=oracle.jdbc.OracleDriver
db.url=
db.user=
db.pwd=
db.platform=org.eclipse.persistence.platform.database.oracle.Oracle12Platform

# Logging option for debugging.
logging.level=info

# Weaving options, switch to ignore for no weaving
test.agent=-javaagent:${eclipselink.jar.run}
test.weaving=-Dignore

# Test runner properties.
run.dir=run
report.dir=report
# This is relative to the run directory.
eclipselink.jar.run=../../../eclipselink.jar
