From 3e61c70943a082c2f3b5f2ee4a1b3494fe809648 Mon Sep 17 00:00:00 2001
From: mancini <mancini@astron.nl>
Date: Tue, 29 Oct 2019 11:29:47 +0100
Subject: [PATCH] Add predict step test

---
 .gitlab-ci.yml         |  6 ++++++
 steps/predict.cwl      | 29 +++++++++++++++--------------
 test_jobs/predict.json | 10 ++++++++++
 3 files changed, 31 insertions(+), 14 deletions(-)
 create mode 100644 test_jobs/predict.json

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ab043a38..26c089f1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -94,6 +94,12 @@ ddecal:
   script:
     - cwltool --no-container --preserve-environment LD_LIBRARY_PATH --preserve-environment PATH --preserve-environment PYTHONPATH steps/ddecal.cwl test_jobs/ddecal.json
 
+predict:
+  stage: test_steps
+  allow_failure: true
+  script:
+    - cwltool --no-container --preserve-environment LD_LIBRARY_PATH --preserve-environment PATH --preserve-environment PYTHONPATH steps/predict.cwl test_jobs/predict.json
+
 prefactor_calibrator:
   stage: integration_test
   script:
diff --git a/steps/predict.cwl b/steps/predict.cwl
index e20f0151..972cce51 100644
--- a/steps/predict.cwl
+++ b/steps/predict.cwl
@@ -7,6 +7,11 @@ baseCommand: [DPPP]
 
 requirements:
   InlineJavascriptRequirement: {}
+  
+  InitialWorkDirRequirement:
+    listing:
+      - entry: $(inputs.msin)
+        writable: true
 
 hints:
   DockerRequirement:
@@ -16,16 +21,17 @@ arguments:
   - steps=[predict]
   - predict.beammode=array_factor
   - predict.usechannelfreq=False
+  - msout=.
 inputs:
   - id: msin
-    type: Directory?
+    type: Directory
     doc: Input Measurement Set
     inputBinding:
         prefix: msin=
         separate: false
   - id: msin_datacolumn
     type: string
-    default: SMOOTHED_DATA
+    default: DATA
     doc: Input data Column
     inputBinding:
         prefix: msin.datacolumn=
@@ -33,16 +39,17 @@ inputs:
   - id: msout_datacolumn
     type: string
     default: MODEL_DATA
-  - id: source_db
-    type: "[File, Directory]"
+  - id: sources_db
+    type: [File, Directory]
     inputBinding:
       prefix: predict.sourcedb=
       separate: false
-  - id: skymodel
+  - id: sources
     type: string[]
+    default: null
     inputBinding:
       prefix: predict.sources=
-      valueFrom: [$(self)]
+      valueFrom: "[$(self)]"
       separate: false
       itemSeparator: ','
   - id: usebeammodel
@@ -50,17 +57,11 @@ inputs:
     default: false
     inputBinding:
       prefix: predict.usebeammodel=True
-  - id: msout_name
-    type: string
-    doc: Output Measurement Set
-    default: out.MS
-    inputBinding:
-        prefix: msout=
-        separate: false
+  
 
 outputs:
   - id: msout
     doc: Output Measurement Set
     type: Directory
     outputBinding:
-      glob: $(inputs.msout_name=="."?inputs.msin:inputs.msout_name)
+      glob: $(inputs.msin.basename)
diff --git a/test_jobs/predict.json b/test_jobs/predict.json
new file mode 100644
index 00000000..2a493f87
--- /dev/null
+++ b/test_jobs/predict.json
@@ -0,0 +1,10 @@
+{
+   "msin": {
+     "class": "Directory",
+     "path": "/data/L570745_SB001_uv_first10.MS"
+   },
+  "sources_db": {
+     "class": "File",
+     "path": "/data/A-Team_lowres.sourcedb"
+  }
+}
-- 
GitLab