source: ThirdParty/JobMarket/tests/regression/testsuite-completerun.at

stable v1.7.0
Last change on this file was ab2e834, checked in by Frederik Heber <frederik.heber@…>, 3 months ago

Reduces JobMarket features for use in kubernetes clusters.

  • removes all functionality where we can enumerate the workers, enroll or remove them.
  • removes PoolGuard and CheckAlive functionality.
  • removes the shutdown thread: not needed as we don't wait for busy workers anymore.
  • removes WorkerPool. This is now handled by the kubernetes deployment.
  • TESTS: Removed respective unit and regression tests.
  • TESTS: Adapted regression tests as worker now needs to be present when first job is sent. Moreover, server needs to be equipped with worker host and port.
  • Property mode set to 100644
File size: 3.0 KB
Line 
1### fragment the molecule and check the number of configs
2
3AT_SETUP([Fragmentation - Automation: Complete run])
4AT_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
7WORKERPORT=11050
8CONTROLLERPORT=11051
9WORKERLISTENPORT=11052
10
11# start service in background
12${AUTOTEST_PATH}/JobMarketServer --workeraddress 127.0.0.1:$WORKERLISTENPORT --workerport $WORKERPORT --controllerport $CONTROLLERPORT &
13server_pid=$!
14AT_CHECK([sleep 1], 0, [ignore], [ignore], [kill $server_pid])
15
16# add a worker to work on jobs
17${AUTOTEST_PATH}/JobMarketPoolWorker -v 5 --signal 2 --server 127.0.0.1:${WORKERPORT} --hostname 127.0.0.1 --listen $WORKERLISTENPORT &
18worker_pid=$!
19
20# add three jobs via JobAdder
21AT_CHECK([${AUTOTEST_PATH}/JobMarketController --server 127.0.0.1:$CONTROLLERPORT --command createjobs --executable "cat" --jobcommand "Nothing" --times 3], 0, [stdout], [ignore], [kill $server_pid])
22AT_CHECK([fgrep "Sending 3 jobs ..." stdout], 0, [ignore], [ignore], [kill $server_pid])
23AT_CHECK([sleep 5], 0, [ignore], [ignore], [kill $server_pid $worker_pid])
24
25# send kill signal to worker such that it shuts down
26AT_CHECK([kill -INT $worker_pid], 0, [stdout], [ignore], [kill $server_pid $worker_pid])
27
28# Checking results
29AT_CHECK([${AUTOTEST_PATH}/JobMarketController --server 127.0.0.1:$CONTROLLERPORT --command checkresults], 0, [stdout], [ignore], [kill $server_pid $worker_pid])
30AT_CHECK([fgrep "#0 are waiting in the queue and #3 jobs are calculated so far." stdout], 0, [ignore], [ignore], [kill $server_pid $worker_pid])
31
32# get "no" results
33AT_CHECK([${AUTOTEST_PATH}/JobMarketController --server 127.0.0.1:$CONTROLLERPORT --command receiveresults], 0, [stdout], [ignore], [kill $server_pid $worker_pid])
34AT_CHECK([fgrep "Received 0 results" stdout], 0, [ignore], [ignore], [kill $server_pid $worker_pid])
35
36# Checking results
37AT_CHECK([${AUTOTEST_PATH}/JobMarketController --server 127.0.0.1:$CONTROLLERPORT --command checkresults], 0, [stdout], [ignore], [kill $server_pid $worker_pid])
38AT_CHECK([fgrep "#0 are waiting in the queue and #3 jobs are calculated so far." stdout], 0, [ignore], [ignore], [kill $server_pid $worker_pid])
39
40# get results
41AT_CHECK([${AUTOTEST_PATH}/JobMarketController --server 127.0.0.1:$CONTROLLERPORT --command receiveresults --ids 1 2 3], 0, [stdout], [ignore], [kill $server_pid $worker_pid])
42AT_CHECK([fgrep "Received 3 results" stdout], 0, [ignore], [ignore], [kill $server_pid $worker_pid])
43AT_CHECK([fgrep -c "Nothing" stdout], 0, [stdout], [ignore], [kill $server_pid $worker_pid])
44AT_CHECK([grep "3" stdout], 0, [ignore], [ignore], [kill $server_pid $worker_pid])
45
46# shutdown
47AT_CHECK([${AUTOTEST_PATH}/JobMarketController --server 127.0.0.1:$CONTROLLERPORT --command shutdown], 0, [stdout], [ignore], [kill $server_pid $worker_pid])
48
49# check that server is truely down
50AT_CHECK([sleep 1], 0, [ignore], [ignore], [kill $server_pid $worker_pid])
51AT_CHECK([kill $server_pid $worker_pid], 1, [ignore], [ignore])
52
53AT_CLEANUP
Note: See TracBrowser for help on using the repository browser.