123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- WARNING: these product tests have not been used since AspectJ 1.0.
-
- This directory is for "product" tests, which validate the product as delivered
- to users, i.e., as installed from an installer in relevant combinations. This
- type of testing is also called "system" test, or (less correctly) "integration"
- testing. It may make use of unit-test drivers, etc.; the difference is not
- in the test tools or techniques, but in the scope of the validation. However,
- validation typically builds on other testing; e.g., if the compiler has been
- thoroughly tested, then it may suffice in product testing to validate that
- the compiler binaries are the same and that the examples compile using the
- scripts which use the compiler binaries.
-
- The ant script aspectj/test-product.xml drives the process by installing the
- product, copying this entire directory to the target dir, and invoking
- ant product-test.xml. Currently, that script in turn does two things:
- - executes the ajc.bat script to compile the telecom example, and run it
- - invokes ant ant-example.xml to compile/doc/run all examples using
- the ant taskdefs.
- In both cases the results are not validated except that the operations completed.
-
- Setup of the installation directory (aka product or target directory):
-
- ## dir/file ## ## ant source ## ## variable in ant source ##
- {target.dir} test-product.xml ${target.dir}
- aspectj-ant test-product.xml
- aspectj-ant.jar aspectj-ant installer ${taskdefs.jar}
- bin tools installer ${bin.dir}
- doc docs installer ${lib.dir}
- examples docs installer ${examples.dir}
- lib tools installer ${lib.dir}
- aspectjtools.jar tools installer ${aspectjtools.jar}
- aspectjrt.jar tools installer ${aspectjrt.jar}
- product product-test.xml ${test.source.dir}
- product-test-output product-test.xml ${test.dest.dir}
- ajx-output ant-examples.xml ${ajx.base.dir}
- {example}/classes ant-examples.xml
- {example}/docs ant-examples.xml
- {example}/output ant-examples.xml
- out.txt ant-examples.xml
-
- ---------------------------------------------------- to run tests
- cd aspectj
- ## either this (which builds the ajde and source files, too) ...
- build/bin/ant.sh -f build.xml download.files
- ## or this (which only builds what's needed)...
- build/bin/ant.sh -f build-tools.xml download.files
- build/bin/ant.sh -f build-docs.xml download.files
- build/bin/ant.sh -f build-ant-tasks.xml download.files
- ## then run the tests
- build/bin/ant.sh -f test-product.xml
- ## and inspect the results
- cd ../aj-build/temp/aspectj{version}/product-test-output/ajx-output
- ...
-
- ---------------------------------------------------- todo
- - include all download.files packages
- - need to test installer text interface for ide installer jars
- - file differencer on all packages after install
- - source-build tests
- - file differencer as regression test for emitted output
-
- -------- updates needed for 1.1
- - change licenses in scripts to CPL
- - reintegrate comparefiles (see aspectj-attic?)
- -
- -------- tests needed for 1.1
- - version checking
- - warn when no aspectjrt.jar on classpath.
- - warn when bad aspectjrt.jar on classpath
- - warn when aspectjrt.jar on classpath has the wrong version number
- - no exception printed for any warning
- - no warning when correct aspectjrt.jar on classpath
- (ant doc/examples/build.xml)
-
- ---- ajbrowser command-line
- - ajbrowser on no arguments or only .lst args
- - compiler on arguments other than .lst
- - compiler help on -help (confusing)
-
- ---- compiler command-line
- - sources
- - binary
- [injars|not] X [aspectpath|not] X [sources|not]
-
- ---- ant tasks
- - all compiler variants
- -
|