----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/15818/ -----------------------------------------------------------
(Updated Dec. 6, 2013, 5:05 p.m.) Review request for qpid, Andrew Stitcher, Chug Rolke, Justin Ross, Rafael Schloming, and Steve Huston. Changes ------- Rebased on latest trunk -r1548596 Bugs: qpid-5307 https://issues.apache.org/jira/browse/qpid-5307 Repository: qpid Description (updated) ------- QPID-5307: Make brokertest.py framework run on Windows, convert some tests. The brokertest framework is a python unittest framework designed for test that need to run brokers and other processes. This commit makes the framework portable to window and converts the following test shell/ps1 scripts to python: - run_python_tests -> python_tests.py - run_acl_tests -> acl_tests.py Each test module is a set of python unittests, and also an executable script that runs itself using qpid/python/qpid-python-test. - No environment setting required, test_env.sh and test_env.ps1 are not required. (Note they are still useful for working with a build from the command line.) - Configuration formerly in the test_env scripts is provided in test_config.py - Only requirement to run test modules is that the current directory: - contains a test_config.py script (cmake creates one in build/src/tests) - is writable so the tests can create output directories. Each BrokerTest stores broker logs, data directories, command line, stderr and stdout of all processes run in <test-module>.tmp/<test-name>. The framework automaticaly handles shutting down brokers and killing leftover processes at the end of the test, and verifies that all process exit with the expected exit status (expectation of running/exit-ok/crash can be set for each process.) Some broker tests start a broker and then run other python tests against it (e.g. pyton_tests runs the tests under qpid/python, acl_tests runs the pre-existing acl.py tests.) Those sub-tests don't store output on disk so there's no corresponding directory in the <test-module>.tmp tree. This is not yet complete, things to do include: - Generate test_config.py to run tests against a qpid install. - Tests failing on windows: - broker crashes during python_tests.PythonTest.test_run_python_tests - acl_tests.AclTests.test_noacl_noauth_deny_create_link assertion fails. - ha_tests hang. - missing store setup specific to windows stores. - Broke pre-existing tests that use brokertest: configuration has moved. - store.py - qpidd_qmfv2_tests.py - interlink_tests.py - legacystore/python_tests/client_persistence.py - legacystore/python_tests/resize.py - legacystore/python_tests/store_test.py - Nested test implementation self.run_test_modules is clunky. - confusing reporting of # tests run. - tests selection patterns need to include the parent test and the sub-tests. Diffs (updated) ----- /trunk/qpid/cpp/src/tests/CMakeLists.txt 1548596 /trunk/qpid/cpp/src/tests/acl.py 1548596 /trunk/qpid/cpp/src/tests/acl_tests.py PRE-CREATION /trunk/qpid/cpp/src/tests/brokertest.py 1548596 /trunk/qpid/cpp/src/tests/ha_test.py 1548596 /trunk/qpid/cpp/src/tests/ha_tests.py 1548596 /trunk/qpid/cpp/src/tests/python_tests.py PRE-CREATION /trunk/qpid/cpp/src/tests/run_acl_tests 1548596 /trunk/qpid/cpp/src/tests/run_acl_tests.ps1 1548596 /trunk/qpid/cpp/src/tests/test_config.py.in PRE-CREATION /trunk/qpid/python/qpid-python-test 1548596 Diff: https://reviews.apache.org/r/15818/diff/ Testing ------- ha_tests.py passing Thanks, Alan Conway