head	1.5;
access;
symbols;
locks; strict;
comment	@# @;


1.5
date	2001.08.17.01.39.58;	author kiko_async;	state Exp;
branches;
next	1.4;

1.4
date	2001.06.07.17.11.46;	author kiko_async;	state Exp;
branches;
next	1.3;

1.3
date	2001.05.27.22.29.55;	author kiko_async;	state Exp;
branches;
next	1.2;

1.2
date	2001.05.27.22.28.31;	author kiko_async;	state dead;
branches;
next	1.1;

1.1
date	2001.05.25.19.49.00;	author lo-lan-do;	state Exp;
branches;
next	;


desc
@@


1.5
log
@Fixed names on a couple of tests.
Added harmless tests to ORBPOA and friends.
Improved README somewhat.
Fixed braindead cleanup_obj.
Cleaned up Roland's old test stuff (the suite is now m1n3!)
@
text
@ORBit-Python test suite. 
(c) 2000, 2001 Jason Tackaberry 
Author: Christian Reis <kiko@@async.com.br>

0. Basic Premise

    * Tack refers kiko to kiko's conjecture: "o-p has no leaks" :)

1. Requirements:

For Python1.x:
* Requires PyUnit (http://pyunit.sourceforge.net), and even then
  it won't run the stress test; I inherit from the testSuite class in
  Python2.1's unittest and it's not really compatible with PyUnit.

For Python2.1:
* In theory, nothing.

To run the Stress test, it's important the OS be Linux, or have a
compatible /proc format. The reason is I read directly from /proc to
discover the process' VmSize and check for consistent growth, which
usually indicates a leak in the test suite.

2. Description

This test suite builds upon Roland Mas' excellent original
implementation, which means the good parts are his and the broken parts
are mine. I'm doing this initial (messy) implementation so we have
a stable base of tests to check against regressions.

3 Test modules

	BasicTest.py
        Contains basic sanity tests for the module, and IDL import
        tests.

	BasicORB.py
		Contains basic testing for the ORB.

	ORBPOATest.py
		Tests the ORB and POA methods with a dummy class. Checks bad and
		good input to function, verifying exception raising and proper
		behaviour.

	ClientServer.py
		Tests actual CORBA Objects and Servants making out.

3 Support files

	TestHarness.py
		This is the server we run the ClientServer tests off. Each
        method here will be called by one or more tests in
        ClientServer.py.

	Test.py
		Ties together basic test modules into a suite.

	Stress.py
		Does the stress testing; this is a profound rewrite of the
        initial Stress test module used here, and it inherits from
        unittest's testSuite. The Stress class takes care of multiple
        runs, and of monitoring and reporting server and client growth.
@


1.4
log
@Major stress test rewrite, cleanups in test suites, preparing for new
test classes.
@
text
@d1 3
a3 1
O-P (THE KICK ASS BINDINGS) test suite. (kiko@@async.com.br)
d5 20
a24 1
Requires Python 2.1's unittest to run the stress test.
d31 1
a31 1
# FIXME: add new dox
d33 3
a35 1
Test modules
d37 2
a38 3
	BasicTest.py
		Contains basic sanity tests for the module -- importing, creating
		ORB and POA, etc.
d48 6
a53 1
Support files
d56 1
a56 5
		Ties together test modules into a suite

	TestHarness.py
		Contains the base class we run the ClientServer tests off. This
		is mostly Roland's good work.
d59 4
a62 1
		Does the stress testing; based on a hack of TestSuite.
@


1.3
log
@Added missing README.
@
text
@d3 2
d10 1
a10 8
Note that O-P wouldn't pass all tests today (error checking on the ORB
and the POA are lacking) but we should uncomment tests as we make them
work. Once uncommented, we should leave them on to catch regressions.

Note that the ClientServer test should run an orb.shutdown() on the
server it spawns, but just in case it doesn't, it would be a good idea
to do a killall python (or something with similar effect) after running
it.
d34 3
@


1.2
log
@Added basic test suite, and moved Roland's test suite to old/. The older
test suite is still better for checking leaks, but I'll work on it. The
suite includes a client-server test, and the simple interactive
convenience script inter.py.
@
text
@d1 1
a1 1
Usage:
d3 4
a6 1
- Start the server: './server.py'
d8 3
a10 1
- Keep an eye on memory: 'watch "ps auxww | grep server.py | grep -v grep"'
d12 4
a15 1
- Start the client: './client.py <N> <action>'
d17 1
a17 1
N is number of times to do the action, action is one of:
d19 20
a38 6
'm': method call with no arguments;
'M' method call with arguments;
'g' and 'G': two ways of doing a _get_attr();
's' and 'S': two ways of doing a _set_attr();
'c': create and destroy an object on the server;
'struct': transmit a struct.
@


1.1
log
@First import of the test suite.
@
text
@@

