| Functionality | Behavior | Weightage |
| BasicCreateDestroy | Create/Destroy a meesage queue | 10 |
| CreateBigSize | Tries to create a message queue with too large a size | 3 |
| ReadFromUnopened | Tries to read from an unopened message queue | 3 |
| WriteToUnopened | Tries to write to an unopened message queue | 3 |
| DestroyTwice | Tries to destroy a message queue twice | 3 |
| DestroyUnopened | Tries to destroy an message queue with an invalid id | 3 |
| BasicReadWrite | Send followed by Receive, and compare | 15 |
| WriteOverflow | Tries to write a quantity larger than the message queue size | 5 |
| StressReadWrite | Stresses messages queue API by reading/writing lots of data | 15 |
|   |   |   |
| TOTAL |   | 60 |
At the shell prompt, typing:
/c/ppstart.exeshould output
Starting ping-pong tests... Starting process X (PING)... Starting process Y (PONG)... Process X sent PING, awaiting PONG, got 'PONG' Process Y sent PONG, awaiting PING, got 'PING' Process X sent PING, awaiting PONG, got 'PONG' Process Y sent PONG, awaiting PING, got 'PING' Process X sent PING, awaiting PONG, got 'PONG' Process Y sent PONG, awaiting PING, got 'PING' Process X sent PING, awaiting PONG, got 'PONG' Process Y sent PONG, awaiting PING, got 'PING' Process X sent PING, awaiting PONG, got 'PONG' Process Y sent PONG, awaiting PING, got 'PING' Process X (PING) is done ! Process Y (PONG) is done ! Ping-pong tests completed.
The 'Starting...' and 'Process ...done' may come in a different order, but no deadlock should occur. Obviously, X and Y are to be replaced by some pid's.
A correct run is worth 20 points.
At the shell prompt, typing:
/c/fstart.exeshould output
Starting fragmentation send/receive tests... Starting process X (Sender)... Starting process Y (Receiver)... Process Y (Receiver) received 5 bytes Process Y (Receiver) received 5 bytes Process X (Sender) sent 10 bytes Process Y (Receiver) received 5 bytes Process Y (Receiver) received 5 bytes Process X (Sender) sent 10 bytes Process Y (Receiver) received 5 bytes Process Y (Receiver) received 5 bytes Process X (Sender) sent 10 bytes Process Y (Receiver) received 5 bytes Process Y (Receiver) received 5 bytes Process X (Sender) sent 10 bytes Process Y (Receiver) received 5 bytes Process Y (Receiver) received 5 bytes Process X (Sender) sent 10 bytes Process X (Sender) is done ! Process Y (Receiver) is done ! Fragmentation tests completed.
The 'Starting...' / 'Process ...done' and 'sent' / 'received' (for one round) may come in a different order, but no deadlock should occur. Obviously, X and Y are to be replaced by some pid's.
A correct run is worth 20 points.