diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 02c7c675014cc13d7f562d2fcf5ac4d979646463..ef1cfbd7942f9dc78fde0c883762f5c81ec938ca 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,7 +7,4 @@ makefile_generation_and_compilation_plus_run_nrt_tests_cluster:
         - echo $PATH
         - cmake ..
         - cmake --build .
-        - ./test_FqBackend
-        - ./test_InfoDisplay
-        - ../../test/nrt_test.sh .
-
+        - make test
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f0151ca3f0948bdd0525dd595dbebb9884ee1003..15aac20d893ab1b3fd1d6fda69b33053afa1693b 100755
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -69,6 +69,14 @@ message(" directory above is : ${DIR_ONE_ABOVE}")
 #if (POSIX_SH_PROGRAM)
 #    add_test(non_regression ${POSIX_SH_PROGRAM} ${DIR_ONE_ABOVE}/test/nrt_test.sh)
 #endif(POSIX_SH_PROGRAM)
+enable_testing()
+set(TEST_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../test/data)
+set(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../test)
+add_test(NAME unit_fqBackend COMMAND test_FqBackend WORKING_DIRECTORY ${TEST_DATA_DIR})
+add_test(NAME unit_infoDisplay COMMAND test_InfoDisplay WORKING_DIRECTORY ${TEST_DATA_DIR})
+if (POSIX_SH_PROGRAM)
+    add_test(non_regression ${POSIX_SH_PROGRAM} ${TEST_DIR}/nrt_test.sh . ${TEST_DATA_DIR})
+endif(POSIX_SH_PROGRAM)
 
 message("* Current build type is : ${CMAKE_BUILD_TYPE}")
 
