| 1 |
-------------------------------------------------------------------------- |
|---|
| 2 |
GWU Unified Testing Suite (GUTS) |
|---|
| 3 |
UPC/IO Testing Suite |
|---|
| 4 |
-------------------------------------------------------------------------- |
|---|
| 5 |
|
|---|
| 6 |
GUTS/IO is a specification compliance testing suite for Unified Parallel C (UPC) I/O library |
|---|
| 7 |
implementations. The latest UPC/IO specification (V1.02) was considered while developing our |
|---|
| 8 |
testing suite. It is designed by trying to follow the unit testing strategy as much as possible. |
|---|
| 9 |
That is, each function provided in UPC/IO specification is tested in a single unit. |
|---|
| 10 |
|
|---|
| 11 |
Requirements: |
|---|
| 12 |
------------- |
|---|
| 13 |
|
|---|
| 14 |
You need to have UPC/IO library successfully installed to use guts_io. In order to get more information |
|---|
| 15 |
on how to download and install the UPC/IO library please refer to the |
|---|
| 16 |
http://threads.seas.gwu.edu/sites/libupcio/wiki |
|---|
| 17 |
|
|---|
| 18 |
Also, you need to have a working latest specification compliant UPC compiler. |
|---|
| 19 |
|
|---|
| 20 |
How to use guts_io testing bench? |
|---|
| 21 |
--------------------------------- |
|---|
| 22 |
|
|---|
| 23 |
Basically, there is a script "guts_io.sh" provided for convenience. This script compiles and runs each |
|---|
| 24 |
unit inside the UPC/IO testing suite. Here, unit refers to each functionality or call specified in the |
|---|
| 25 |
UPC/IO Library Specifications. |
|---|
| 26 |
|
|---|
| 27 |
Usage : ./guts_io.sh [# of threads] |
|---|
| 28 |
|
|---|
| 29 |
In order to get the UPC Compiler flags, script is using the "upcio-config" which is created after installing |
|---|
| 30 |
the "libupcio" refer to http://threads.seas.gwu.edu/sites/libupcio/browser/posix/README for more information. |
|---|
| 31 |
|
|---|
| 32 |
How can I use guts_io to test a unit that I created? |
|---|
| 33 |
---------------------------------------------------- |
|---|
| 34 |
|
|---|
| 35 |
Please follow the API i.e "GULA_FAIL(error message)" for your error outputs, create your source file and just |
|---|
| 36 |
put the name of the additional units in ./src/units[_shared] file in a seperate line. |
|---|
| 37 |
You can then use the script as usual, as stated expanding the units is very flexible and easy. |
|---|
| 38 |
|
|---|