> On March 14, 2013, 9:20 a.m., Philip Harvey wrote:
> > I generally like what you're doing here.

My only real concern is that the tests folder is starting to look rather 
complicated. To some extent this is unavoidable. However, I do have some 
suggestions about how to mitigate this:

- To my mind, a lot of the pre-existing tests are either integration or system 
tests. Therefore, to avoid confusion in discussions, could we always refer to 
the new ones as soak tests?
- We have a mixture of -'s and _'s in file and folder names. Personally I'd 
prefer us to use -'s throughout.
- I think the apps all relate to soak tests. If so, would you consider 
rearranging the folder structure as shown below?

tests
 |
 +--java (these are integration tests)
 |
 +--python (these are integration tests too)
 |
 +--soak-tests
     |
     +--apps
     |  |
     |  +--(I might collapse the "messenger" layer. It seems unnecessary).
     |
     +--python
       |
       +--messenger.py

We might even consider creating an integration-tests folder alongside the 
soak-tests folder, but I don't think that's essential right now.

The test directory has experienced a bit of "unconstrained" growth, resulting 
in what we have today.

>>To my mind, a lot of the pre-existing tests are either integration or system 
>>tests. 

I think this is more accident than by design.  IIRC, the original test/python 
directory was intended for unit tests - exercising the APIs and individual 
modules (usually) in isolation.  Python was chosen as the driving language 
because it allowed the tests to be run with both the proton-j and proton-c 
implementations "underneath".

 Which is fine, but didn't give us enough test coverage (defects slipped 
through), or, specifically in the case of the Messenger tests, required the 
full stack (engine + driver), plus separate threads (in order to have two 
Messengers talk to each other).

> - I think the apps all relate to soak tests. If so, would you consider 
> rearranging the folder structure as shown below?

The proposed layout was somewhat 'forced' by the need to leverage the existing 
python-based test harness (the proton-test and common.py files).  But that 
could change - we could put the python harness in a common place, and break out 
the test directories in the manner in which you suggest?

I think perhaps we should move this to the proton mailing list.


> On March 14, 2013, 9:20 a.m., Philip Harvey wrote:
> > /proton/trunk/proton-c/CMakeLists.txt, line 220
> > <https://reviews.apache.org/r/9903/diff/1/?file=270187#file270187line220>
> >
> >     I'm no CMake guru but using add_subdirectory to refer to a sibling 
> > rather than child seems strange to me. Would it be possible to move this 
> > line to the top level CMakeLists.txt instead?

Good point - I was just following a (bad) pattern here.  I'll give that a go.


> On March 14, 2013, 9:20 a.m., Philip Harvey wrote:
> > /proton/trunk/tests/apps/messenger/python/msgr-recv.py, line 44
> > <https://reviews.apache.org/r/9903/diff/1/?file=270194#file270194line44>
> >
> >     Reformat to use two space indentation?

Gah! Never!!! :)


- Kenneth


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


On March 13, 2013, 5:19 p.m., Kenneth Giusti wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/9903/
> -----------------------------------------------------------
> 
> (Updated March 13, 2013, 5:19 p.m.)
> 
> 
> Review request for qpid, Rafael Schloming and Justin Ross.
> 
> 
> Description
> -------
> 
> This patch puts the infrastructure in place for system and soak tests as 
> described in proton-223.
> 
> In summary:
> 
> o) it adds a set of simple messenger-based applications for sending a 
> receiving messages; implementations done in python and C (for now).
> o) creates a set of python test scripts for driving these tests
> 
> Right now I've got a small set of tests that generate traffic between the 
> applications and verify that no messages are dropped.  These are run as part 
> of "ctest", or can be run directly using the python test tool:
> 
>   ./test/python/proton-test -m system_tests
> 
> 
> Todo:
> 
> 1) I need a Java-based version of the Messenger apps.  Other languages are 
> desired too, but we need Java for coverage of that implementation.
> 2) Enhance the receivers to explicitly accept messages based on window size.
> 3) More tests - connection scale, link scale, a test that covers proton-131, 
> long running traffic tests, etc
> 4) Benchmark tests and related support for gathering throughput and latency.
> 5) Valgrind coverage exists for the C application, but fails for any cross 
> language tests.  A small set of C-only tests would be useful for valgrind 
> tests.
> 6) anything else???
> 
> 
> This addresses bugs proton-131 and proton-223.
>     https://issues.apache.org/jira/browse/proton-131
>     https://issues.apache.org/jira/browse/proton-223
> 
> 
> Diffs
> -----
> 
>   /proton/trunk/config.sh 1455926 
>   /proton/trunk/proton-c/CMakeLists.txt 1455926 
>   /proton/trunk/tests/apps/README.txt PRE-CREATION 
>   /proton/trunk/tests/apps/messenger/c/CMakeLists.txt PRE-CREATION 
>   /proton/trunk/tests/apps/messenger/c/msgr-common.h PRE-CREATION 
>   /proton/trunk/tests/apps/messenger/c/msgr-common.c PRE-CREATION 
>   /proton/trunk/tests/apps/messenger/c/msgr-recv.c PRE-CREATION 
>   /proton/trunk/tests/apps/messenger/c/msgr-send.c PRE-CREATION 
>   /proton/trunk/tests/apps/messenger/python/msgr-recv.py PRE-CREATION 
>   /proton/trunk/tests/apps/messenger/python/msgr-send.py PRE-CREATION 
>   /proton/trunk/tests/python/common.py PRE-CREATION 
>   /proton/trunk/tests/python/proton_tests/common.py 1455926 
>   /proton/trunk/tests/python/system_tests/__init__.py PRE-CREATION 
>   /proton/trunk/tests/python/system_tests/messenger.py PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/9903/diff/
> 
> 
> Testing
> -------
> 
> The short tests have been added to ctest, only tested on Linux (fedora 17) 
> thus far.
> 
> 
> Thanks,
> 
> Kenneth Giusti
> 
>

Reply via email to