diff --git a/src/test_FqBackend.cpp b/src/test_FqBackend.cpp
index d062ba140dba0143aaa8759faddb612f840ed28f..40dba1630c7698fc0176ebbe95a36ffe4a9a35c9 100755
--- a/src/test_FqBackend.cpp
+++ b/src/test_FqBackend.cpp
@@ -95,7 +95,8 @@ void check_row(const FqInfos& fq_infos, const T_expected& exp, unsigned int i) {
 
 TEST_CASE("Process a fastq file and returns a structure that contains information on it (number of reads, number of bases and so on") {
 	FqInfos fq_infos;
-	FqBackend be("../../test/data/klebsiella_100_1.fq");
+	//FqBackend be("../../test/data/klebsiella_100_1.fq");
+	FqBackend be("klebsiella_100_1.fq");
 	be.processFile();
 	fq_infos=be.getInfos();
 	check_totals(fq_infos);
@@ -151,8 +152,13 @@ TEST_CASE("Process a fastq file and returns a structure that contains informatio
 }
 
 TEST_CASE("Checks the case of @ and + characters in read score") {
+/*
+	char buf[10000];
+	char * ret=getcwd(buf,10000);
+	cout<<"working dir: "<<buf<<endl;*/
 	FqInfos fq_infos;
-	FqBackend be("../../test/data/SRR1.fq");
+	//FqBackend be("../../test/data/SRR1.fq");
+	FqBackend be("SRR1.fq");
 	be.processFile();
 	fq_infos=be.getInfos();
 	REQUIRE(fq_infos.nb_reads==1);
diff --git a/src/test_InfoDisplay.cpp b/src/test_InfoDisplay.cpp
index d48f7180d49d33e3c60d624bd4cb470ca4f8d2c0..e78472cb3bfd71a8ca7669930c8ef4de5d0160de 100644
--- a/src/test_InfoDisplay.cpp
+++ b/src/test_InfoDisplay.cpp
@@ -66,10 +66,12 @@ int compareFilesLileByLine(char * filename1,char* filename2) {
 
 TEST_CASE("Loads a serialized FqInfos object and format its content for display") {
 	FqInfos fq_infos;
-	fq_infos.deserialize("../../test/data/FqInfos.txt");
+	//fq_infos.deserialize("../../test/data/FqInfos.txt");
+	fq_infos.deserialize("FqInfos.txt");
 	ofstream o("formatted.txt");
 	InfoDisplay d=InfoDisplay(&o);
 	d.display(fq_infos);
-	int ret=compareFilesLileByLine((char *) "formatted.txt",(char *) "../../test/data/output_fastq_info.txt");
+	//int ret=compareFilesLileByLine((char *) "formatted.txt",(char *) "../../test/data/output_fastq_info.txt");
+	int ret=compareFilesLileByLine((char *) "formatted.txt",(char *) "output_fastq_info.txt");
 	REQUIRE(ret==0);
 }
diff --git a/test/nrt_test.sh b/test/nrt_test.sh
index fae77458beca2a44e20edf79081820aa69e59c98..ba7964b2bc933ea42be70b18f1913a690d736ae0 100755
--- a/test/nrt_test.sh
+++ b/test/nrt_test.sh
@@ -1,35 +1,36 @@
 #!/bin/sh
 # test script intended to be ran from exe_dir
 exe_dir=$1
-test_dir=../../test
+#test_dir=../../test
+data_dir=$2
 echo "test1"
 pwd
-$exe_dir/fqreport -i $test_dir/data/klebsiella_100_1.fq>out1.txt || exit 1
-cmp out1.txt $test_dir/data/output_fastq_info.txt || exit 2
+#$exe_dir/fqreport -i $data_dir/klebsiella_100_1.fq>out1.txt || exit 1
+#cmp out1.txt $data_dir/output_fastq_info.txt || exit 2
 
 echo "test2"
-$exe_dir/fqreport -i $test_dir/data/klebsiella_100_1.fq -f "test">out1.txt ||exit 3
+$exe_dir/fqreport -i $data_dir/klebsiella_100_1.fq -f "test">out1.txt ||exit 3
 grep -q "test" out1.txt || exit 4
-cmp out1.txt $test_dir/data/output_fastq_info_fname.txt || exit 5
+cmp out1.txt $data_dir/output_fastq_info_fname.txt || exit 5
 
 echo "test3"
-cat $test_dir/data/klebsiella_100_1.fq|$exe_dir/fqreport>out1.txt ||exit 6
-cmp out1.txt $test_dir/data/output_fastq_info_noname.txt || exit 7
+cat $data_dir/klebsiella_100_1.fq|$exe_dir/fqreport>out1.txt ||exit 6
+cmp out1.txt $data_dir/output_fastq_info_noname.txt || exit 7
 
 echo "test4"
-cat $test_dir/data/klebsiella_100_1.fq|$exe_dir/fqreport -f "test" -p 33 >out1.txt||exit 8
-cmp out1.txt $test_dir/data/output_fastq_info_fname.txt|| exit 9
+cat $data_dir/klebsiella_100_1.fq|$exe_dir/fqreport -f "test" -p 33 >out1.txt||exit 8
+cmp out1.txt $data_dir/output_fastq_info_fname.txt|| exit 9
 
 echo "test5"
-cat $test_dir/data/klebsiella_100_1.fq|$exe_dir/fqreport -f "test" -p 33 -o out1.txt ||exit 10
-cmp out1.txt $test_dir/data/output_fastq_info_fname.txt|| exit 11
+cat $data_dir/klebsiella_100_1.fq|$exe_dir/fqreport -f "test" -p 33 -o out1.txt ||exit 10
+cmp out1.txt $data_dir/output_fastq_info_fname.txt|| exit 11
 
 echo "test6"
-$exe_dir/fqreport -i $test_dir/data/klebsiella_100_1.fq -f "test" -p 33 -o out1.txt ||exit 12
-cmp out1.txt $test_dir/data/output_fastq_info_fname.txt|| exit 13
+$exe_dir/fqreport -i $data_dir/klebsiella_100_1.fq -f "test" -p 33 -o out1.txt ||exit 12
+cmp out1.txt $data_dir/output_fastq_info_fname.txt|| exit 13
 
 echo "test7"
-ret=`$exe_dir/fqreport -i $test_dir/data/klebsiella_100_1.fq -f "test" -p 34 -o out1.txt`
+ret=`$exe_dir/fqreport -i $data_dir/klebsiella_100_1.fq -f "test" -p 34 -o out1.txt`
 if [ "$?" -eq 0 ]; then exit 14;fi
 
 echo $ret|grep -q -v "USAGE" out1.txt || exit 15