diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e8dde536513aa0d1453ff40f16d7ab68bccdbb93
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,34 @@
+# Includes a common template
+include:
+ - project: 'spc/tcv/tbx/git-tools-spc'
+   file: 'gitlab-ci-tbx-template.yml'
+
+# no build for gdat, so don't define jobs for this phase
+
+.deploy: # do later
+  extends: .deploy-to-lac-template
+
+test-matlab850-basic:
+  extends: .test-template
+  before_script:
+  - cd matlab
+  variables:
+    MATLABCMD: matlab850
+    TESTARGUMENT: basic
+
+test-matlab920:
+  extends: .test-template
+  before_script:
+  - cd matlab
+  variables:
+    MATLABCMD: matlab920
+
+.test-matlab850-deployed:
+  extends: .test-template-deployed
+  variables:
+    MATLABCMD: matlab850
+
+.test-matlab920-deployed:
+  extends: .test-template-deployed
+  variables:
+    MATLABCMD: matlab920
diff --git a/matlab/run_gdat_tests.m b/matlab/run_gdat_tests.m
index 93a84e970ad42c3729dd29a843d60640eded6c1a..3b2900641de497e6cdbee707a06a674f6c24f5eb 100644
--- a/matlab/run_gdat_tests.m
+++ b/matlab/run_gdat_tests.m
@@ -22,7 +22,7 @@ switch test_case
     import matlab.unittest.selectors.HasName;
     import matlab.unittest.constraints.ContainsSubstring;
     
-    suite = suite_all.selectIf(HasName(ContainsSubstring('TCV')) & ...
+    suite = suite_all.selectIf(HasParameter('Value','TCV') & ...
       (HasParameter('Value','ip') | HasParameter('Value','q_rho')));
   case 'TCV'
     suite = suite_all.selectIf(HasParameter('machine',IsEqualTo('TCV')));
diff --git a/matlab/tests/test_requestnames.m b/matlab/tests/test_requestnames.m
index 73e64be52ae2509f8686abe8b140a7dafc9fe52b..ec9a92aece5db3ce0cf05986a9f03dac5f14b1f2 100644
--- a/matlab/tests/test_requestnames.m
+++ b/matlab/tests/test_requestnames.m
@@ -4,17 +4,18 @@ classdef (SharedTestFixtures={...
   
 properties(TestParameter,Abstract)
     % parameters that will vary during tests
+    machine;
     shot;
     request; % placeholders
   end
       
   methods(Test)
-    function test_gdat_call(testCase,shot,request)
-      testCase.assertTrue(isnumeric(num2str(shot)));
+    function test_gdat_call(testCase,machine,shot,request)
+      testCase.assertTrue(isnumeric(str2double(shot)));
       testCase.assertTrue(ischar(request));
 
       % gdat call
-      gdat_call = sprintf(['gdat_' lower(testCase.machine) '(%s,''%s'')'],shot,request);
+      gdat_call = sprintf(['gdat_' lower(machine) '(%s,''%s'')'],shot,request);
       
       % logging
       testCase.log(sprintf('gdat_call: %s\n',gdat_call));
diff --git a/matlab/tests/test_requestnames_AUG.m b/matlab/tests/test_requestnames_AUG.m
index 18b5da42d93588d8aaed070155c3eda92a8217eb..f510dd661a187d1f52bf3cf619222166260256f0 100644
--- a/matlab/tests/test_requestnames_AUG.m
+++ b/matlab/tests/test_requestnames_AUG.m
@@ -3,6 +3,7 @@ classdef test_requestnames_AUG < test_requestnames
   
   properties(TestParameter)
     % parameters that will vary during tests
+    machine = {'AUG'};
     shot  = {'30594'};
     request = get_all_gdat_requests('AUG');
   end
diff --git a/matlab/tests/test_requestnames_TCV.m b/matlab/tests/test_requestnames_TCV.m
index 8f84cfecef5c1e917d72b13e87a853cea36d61ef..871cd50e85f505386985e3c629cb0b9bd3d6f2a6 100644
--- a/matlab/tests/test_requestnames_TCV.m
+++ b/matlab/tests/test_requestnames_TCV.m
@@ -3,6 +3,7 @@ classdef test_requestnames_TCV < test_requestnames
   
   properties(TestParameter)
     % parameters that will vary during tests
+    machine = {'TCV'};
     shot  = {'48836'};
     request = get_all_gdat_requests('TCV');
   end