Remote Test Demonstration. This demo contains a remote test case, so it needs Distributed TETware to run. This test assumes that Distributed TETware has been setup to use the "inet" transport mechanism. In this demonstration, the master machine controls tests running on a set of slave machines. This is an example of how a set of tests designed to be run on a single machine can be made to run on many machines simultaneously controlled by a single invocation of tcc. The test cases consist of the simple demo C API tests. Initially there are two remote clients. What you must do: 0) Establish the environment for running Distributed TETware on each machine that intends to participate. You can also run this on one physical machine with multiple logical slave machines if your machine supports the concept of localhost. The default setup below assumes that the localhost will be used. Ensure that your TET_ROOT environment variable points to the tet root directory of a Distributed TETware setup. Ensure that your user ID is the same as the tet user , or the user that in.tccd is running as (see the inetd.conf entry). 1) Change directory to $TET_ROOT/contrib/remotedemo Run the setup script, thus: sh setup.sh This script creates the distributed configuration file (tetdist.cfg) file which contains the correct values of tet-root for your machine, it also unbundles two test suite roots used by the tests. The default setup assumes that the slave machines are running from localhost and will share the same tet-root. The Test Suite roots are the remclient1, remclient2 subdirectories within the remotedemo directory. Review the tetdist.cfg and the systems file. The tetdist.cfg contains descriptions of TET_ROOT and TS_ROOT information for 10 remote hosts. The systems file, by default, maps all those remote hosts to localhost. Copy the systems file from this directory to $TET_ROOT/systems. 2) Build the test cases, thus: tcc -bp contrib/remotedemo 3) Examine the journal. You should see the results of building the test cases. Note that if the build fails you may need to edit the makefiles within the remclient?/tset directories. This particular demo may need the SYSLIBS entry changing if your system does not include networking interfaces in a default compilation. A production test suite should parameterise this and use a buildtool to pass the parameter to make. 4) Execute the test cases, thus: tcc -ep contrib/remotedemo 5) Examine the journal. You should see the results of executing the test cases. 6) Examine the tet_scen file and run some of the other scenarios. For example: tcc -ep contrib/remotedemo parallel tcc -ep contrib/remotedemo random tcc -ep contrib/remotedemo soak tcc -ep contrib/remotedemo enhanced 7) These next stages of this demonstration can be attempted if you have available another machine to act as a remote client. It is assumed that Distributed TETware is setup on that machine. Copy the remclient.tar file to the remote machine and unwind under the remote TET_ROOT directory. Note the location of TET_ROOT on the remote machine. 8) Edit the $TET_ROOT/systems file Change the entry for system 000 to include the real hostname or IP address of the master machine upon which this demo is being run. Change the entry for System 003 to include the host name or IP address of the remote machine that is joining the test demonstration. 9) Build the testcases on the third system tcc -pb contrib/remotedemo remote3only If tcc encounters an error , check the following: (i) Edit the tetdist.cfg and check that the entries for TET_REM003_TET_ROOT and TET_REM003_TET_TSROOT are correct for the remote system (ii) View the /tmp/tccdlog file on the remote machine. If necessary review the contents of the $TET_ROOT/systems.equiv file on the remote machine 10) Execute the testcases on the third system tcc -pe contrib/remotedemo remote3only Examine the journal. You should see the results of executing the test cases. 11) Edit the tet_scen file to add a third system to many of the scenarios and then re-execute the tests Change the all scenario from all :remote,1,2:^testcases to all :remote,1-3:^testcases tcc -ep contrib/remotedemo Examine the journal and verify that the third system is added. 12) Add several other system IDs to the :remote: directive. Points to note: a) Systems 0 -> 10 have been set up, so you can use any of these in your system list. b) A system can only appear once in the list. c) System ID 0 is defined in the code as the server, so it must always be in the list. d) You will need to add appropriate TS_ROOTs. ______________ Copyright (c) 1999 The Open Group All Rights Reserved No unauthorized reproduction without prior written permission.