summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/Simple_Naming/README
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/Simple_Naming/README')
-rw-r--r--TAO/orbsvcs/tests/Simple_Naming/README262
1 files changed, 0 insertions, 262 deletions
diff --git a/TAO/orbsvcs/tests/Simple_Naming/README b/TAO/orbsvcs/tests/Simple_Naming/README
deleted file mode 100644
index 5e8c01ad0d3..00000000000
--- a/TAO/orbsvcs/tests/Simple_Naming/README
+++ /dev/null
@@ -1,262 +0,0 @@
-// $Id$
-
-This application tests different features of TAO's Naming Service.
-
-To run all tests automatically -
- execute Perl script run_test.pl
-
-To run tests manually -
- start the Naming Service (see
- TAO/orbsvcs/Naming_Service/README for valid options),
- then run ./client with one of the options below.
-
-NOTE: if running tests manually, Naming Service has to be restarted
-before each test (this is due to some tests not 'cleaning up' bindings
-after themselves).
-
-The following options exist:
----------------------------
--s Run the Simple test of the Naming Service.
-
--t Run the Tree test of the Naming Service.
-
--e Run the Exceptions test of the Naming Service
-
--i Run the Iterator test of the Naming Service.
-
--y Run the Destroy test of the Naming Service.
-
--m <n> Run the Multi-Threaded test of the Naming Service (multiple
- client threads). Requires integer argument specifying number
- of thread to spawn. (If running this test manually, its
- output should be redirected to some file, say, "foo". Then,
- "process-m-output.pl" script can be used to analyze the test
- output and print out a diagnostic message. Invoke the output
- processing script like so:
- "process-m-output.pl foo number_of_threads",
- where <foo> is the name of the file containing test output,
- and <number_of_threads> is the argument that was supplied with
- "-m" option to the client.)
-
- Example (on a Unix system):
- $ ../../Naming_Service &
- $ ./client -m 10 >& foo
- $ ./process-m-output.pl foo 10
-
- where the steps correspond to 1)starting the Naming Service,
- 2) running the client and redirecting the output to a file,
- and 3) running the diagnostic script.
- Don't forget to kill the Naming Service after you are done.
-
-Persistent test consists of two parts (below).
-
--p <file_name>
- Run the Persistent Naming Service test, part 1. Requires an
- argument specifying the name of the file in which to store an ior for
- use by Persistent Naming Service test, part 2. Note, in order
- to test out persistent capabilities of the Naming Service, the
- Naming Service must be started with -f and -ORBendpoint options.
- The values for these options must be the same for both runs of
- the Naming Service (i.e., for part 1 and part 2 of persistent test).
-
--c <ior>
- Run the Persistent Naming Service test, part 2. Requires an
- argument specifying the ior, which was produced in part 1 of
- the test. Note, in order to test out persistent capabilities
- of the Naming Service, the Naming Service must be started with
- -f and -ORBendpoint options. The values for these options
- must remain the same for both runs of the Naming Service (i.e.,
- for part 1 and part 2 of persistent test).
-
- Example of testing persistence on a Unix system:
- $ ../../Naming_Service -f log -ORBendpoint iiop://localhost:20000
- $ ./client -p ior_file
- kill the Naming_Service process
- $ ../../Naming_Service -f log -ORBendpoint iiop://localhost:20000
- $ ./client -c file://ior_file
-
- where the steps correspond to 1)starting the Naming Service on
- port 20000 in persistent mode, with persistent state being
- stored in file called "log", 2) running the first part of the
- client persistent naming test, and sending its data to file
- called "ior_file", 3) killing the Naming Service process, 4)
- restarting the Naming Service on the same port with the same
- persistent state storage file, and 5) running the second part
- of the client persistence test by specifying the ior from part
- 1 in the file format.
-
- We kill the Naming Service process between 2 client runs to
- make sure it can recreate its state from persistent storage.
- It is necessary to restart the Naming Service on the same
- host/port in order for the persistent IORs from the first
- run to be valid for the second run.
-
-If no option is specified, Simple test is run. If more than one
-option is specified, only one test runs.
-
-
-DESCRIPTION AND EXPECTED OUTPUT FOR EACH TEST
-*******************************************
-
-Simple Test.
-
-Performs bind (), resolve (), and unbind () of an object reference in
-the root context.
-
-Expected Output:
-
-Bound name OK
-Resolved name OK
-Unbound name OK
-
-********************************************
-
-MT Test.
-
-Spawns a specified number of threads. Threads concurrently attempt to
-bind (), resolve (), and unbind () the object reference.
-
-Expected Output (produced by the output processing script):
-
-Multithreaded output is ok
-
-The output of the actual test varies from run to run, due to the
-variation in the thread scheduling. Correct output must have the
-following properties (these are the properties that the processing
-script checks for):
-1) number of bind () calls = number of resolve () calls = number of
-unbind () calls = number of threads specified for the test
-2) number of successful bind () calls = number of successful unbind () calls.
-
-*******************************************
-
-Tree Test.
-
-Checks all Naming Service functions with a tree of Naming Contexts.
-
-root->bind_new_context (level1)
-
-new = root->new_context (), new->bind (foo, obj), and
- root->bind_context (level1/level2, new)
-
-We now have root->level1->level2->foo
-
-root->resolve (level1/level2/foo).
-root->unbind (level1/level2/foo).
-root->bind (level1/level2/foo, obj).
-
-new = root->new_context()
-root->rebind_context(level1/level2, new)
-
-root->bind (level1/level2/foo obj)
-root->resolve (level1/level2/foo)
-root->rebind (level1/level2/foo, obj2) to have a different object under the name bar.
-root->resolve (level1/level2/foo) to make sure correct reference is returned.
-
-
-Expected Output:
-
-All funtions work properly
-********************************************
-
-Exceptions Test.
-
-Makes sure that Naming Service throws exceptions as expected, and data
-inside exceptions is set correctly.
-
-Create a tree of Naming Contexts: root context -> level1 -> level2.
-
-Bind an object with the name foo into each of the Naming Contexts.
-
-root->resolve () (with a Name of length 0) - should get InvalidName exception.
-root->bind (foo, obj) - should get AlreadyBound exception.
-root->bind (level1/foo, obj) - should get AlreadyBound exception.
-root->unbind (level1/level2/bar) - should get NotFound exception
- with why = missing_node, rest_of_name = bar.
-root->unbind (level1/level3/foo) - should get NotFound exception
- with why = missing_node, rest_of_name = level3/foo.
-root->unbind (level1/foo/foo) -should get NotFound exception
- with why = not_context, rest_of_name = foo/foo.
-
-
-Expected Output:
-
-AlreadyBound exception (case 1) works properly
-AlreadyBound exception (case 2) works properly
-NotFound exception (case 1) works properly
-NotFound exception (case 2) works properly
-NotFound exception (case 3) works properly
-
-*********************************************
-
-Iterator Test.
-
-Checks iterator functions.
-
-Bind () objects with the following names foo1, foo2, foo3, and foo4
-into the root Naming Context.
-
-root->lists (1, bl, iter)
-iter->next_one ()
-iter->next_n (2, bl)
-iter->next_one () - should return false
-iter->destroy ()
-
-
-Expected Output:
-
-First binding: foo1
-Second binding: foo2
-Third binding: foo3
-Fourth binding: foo4
-
-*********************************************
-
-Destroy Test.
-
-Makes sure destroy method is working properly.
-
-Create a context and bind an object under it.
-Attempt to destroy the context - NotEmpty exception should be raised.
-
-Unbind the object and call destroy on the context.
-Attempt to call destroy on the object again - OBJECT_NOT_EXIST
-exception should be raised.
-
-
-Expected Output:
-
-NotEmpty exception works properly
-Destroy works properly
-
-********************************************
-
-Persistent Test (part 1).
-
-Makes sure persistence mode of the Naming Service functions properly:
-this test sets things up for part 2
-
-Creates the Naming Context hierarchy:
-root -> level1_context -> level2_context,
-and prints out the ior of the <level1_context> to the specified file.
-
-
-Expected Output:
-
-Persistent Naming test (part 1) OK.
-
-********************************************
-Persistent Test (part 2).
-
-Makes sure persistence mode of the Naming Service functions properly.
-
-Attempts to resolve <level2_context> both through the ior obtained
-from part 1 of the test, and through the Naming Context obtained from
-<resolve_initial_references>. Compares the results of both resolve ()
-calls.
-
-Expected Output:
-
-Persistent Naming test (part 2) OK.
-
-********************************************