Hi,
As part of working on DERBY-2076, the issue of using old Derby releases
in tests came up.
Currently, there are two mechanisms in play:
a) If derbyTesting.oldReleasePath is set, use that directory.
b) If the above isn't set, the upgrade test will attempt to download
the required Derby files from the Apache web site.
I'd like the basic compatibility test, in a minimum acceptance test
configuration, to run automatically as part of suites.All. To do that I
need access to the old releases. With (a) everything is ok, but it's up
to the developer to keep the bits updated. This is fine for nightly
tests etc.
Mechanism (b) is getting problematic if more than one test is
downloading the bits. I'd like to hear if people think it is feasible to
improve that mechanism to allow multiple tests and ideally multiple test
runs to share the downloaded files. These questions come to mind:
1) Is it acceptable to go online and download Derby releases
automatically onto the user machine?
2) Where do we store them?
Ideally, we wouldn't want to download the bits every time
suites.All is run.
Suggestions:
o ~/.derbyTestingReleases (with a suitable alternative on Windows)
o current dir used when running tests (i.e. alongside 'system/')
o user specified directory, don't download if not specified
(i.e. don't run the tests)
For simplicity we can also ditch the current download mechanism. That
requires developers to always specify derbyTesting.oldReleasePath. I'm
using a script to run the tests, so it's not a problem for me. However,
if I were to run tests manually the chances that I would forget to
specify that property are significant.
This feature would probably only be used by tests for upgrade and
version compatibility. Have I forgotten any other use cases?
Thanks,
--
Kristian