qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Conway" <acon...@redhat.com>
Subject Re: Review Request 15818: QPID-5307: Make brokertest.py framework run on Windows, convert some tests.
Date Wed, 04 Dec 2013 22:18:32 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/15818/
-----------------------------------------------------------

(Updated Dec. 4, 2013, 10:18 p.m.)


Review request for qpid, Andrew Stitcher, Justin Ross, and Steve Huston.


Changes
-------

Should give a good indication of where I'm going, still has issues on windows.


Summary (updated)
-----------------

QPID-5307: Make brokertest.py framework run on Windows, convert some tests.


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.

QPID-5307: Added portable Path, check for isAbsolute()

qpid::sys::Path provides some basic operations on path names,
with implementations for posix and windows.

QPID-5307: Fix bug in windows NullAuthenticator, not setting realm on user IDs.


Diffs (updated)
-----

  /trunk/qpid/cpp/src/CMakeLists.txt 1546628 
  /trunk/qpid/cpp/src/qpid/acl/AclPlugin.cpp 1546628 
  /trunk/qpid/cpp/src/qpid/broker/windows/SaslAuthenticator.cpp 1546628 
  /trunk/qpid/cpp/src/qpid/sys/Path.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/sys/posix/Path.cpp PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/sys/windows/Path.cpp PRE-CREATION 
  /trunk/qpid/cpp/src/tests/CMakeLists.txt 1546628 
  /trunk/qpid/cpp/src/tests/acl.py 1546628 
  /trunk/qpid/cpp/src/tests/acl_tests.py PRE-CREATION 
  /trunk/qpid/cpp/src/tests/brokertest.py 1546628 
  /trunk/qpid/cpp/src/tests/ha_test.py 1546628 
  /trunk/qpid/cpp/src/tests/ha_tests.py 1546628 
  /trunk/qpid/cpp/src/tests/python_tests.py PRE-CREATION 
  /trunk/qpid/cpp/src/tests/run_acl_tests 1546628 
  /trunk/qpid/cpp/src/tests/run_acl_tests.ps1 1546628 
  /trunk/qpid/cpp/src/tests/test_config.py.in PRE-CREATION 
  /trunk/qpid/python/qpid-python-test 1546628 

Diff: https://reviews.apache.org/r/15818/diff/


Testing
-------

ha_tests.py passing


Thanks,

Alan Conway


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message