diff --git a/Makefile b/Makefile
index bda2ec1ecd45582906501f5452c3a899e64c9f97..82a1d2dade59fdd804ada1d420d36bc71f2cbf03 100644
--- a/Makefile
+++ b/Makefile
@@ -170,7 +170,7 @@ force-reconfigure:
 
 TESTS=builtins callgraph cil constant_propagation float idct impact jcdb journal libc metrics misc occurrence pdg rte rte_manual scope slicing sparecode spec syntax test value
 
-PLUGIN_TESTS= dive loop_analysis markdown-report nonterm
+PLUGIN_TESTS= dive loop_analysis markdown-report nonterm server
 
 tests: config.sed
 	find tests $(addprefix src/plugins/,$(addsuffix /tests,$(PLUGIN_TESTS))) -name dune | grep -e "oracle.*/\|result.*/" | xargs --no-run-if-empty rm
diff --git a/src/plugins/server/.gitignore b/src/plugins/server/.gitignore
index b0b245fa88d9c44f0f151fcb0d3f6d2772c9db72..2da34c702bc6458d352da4d681c3928c90cca5ee 100644
--- a/src/plugins/server/.gitignore
+++ b/src/plugins/server/.gitignore
@@ -1,3 +1,3 @@
 /Makefile
-/tests/ptests_config
-/tests/report/result
+/tests/*/result
+/tests/**/dune
diff --git a/src/plugins/server/tests/batch/oracle/ast_services.res.oracle b/src/plugins/server/tests/batch/oracle/ast_services.res.oracle
index a8f90aa0a6d671e36dba1e3b22545359a61e4a4e..15b0b57e6a79ecf84410bc2c9c07555e17b08fad 100644
--- a/src/plugins/server/tests/batch/oracle/ast_services.res.oracle
+++ b/src/plugins/server/tests/batch/oracle/ast_services.res.oracle
@@ -1,11 +1,11 @@
-[kernel] Parsing tests/batch/ast_services.i (no preprocessing)
-[server] Script "tests/batch/ast_services.json"
+[kernel] Parsing ast_services.i (no preprocessing)
+[server] Script "ast_services.json"
 [server] [GET] kernel.ast.fetchFunctions
 [server] [GET] kernel.ast.fetchFunctions
 [server] [GET] kernel.ast.printFunction
 [server] [GET] kernel.ast.printFunction
 [server] [GET] kernel.ast.printFunction
 [server] User Error: [kernel.ast.printFunction] Undefined function 'h'
-[server] Output "tests/batch/result/ast_services.out.json"
+[server] Output "./ast_services.out.json"
 [server] User Error: Deferred error message was emitted during execution. See above messages for more information.
 [kernel] Plug-in server aborted: invalid user input.
diff --git a/src/plugins/server/tests/batch/oracle/kernel_services.res.oracle b/src/plugins/server/tests/batch/oracle/kernel_services.res.oracle
index ac2abc0997009d1b6ec051d377c7addf128a0698..cfe7aa03c234140d89f777c9ea77f135d936e700 100644
--- a/src/plugins/server/tests/batch/oracle/kernel_services.res.oracle
+++ b/src/plugins/server/tests/batch/oracle/kernel_services.res.oracle
@@ -1,5 +1,5 @@
-[kernel] Parsing tests/batch/kernel_services.i (no preprocessing)
-[server] Script "tests/batch/kernel_services.json"
+[kernel] Parsing kernel_services.i (no preprocessing)
+[server] Script "kernel_services.json"
 [server] [GET] kernel.services.getLogs
 [server] [SET] kernel.services.setLogs
-[server] Output "tests/batch/result/kernel_services.out.json"
+[server] Output "./kernel_services.out.json"
diff --git a/src/plugins/server/tests/batch/oracle/wrong.res.oracle b/src/plugins/server/tests/batch/oracle/wrong.res.oracle
index 76ac96361f0316a6703142ce491f2500e89790ee..c583023e7fc4a0b610c5ee23f6be36b29bf917ee 100644
--- a/src/plugins/server/tests/batch/oracle/wrong.res.oracle
+++ b/src/plugins/server/tests/batch/oracle/wrong.res.oracle
@@ -1,9 +1,9 @@
-[kernel] Parsing tests/batch/wrong.i (no preprocessing)
-[server] Script "tests/batch/wrong.json"
+[kernel] Parsing wrong.i (no preprocessing)
+[server] Script "wrong.json"
 [server] User Error: [batch] "unknown request": request "kernel.unknown" not found
 [server] [GET] kernel.ast.printFunction
 [server] User Error: [kernel.ast.printFunction] Expected string, got object:
   { "f1": 1, "f2": { "x": 1, "y": 2 }, "f3": null }
-[server] Output "tests/batch/result/wrong.out.json"
+[server] Output "./wrong.out.json"
 [server] User Error: Deferred error message was emitted during execution. See above messages for more information.
 [kernel] Plug-in server aborted: invalid user input.
diff --git a/src/plugins/server/tests/batch/test_config b/src/plugins/server/tests/batch/test_config
index 15a16cd4f95d4ced405bb04b6a13382efcd47e7f..dcc28f9c11b3006d573f834e68ebffa996e11d4d 100644
--- a/src/plugins/server/tests/batch/test_config
+++ b/src/plugins/server/tests/batch/test_config
@@ -1,2 +1,3 @@
+PLUGIN: server
 LOG: @PTEST_NAME@.out.json
-OPT: -no-autoload-plugins -load-module server -check -server-batch @PTEST_DIR@/@PTEST_NAME@.json -server-batch-output-dir @PTEST_RESULT@
+OPT: -check -server-batch %{dep:@PTEST_NAME@.json} -server-batch-output-dir .
diff --git a/src/plugins/server/tests/ptests_config b/src/plugins/server/tests/ptests_config
new file mode 100644
index 0000000000000000000000000000000000000000..588227adac2e57043d0d7d8c738977298023db9a
--- /dev/null
+++ b/src/plugins/server/tests/ptests_config
@@ -0,0 +1 @@
+DEFAULT_SUITES= batch