Testing

1. Verifying the installation

In order to test the GridWay installation, login as your user account, in the single-mode installation, or as the <gwadmin> account, in the multiple-user installation, and follow the steps listed below:

  1. Set up the environment variables GW_LOCATION and PATH:

    	$ export GW_LOCATION=<path_to_GridWay_installation>
    	$ export PATH=$PATH:$GW_LOCATION/bin

    or

    	$ setenv GW_LOCATION <path_to_GridWay_installation>
    	$ setenv PATH $PATH:$GW_LOCATION/bin

    depending on the shell you are using.

  2. Generate a valid proxy

    	$ grid-proxy-init
    	Your identity: /O=Grid/OU=GRIDWAY/CN=GRIDWAY User
    	Enter GRID pass phrase for this identity:
    	Creating proxy ................................. Done
    	Your proxy is valid until: Mon Oct 29 03:29:17 2005

  3. Show the GridWay license:

    	$ gwd -v
    	Copyright 2002-2008 GridWay Team, Distributed Systems Architecture
    	Group, Universidad Complutense de Madrid
    
    	GridWay 5.4 is distributed and licensed for use under the terms of the
    	Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0).

  4. Start the GridWay daemon (GWD) (in multiple-mode add the -m option):

    $ gwd

  5. Check the connection to GWD:

    	$ gwps
    	USER         JID DM   EM   START    END      EXEC    XFER    EXIT NAME            HOST
    	$ gwhost
    	HID PRIO  OS              ARCH   MHZ %CPU  MEM(F/T)     DISK(F/T)     N(U/F/T) LRMS                 HOSTNAME

  6. Stop GWD:

    $ pkill gwd

To perform more sophisticated tests, check the User Guide. If you experience problems, check Troubleshooting.

2. Test Suite

GridWay is shipped with a test suite, available in the test directory. The test suite exercises different parts of GridWay, and can be used to track functionality bugs. However you need a working GridWay installation and testbed to execute the suite. Usage information is available with "gwtest -h". Tests can be performed individually (using the test id) or all together automatically.

Table 1. GridWay tests description.

Test #Test NameDescription
1Normal Execution (SINGLE)Submits a single job and verifies it is executed correctly
2Normal Execution (BULK)Submits an array of 5 jobs and verifies that all of them are executed correctly.
3Pre WrapperVerifies that GridWay is able to execute the pre wrapper functionality.
4Prolog Fail (Fake Stdin) No RescheduleSubmits a single job that fails in the prolog state due to a wrong input file for stdin.
5Prolog Fail (Fake Stdin) RescheduleEqual to the previous one, but GridWay tries to reschedule the job up to 2 times.
6Prolog Fail (Fake Input File) No RescheduleSame as #4 with a wrong input file for the executable.
7Prolog Fail (Fake Executable) No RescheduleSame as #4 with a wrong filename for the executable.
8Prolog Fail (Fake Executable) No RescheduleSame as #4 with a wrong filename for the executable.
9Prolog Fail (Fake Stdin) No Reschedule (BULK)Same as #4 submitting an array of 5 jobs.
10Execution Fail No RescheduleSubmits a single job designed to fail (bad exit code) and verifies the correctness of the final state (failed).
11Execution Fail RescheduleSame as #9 but GridWay tries to reschedule the job up to 2 times.
12Hold ReleaseSubmits a single job on hold, releases it and verifies that it is executed correctly.
13Stop ResumeSubmits a single job, stops it (in Wrapper state), resumes it and verifies that it is executed correctly.
14Kill SyncSubmits a job and kills it using a synchronous signal.
15Kill AsyncSubmits a job and kills it using an asynchronous signal.
16Kill HardSubmits a job and hard kills it.
17MigrateSubmits a job and sends a migrate signal when it reaches the Wrapper state. It then verifies the correct execution of the job.
18Checkpoint localSubmits a job which creates a checkpoint file and verifies the correct execution of the job and the correct creation of the checkpoint file.
19Checkpoint remote serverSame as #17 but the checkpoint file is created in a remote gsiftp server.
20Wait TimeoutSubmits a job and waits for it repeatedly using short timeouts until it finishes correctly.
21Wait ZerotimeoutSame as #19 but with zero timeout (effectively, an asynchronous wait).
22Input Output filesTests the different methods GridWay offers to stage files (both input and output).
23Epilog Fail (Fake Output) No RescheduleSubmits a single job that fails in the epilog state due to a wrong output filename.
24Epilog Fail (Fake Output) RescheduleSame as #22 but GridWay tries to reschedule the job up to 2 times.
25Epilog Fail (Fake Output) No Reschedule (BULK)Same as #22 but submitting an array of 5 jobs.

3. DRMAA Test Suite

GridWay also ships with a DRMAA test suite, conceived to test the DRMAA Java implementations. Download and untar the following tarball, then follow the instructions found in the README file.