| [fb2324] | 1 | ### fragment the molecule and check the number of configs | 
|---|
|  | 2 |  | 
|---|
|  | 3 | AT_SETUP([Fragmentation - Automation: Complete run]) | 
|---|
|  | 4 | AT_KEYWORDS([fragmentation automation jobadder resultgetter resultchecker server shutdowner worker]) | 
|---|
|  | 5 |  | 
|---|
|  | 6 | # check that ports are unique over all tests such that they may run in parallel | 
|---|
|  | 7 | WORKERPORT=1050 | 
|---|
|  | 8 | CONTROLLERPORT=1051 | 
|---|
|  | 9 |  | 
|---|
|  | 10 | # start service in background | 
|---|
|  | 11 | ${AUTOTEST_PATH}/Fragmentation/Automation/Server $WORKERPORT $CONTROLLERPORT & | 
|---|
|  | 12 | server_pid=$! | 
|---|
|  | 13 | AT_CHECK([sleep 1], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
|  | 14 |  | 
|---|
|  | 15 | # add two jobs via JobAdder | 
|---|
|  | 16 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/JobAdder 127.0.0.1 $CONTROLLERPORT 2], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 17 | AT_CHECK([fgrep "Sending 2 jobs ..." stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
|  | 18 | # Checking results | 
|---|
|  | 19 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultChecker 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 20 | AT_CHECK([fgrep "0 jobs are calculated so far." stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
|  | 21 | # start working | 
|---|
|  | 22 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Worker 127.0.0.1 $WORKERPORT], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 23 | AT_CHECK([fgrep "Calculating job #1" stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
| [167b63] | 24 | # Checking results | 
|---|
| [fb2324] | 25 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultChecker 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 26 | AT_CHECK([fgrep "1 jobs are calculated so far." stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
| [167b63] | 27 | # get first result | 
|---|
| [fb2324] | 28 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultGetter 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 29 | AT_CHECK([fgrep "Received 1 results" stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
|  | 30 | AT_CHECK([fgrep -c "Nothing" stdout], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 31 | AT_CHECK([grep "1" stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
|  | 32 | # work some more | 
|---|
|  | 33 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Worker 127.0.0.1 $WORKERPORT], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 34 | AT_CHECK([fgrep "Calculating job #2" stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
|  | 35 | # Checking results | 
|---|
|  | 36 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultChecker 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 37 | AT_CHECK([fgrep "1 jobs are calculated so far." stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
|  | 38 | # get second result | 
|---|
|  | 39 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultGetter 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 40 | AT_CHECK([fgrep "Received 1 results" stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
| [167b63] | 41 | AT_CHECK([fgrep -c "Nothing" stdout], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 42 | AT_CHECK([grep "1" stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
|  | 43 | # get no more results | 
|---|
| [fb2324] | 44 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultGetter 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
| [167b63] | 45 | AT_CHECK([grep "Nothing" stdout], 1, [ignore], [ignore], [kill $server_pid]) | 
|---|
| [fb2324] | 46 | # shutdown | 
|---|
|  | 47 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Shutdowner 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
|  | 48 |  | 
|---|
|  | 49 | # check that server is truely down | 
|---|
|  | 50 | AT_CHECK([sleep 1], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
|  | 51 | AT_CHECK([kill $server_pid], 1, [ignore], [ignore]) | 
|---|
|  | 52 |  | 
|---|
|  | 53 | AT_CLEANUP | 
|---|