| [0bdd51b] | 1 | ### fragment the molecule and check the number of configs | 
|---|
|  | 2 |  | 
|---|
| [e70b9d] | 3 | AT_SETUP([Fragmentation - Automation: Server/Worker]) | 
|---|
|  | 4 | AT_KEYWORDS([fragmentation automation server worker]) | 
|---|
| [0bdd51b] | 5 |  | 
|---|
| [03195a] | 6 | # check that ports are unique over all tests such that they may run in parallel | 
|---|
| [db03d9] | 7 | WORKERPORT=1025 | 
|---|
|  | 8 | CONTROLLERPORT=1026 | 
|---|
| [e8f397] | 9 | WORKERLISTENPORT=1027 | 
|---|
| [0bdd51b] | 10 |  | 
|---|
|  | 11 | # start service in background | 
|---|
| [db03d9] | 12 | ${AUTOTEST_PATH}/Fragmentation/Automation/Server $WORKERPORT $CONTROLLERPORT & | 
|---|
| [03195a] | 13 | server_pid=$! | 
|---|
|  | 14 | AT_CHECK([sleep 1], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
| [0bdd51b] | 15 |  | 
|---|
| [d1dbfc] | 16 | # add one jobs | 
|---|
| [554809] | 17 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Controller 127.0.0.1 $CONTROLLERPORT createjobs "cat" "Nothing"], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
| [778abb] | 18 |  | 
|---|
| [e8f397] | 19 | # enlist a worker to work on jobs | 
|---|
|  | 20 | ${AUTOTEST_PATH}/Fragmentation/Automation/PoolWorker 127.0.0.1 $WORKERPORT 127.0.0.1 $WORKERLISTENPORT & | 
|---|
|  | 21 | worker_pid=$! | 
|---|
|  | 22 | AT_CHECK([sleep 2], 0, [ignore], [ignore], [kill $server_pid $worker_pid]) | 
|---|
| [db03d9] | 23 |  | 
|---|
| [e8f397] | 24 | # send kill signal to worker such that it shuts down | 
|---|
|  | 25 | AT_CHECK([kill -INT $worker_pid], 0, [stdout], [ignore], [kill $server_pid $worker_pid]) | 
|---|
|  | 26 |  | 
|---|
|  | 27 | # check number of done jobs | 
|---|
| [7ca772e] | 28 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Controller 127.0.0.1 $CONTROLLERPORT checkresults], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
| [e8f397] | 29 | AT_CHECK([fgrep "#0 are waiting in the queue and #1 jobs are calculated so far." stdout], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
| [3c4a5e] | 30 |  | 
|---|
| [7ca772e] | 31 | # shutdown controller socket | 
|---|
|  | 32 | AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Controller 127.0.0.1 $CONTROLLERPORT shutdown], 0, [stdout], [ignore], [kill $server_pid]) | 
|---|
| [0196c6] | 33 |  | 
|---|
| [0bdd51b] | 34 | # check that server is truely down | 
|---|
| [03195a] | 35 | AT_CHECK([sleep 1], 0, [ignore], [ignore], [kill $server_pid]) | 
|---|
|  | 36 | AT_CHECK([kill $server_pid], 1, [ignore], [ignore]) | 
|---|
| [0bdd51b] | 37 |  | 
|---|
|  | 38 | AT_CLEANUP | 
|---|