diff --git a/crpptbx/test_all_requestnames.m b/crpptbx/test_all_requestnames.m
index ad8db3efe8d3c4b70f424f7b90c30c035c0bb0fd..273aada599f5864392e4f430d8ef4c0cf700e116 100644
--- a/crpptbx/test_all_requestnames.m
+++ b/crpptbx/test_all_requestnames.m
@@ -7,7 +7,7 @@ function [pass,request_list,err,telaps,skipped,gdat_results] = test_all_requestn
 %  pass = test_all_requestnames('param1',value1,'param2',value2,...); %
 %    INPUT PARAMETERS (optional)
 %       machine: string of machine name (e.g. 'aug'). (default: gdat internal default)
-%       testmode: depth of test: 'reduced' or 'full' (default: 'reduced')
+%       testmode: depth of test: 'reduced' or 'full' (default: 'reduced') or cell array of requests to test
 %       nverbose: 0 for silent, 1 for text, 2 for plots (default: 1)
 %    OUTPUTS
 %       pass: single boolean indicating pass/fail of test
@@ -46,13 +46,17 @@ switch upper(machine)
 end
 
 %% possibly skip some since they take too long for a reduced test
-switch testmode
- case 'reduced'
-  skip = skip_list(machine);
- case 'full'
-  skip = ''; % skip none
- otherwise
-  error('invalid testmode, should be ''reduced'' or ''full''');
+if iscell(testmode)
+  skip = setdiff(request_list,testmode);
+else
+  switch testmode
+   case 'reduced'
+    skip = skip_list(machine);
+   case 'full'
+    skip = ''; % skip none
+   otherwise
+    error('invalid testmode, should be ''reduced'' or ''full''');
+  end
 end
 
 %% init
@@ -84,7 +88,7 @@ for ireq = 1:Nreq
     err(ireq) = 0;
     telaps(ireq) = 0;
     skipped(ireq) = true;
-    fprintf('\n skipping gdat request ''%s''\n',myrequest)
+    if nverbose>=1; fprintf('\n skipping gdat request ''%s''\n',myrequest); end
   end
 end
 
diff --git a/crpptbx/test_gdat_tcv_short.m b/crpptbx/test_gdat_tcv_short.m
new file mode 100644
index 0000000000000000000000000000000000000000..95da4ab5402e70dc9fa23da2110afa235e8943a4
--- /dev/null
+++ b/crpptbx/test_gdat_tcv_short.m
@@ -0,0 +1,12 @@
+function [pass] = test_gdat_tcv_short
+%
+% [pass] = test_gdat_tcv_short
+%
+% tests a few signals
+%
+%       pass: single boolean indicating pass/fail of test
+%
+
+test_machine = 'tcv';
+test_signals = {'ip', 'q_rho'};
+[pass,request_list,err,telaps,skipped,gdat_results] = test_all_requestnames('machine',test_machine,'testmode',test_signals,'nverbose',0);