Index: tests/regression/Fragmentation/Automation/testsuite-fragmentation-automation-completerun.at
===================================================================
--- tests/regression/Fragmentation/Automation/testsuite-fragmentation-automation-completerun.at	(revision fb2324b496d0bc0e217e446455628f8e1d0b0aa5)
+++ tests/regression/Fragmentation/Automation/testsuite-fragmentation-automation-completerun.at	(revision fb2324b496d0bc0e217e446455628f8e1d0b0aa5)
@@ -0,0 +1,53 @@
+### fragment the molecule and check the number of configs
+
+AT_SETUP([Fragmentation - Automation: Complete run])
+AT_KEYWORDS([fragmentation automation jobadder resultgetter resultchecker server shutdowner worker])
+
+# check that ports are unique over all tests such that they may run in parallel
+WORKERPORT=1050
+CONTROLLERPORT=1051
+
+# start service in background
+${AUTOTEST_PATH}/Fragmentation/Automation/Server $WORKERPORT $CONTROLLERPORT &
+server_pid=$!
+AT_CHECK([sleep 1], 0, [ignore], [ignore], [kill $server_pid])
+
+# add two jobs via JobAdder
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/JobAdder 127.0.0.1 $CONTROLLERPORT 2], 0, [stdout], [ignore], [kill $server_pid])
+AT_CHECK([fgrep "Sending 2 jobs ..." stdout], 0, [ignore], [ignore], [kill $server_pid])
+AT_CHECK([fgrep "Operation completed" stdout], 0, [ignore], [ignore], [kill $server_pid])
+# Checking results
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultChecker 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid])
+AT_CHECK([fgrep "0 jobs are calculated so far." stdout], 0, [ignore], [ignore], [kill $server_pid])
+# start working
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Worker 127.0.0.1 $WORKERPORT], 0, [stdout], [ignore], [kill $server_pid])
+AT_CHECK([fgrep "Calculating job #1" stdout], 0, [ignore], [ignore], [kill $server_pid])
+# Checking results
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultChecker 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid])
+AT_CHECK([fgrep "1 jobs are calculated so far." stdout], 0, [ignore], [ignore], [kill $server_pid])
+# get first result
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultGetter 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid])
+AT_CHECK([fgrep "Received 1 results" stdout], 0, [ignore], [ignore], [kill $server_pid])
+AT_CHECK([fgrep -c "Nothing" stdout], 0, [stdout], [ignore], [kill $server_pid])
+AT_CHECK([grep "1" stdout], 0, [ignore], [ignore], [kill $server_pid])
+# work some more
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Worker 127.0.0.1 $WORKERPORT], 0, [stdout], [ignore], [kill $server_pid])
+AT_CHECK([fgrep "Calculating job #2" stdout], 0, [ignore], [ignore], [kill $server_pid])
+# Checking results
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultChecker 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid])
+AT_CHECK([fgrep "1 jobs are calculated so far." stdout], 0, [ignore], [ignore], [kill $server_pid])
+# get second result
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultGetter 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid])
+AT_CHECK([fgrep "Received 1 results" stdout], 0, [ignore], [ignore], [kill $server_pid])
+AT_CHECK([fgrep -c "Nothing" stdout], 0, [stdout], [ignore], [kill $server_pid])
+# get no more results
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultGetter 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid])
+AT_CHECK([grep "Nothing" stdout], 1, [ignore], [ignore], [kill $server_pid])
+# shutdown
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Shutdowner 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid])
+
+# check that server is truely down
+AT_CHECK([sleep 1], 0, [ignore], [ignore], [kill $server_pid])
+AT_CHECK([kill $server_pid], 1, [ignore], [ignore])
+
+AT_CLEANUP
Index: tests/regression/Fragmentation/Automation/testsuite-fragmentation-automation-server-worker.at
===================================================================
--- tests/regression/Fragmentation/Automation/testsuite-fragmentation-automation-server-worker.at	(revision c837ad09370c4c1c8890297774ef426315ec3856)
+++ tests/regression/Fragmentation/Automation/testsuite-fragmentation-automation-server-worker.at	(revision fb2324b496d0bc0e217e446455628f8e1d0b0aa5)
@@ -13,6 +13,6 @@
 AT_CHECK([sleep 1], 0, [ignore], [ignore], [kill $server_pid])
 
-# add two jobs 
-AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/JobAdder 127.0.0.1 $CONTROLLERPORT 2], 0, [ignore], [ignore], [kill $server_pid])
+# add one jobs
+AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/JobAdder 127.0.0.1 $CONTROLLERPORT 1], 0, [ignore], [ignore], [kill $server_pid])
 
 # first worker has a job
@@ -24,12 +24,4 @@
 AT_CHECK([fgrep "1 jobs are calculated so far" stdout], 0, [ignore], [ignore], [kill $server_pid])
 
-# second worker has a job, but then there are no more, hence socket powered down
-AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Worker 127.0.0.1 $WORKERPORT], 0, [stdout], [ignore], [kill $server_pid])
-AT_CHECK([fgrep "Job id: 2" stdout], 0, [ignore], [ignore], [kill $server_pid])
-
-# get results
-AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/ResultGetter 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [pkill Server])
-AT_CHECK([fgrep "Received 2 results" stdout], 0, [ignore], [ignore], [pkill Server])
-
 # shutdown controller socket
 AT_CHECK([${AUTOTEST_PATH}/Fragmentation/Automation/Shutdowner 127.0.0.1 $CONTROLLERPORT], 0, [stdout], [ignore], [kill $server_pid])
Index: tests/regression/Fragmentation/testsuite-fragmentation.at
===================================================================
--- tests/regression/Fragmentation/testsuite-fragmentation.at	(revision c837ad09370c4c1c8890297774ef426315ec3856)
+++ tests/regression/Fragmentation/testsuite-fragmentation.at	(revision fb2324b496d0bc0e217e446455628f8e1d0b0aa5)
@@ -21,2 +21,5 @@
 # check whether Server/Client construct for automatized calculation is working
 m4_include([Fragmentation/Automation/testsuite-fragmentation-automation-server-worker.at])
+
+# check whether complete run works
+m4_include([Fragmentation/Automation/testsuite-fragmentation-automation-completerun.at])
Index: tests/regression/Makefile.am
===================================================================
--- tests/regression/Makefile.am	(revision c837ad09370c4c1c8890297774ef426315ec3856)
+++ tests/regression/Makefile.am	(revision fb2324b496d0bc0e217e446455628f8e1d0b0aa5)
@@ -70,4 +70,5 @@
 	$(srcdir)/Fragmentation/Automation/testsuite-fragmentation-automation-addingjobs.at \
 	$(srcdir)/Fragmentation/Automation/testsuite-fragmentation-automation-checkstate.at \
+	$(srcdir)/Fragmentation/Automation/testsuite-fragmentation-automation-completerun.at \
 	$(srcdir)/Fragmentation/Automation/testsuite-fragmentation-automation-getresults.at \
 	$(srcdir)/Fragmentation/Automation/testsuite-fragmentation-automation-server-shutdown.at \
