Forum OpenACS Development: Re: Uses of tclwebtest with openacs-4/etc/install tests
Sorry about the silly bug regarding how to start tclwebtest. As far as I know it is currently only possible to start it by doing
$ cd tclwebtest_install_dir
$ ./tclwebtest /path/to/dir_that_contains_the_tests/
which is the result of some strange way its library loading is set up
- I hope I can rearrange that one day. But that does of course not
mean you need to make a copy of tclwebtest under the web instance you want to test, you can just download it to /usr/local/, your homedir or
whatever and cd there to run it.
The -config_file switch of tclwebtest has nothing at all to do with the aolserver config file. Instead it allows to specify a .tcl file that will be sourced at the beginning of the running of each test so that you can specify common variables such as the url of your server, passwords and whatever in there. The file myservice/etc/install/install.tcl in an openacs checkout appears to be such a file (could be called test-config.tcl or whatever for more clarity).
Regarding the location of the .test files there has been no agreement yet. It would be propably the easiest if you create a myservice/test/ directory and lump them all together in there for now, before you settle on a package specific location that gets changed later on by a general decision for openacs. Also this way you don't have to worry where to put tests that are not really specific to a single package, such as logging in etc. And this way you can easily run them all in one row by just specifiying the directory as parameter to tclwebtest.
Also please note that the automatic installation of OpenACS with tclwebtest is not intended to become the recommended way of doing an installation. If you want a specific setup (package mounts, parameter settings etc.) upon installation for your service, use the install.xml feature. The tclwebtest stuff is just there to enable automated testing of the manual installation process.
And yes, we need to think about the locations for the .test files, and propably more about complex dependencies of tests since black box client tests test to have more dependencies like inserting test data before running stuff etc., compared to api unit tests.
I hope I did not contradict you (Joel) when saying that tclwebtest isn't used for automated installation under normal circumstances. In my opinion it shouldn't, but I haven't looked closely at etc/install/ yet.