@@ -48,11 +48,11 @@ func TestGenerateTaskfile_includes(t *testing.T) {
4848
4949 YamlContains (t , f , "$.version" , "3" )
5050
51- YamlContains (t , f , "$.includes.'dse.modelc-v2.1.15 '.taskfile" , "https://raw.githubusercontent.com/boschglobal/dse.modelc/refs/tags/v2.1.15 /Taskfile.yml" )
52- YamlContains (t , f , "$.includes.'dse.modelc-v2.1.15 '.dir" , "{{.OUTDIR}}/{{.SIMDIR}}" )
53- YamlContains (t , f , "$.includes.'dse.modelc-v2.1.15 '.vars.IMAGE_TAG" , "2.1.15 " )
54- YamlContains (t , f , "$.includes.'dse.modelc-v2.1.15 '.vars.SIM" , "{{.SIMDIR}}" )
55- YamlContains (t , f , "$.includes.'dse.modelc-v2.1.15 '.vars.ENTRYWORKDIR" , "{{if .ENTRYWORKDIR}}{{.ENTRYWORKDIR}}/{{.OUTDIR}}{{else}}{{.PWD}}/{{.OUTDIR}}{{end}}" )
51+ YamlContains (t , f , "$.includes.'dse.modelc-v2.3.12 '.taskfile" , "https://raw.githubusercontent.com/boschglobal/dse.modelc/refs/tags/v2.3.12 /Taskfile.yml" )
52+ YamlContains (t , f , "$.includes.'dse.modelc-v2.3.12 '.dir" , "{{.OUTDIR}}/{{.SIMDIR}}" )
53+ YamlContains (t , f , "$.includes.'dse.modelc-v2.3.12 '.vars.IMAGE_TAG" , "2.3.12 " )
54+ YamlContains (t , f , "$.includes.'dse.modelc-v2.3.12 '.vars.SIM" , "{{.SIMDIR}}" )
55+ YamlContains (t , f , "$.includes.'dse.modelc-v2.3.12 '.vars.ENTRYWORKDIR" , "{{if .ENTRYWORKDIR}}{{.ENTRYWORKDIR}}/{{.OUTDIR}}{{else}}{{.PWD}}/{{.OUTDIR}}{{end}}" )
5656
5757}
5858
@@ -68,11 +68,16 @@ func TestGenerateTaskfile_build_simulation(t *testing.T) {
6868
6969 YamlContains (t , f , "$.tasks.build.dir" , "{{.OUTDIR}}" )
7070 YamlContains (t , f , "$.tasks.build.label" , "build" )
71- YamlContains (t , f , "$.tasks.build.cmds[0]" , "mkdir -p {{.SIMDIR}}/data" )
72- YamlContains (t , f , "$.tasks.build.cmds[1]" , "cp {{.ENTRYDIR}}/simulation.yaml {{.SIMDIR}}/data/simulation.yaml" )
73- YamlContains (t , f , "$.tasks.build.cmds[2].task" , "build-models" )
74- YamlContains (t , f , "$.tasks.build.sources[0]" , "{{.ENTRYDIR}}/simulation.yaml" )
75- YamlContains (t , f , "$.tasks.build.generates[0]" , "{{.SIMDIR}}/data/simulation.yaml" )
71+ YamlContains (t , f , "$.tasks.build.cmds[0].task" , "build-setup-sim" )
72+ YamlContains (t , f , "$.tasks.build.cmds[1].task" , "stack-default" )
73+ YamlContains (t , f , "$.tasks.build-setup-sim.label" , "build-setup-sim" )
74+ YamlContains (t , f , "$.tasks.build-setup-sim.dir" , "{{.OUTDIR}}" )
75+ YamlContains (t , f , "$.tasks.build-setup-sim.cmds[0]" , "mkdir -p {{.SIMDIR}}/data" )
76+ YamlContains (t , f , "$.tasks.build-setup-sim.cmds[1]" , "cp {{.ENTRYDIR}}/simulation.yaml {{.SIMDIR}}/data/simulation.yaml" )
77+ YamlContains (t , f , "$.tasks.build-setup-sim.sources[0]" , "{{.ENTRYDIR}}/simulation.yaml" )
78+ YamlContains (t , f , "$.tasks.build-setup-sim.generates[0]" , "{{.SIMDIR}}/data/simulation.yaml" )
79+ YamlContains (t , f , "$.tasks.stack-default.label" , "stack:default" )
80+ YamlContains (t , f , "$.tasks.stack-default.deps[0].task" , "model-FMU" )
7681
7782}
7883
@@ -96,7 +101,7 @@ func TestGenerateTaskfile_common_elements(t *testing.T) {
96101
97102 YamlContains (t , f , "$.tasks.unzip-dir.dir" , "{{.OUTDIR}}" )
98103 YamlContains (t , f , "$.tasks.unzip-dir.run" , "when_changed" )
99- YamlContains (t , f , "$.tasks.unzip-dir.label" , "dse:unzip-dir:{{.ZIPFILE }}-{{.DIR}}" )
104+ YamlContains (t , f , "$.tasks.unzip-dir.label" , "dse:unzip-dir:{{.ZIP }}-{{.DIR}}" )
100105 YamlContains (t , f , "$.tasks.unzip-dir.vars.ZIP" , "{{.ZIP}}" )
101106 YamlContains (t , f , "$.tasks.unzip-dir.vars.ZIPDIR" , "$(basename {{.ZIP}} {{ext .ZIP}}){{if .ZIPDIR}}/{{.ZIPDIR}}{{end}}" )
102107 YamlContains (t , f , "$.tasks.unzip-dir.vars.DIR" , "{{.DIR}}" )
@@ -139,8 +144,8 @@ func TestGenerateTaskfile_model_modelc(t *testing.T) {
139144 f , _ := os .ReadFile (taskfileName )
140145 t .Logf ("\n %s\n " , f )
141146
142- YamlContains (t , f , "$.tasks.build-models .label" , "build-models " )
143- YamlContains (t , f , "$.tasks.build-models .deps[0].task" , "model-input" )
147+ YamlContains (t , f , "$.tasks.stack-default .label" , "stack:default " )
148+ YamlContains (t , f , "$.tasks.stack-default .deps[0].task" , "model-input" )
144149
145150 YamlContains (t , f , "$.tasks.model-input.dir" , "{{.OUTDIR}}" )
146151 YamlContains (t , f , "$.tasks.model-input.label" , "sim:model:input" )
@@ -161,31 +166,33 @@ func TestGenerateTaskfile_model_modelc(t *testing.T) {
161166
162167 YamlContains (t , f , "$.tasks.model-input.cmds[0]" , "echo \" SIM Model input -> {{.SIMDIR}}/{{.PATH}}\" " )
163168 YamlContains (t , f , "$.tasks.model-input.cmds[1]" , "mkdir -p {{.SIMDIR}}/{{.PATH}}/data" )
164- YamlContains (t , f , "$.tasks.model-input.cmds[2]" , "cp downloads/models/{{.MODEL}}/input.csv {{.SIMDIR}}/{{.PATH}}/data/input.csv" )
165- YamlContains (t , f , "$.tasks.model-input.cmds[3]" , "cp {{.ENTRYDIR}}/signalgroup.yaml {{.SIMDIR}}/{{.PATH}}/data/signalgroup.yaml" )
166- YamlContains (t , f , "$.tasks.model-input.cmds[4]" , "mkdir -p $(dirname downloads/models/{{.MODEL}}/output.csv)" )
167- YamlContains (t , f , "$.tasks.model-input.cmds[5]" , "cp /volume/output.csv downloads/models/{{.MODEL}}/output.csv" )
168- YamlContains (t , f , "$.tasks.model-input.cmds[6]" , "cp downloads/models/{{.MODEL}}/output.csv {{.SIMDIR}}/{{.PATH}}/trace/output.bmp" )
169169
170- YamlContains (t , f , "$.tasks.model-input.cmds[7].task" , "unzip-dir" )
171- YamlContains (t , f , "$.tasks.model-input.cmds[7].vars.ZIP" , "downloads/{{base .PACKAGE_URL}}" )
172- YamlContains (t , f , "$.tasks.model-input.cmds[7].vars.ZIPDIR" , "{{.PACKAGE_PATH}}" )
173- YamlContains (t , f , "$.tasks.model-input.cmds[7].vars.DIR" , "{{.SIMDIR}}/{{.PATH}}" )
174-
175- YamlContains (t , f , "$.tasks.model-input.cmds[8]" , "find {{.SIMDIR}}/{{.PATH}}/data -type f -name model.yaml -print0 | xargs -r -0 yq -i 'with(.spec.runtime.dynlib[]; .path |= sub(\" .*/(.*$)\" , \" {{.PATH}}/lib/${1}\" ))'" )
176- YamlContains (t , f , "$.tasks.model-input.cmds[9]" , "rm -rf {{.SIMDIR}}/{{.PATH}}/examples" )
170+ YamlContains (t , f , "$.tasks.model-input.cmds[2].task" , "unzip-dir" )
171+ YamlContains (t , f , "$.tasks.model-input.cmds[2].vars.ZIP" , "downloads/{{base .PACKAGE_URL}}" )
172+ YamlContains (t , f , "$.tasks.model-input.cmds[2].vars.ZIPDIR" , "{{.PACKAGE_PATH}}" )
173+ YamlContains (t , f , "$.tasks.model-input.cmds[2].vars.DIR" , "{{.SIMDIR}}/{{.PATH}}" )
174+
175+ YamlContains (t , f , "$.tasks.model-input.cmds[3]" , "find {{.SIMDIR}}/{{.PATH}}/data -type f -name model.yaml -print0 | xargs -r -0 yq -i '.spec.runtime.dynlib[].path |= sub(\" (^.*/)?(lib|bin)/\" ; \" {{.PATH}}/$2/\" )'" )
176+ YamlContains (t , f , "$.tasks.model-input.cmds[4]" , "rm -rf {{.SIMDIR}}/{{.PATH}}/examples" )
177+ YamlContains (t , f , "$.tasks.model-input.cmds[5]" , "find {{.SIMDIR}}/{{.PATH}} -type f -name simulation.yaml -print0 | xargs -r -0 rm -f" )
178+ YamlContains (t , f , "$.tasks.model-input.cmds[6]" , "find {{.SIMDIR}}/{{.PATH}} -type f -name simulation.yml -print0 | xargs -r -0 rm -f" )
179+ YamlContains (t , f , "$.tasks.model-input.cmds[7]" , "cp downloads/models/{{.MODEL}}/input.csv {{.SIMDIR}}/{{.PATH}}/data/input.csv" )
180+ YamlContains (t , f , "$.tasks.model-input.cmds[8]" , "cp {{.ENTRYDIR}}/signalgroup.yaml {{.SIMDIR}}/{{.PATH}}/data/signalgroup.yaml" )
181+ YamlContains (t , f , "$.tasks.model-input.cmds[9]" , "mkdir -p {{.SIMDIR}}/{{.PATH}}/trace/" )
182+ YamlContains (t , f , "$.tasks.model-input.cmds[10]" , "mkdir -p $(dirname downloads/models/{{.MODEL}}/output.csv)" )
183+ YamlContains (t , f , "$.tasks.model-input.cmds[11]" , "cp /volume/output.csv downloads/models/{{.MODEL}}/output.csv" )
184+ YamlContains (t , f , "$.tasks.model-input.cmds[12]" , "cp downloads/models/{{.MODEL}}/output.csv {{.SIMDIR}}/{{.PATH}}/trace/output.bmp" )
177185
178186 YamlContains (t , f , "$.tasks.model-input.sources[0]" , "downloads/models/{{.MODEL}}/input.csv" )
179- YamlContains (t , f , "$.tasks.model-input.sources[1]" , "signalgroup.yaml" )
187+ YamlContains (t , f , "$.tasks.model-input.sources[1]" , "{{.ENTRYDIR}}/ signalgroup.yaml" )
180188 YamlContains (t , f , "$.tasks.model-input.sources[2]" , "downloads/models/{{.MODEL}}/output.csv" )
181189
182- YamlContains (t , f , "$.tasks.model-input.generates[0]" , "downloads /{{base .PACKAGE_URL}} " )
190+ YamlContains (t , f , "$.tasks.model-input.generates[0]" , "{{.SIMDIR}} /{{.PATH}}/** " )
183191 YamlContains (t , f , "$.tasks.model-input.generates[1]" , "{{.SIMDIR}}/{{.PATH}}/data/input.csv" )
184192 YamlContains (t , f , "$.tasks.model-input.generates[2]" , "downloads/models/{{.MODEL}}/input.csv" )
185193 YamlContains (t , f , "$.tasks.model-input.generates[3]" , "{{.SIMDIR}}/{{.PATH}}/data/signalgroup.yaml" )
186194 YamlContains (t , f , "$.tasks.model-input.generates[4]" , "{{.SIMDIR}}/{{.PATH}}/trace/output.bmp" )
187195 YamlContains (t , f , "$.tasks.model-input.generates[5]" , "downloads/models/{{.MODEL}}/output.csv" )
188- YamlContains (t , f , "$.tasks.model-input.generates[6]" , "{{.SIMDIR}}/{{.PATH}}/**" )
189196}
190197
191198func TestGenerateTaskfile_model_fmu (t * testing.T ) {
@@ -194,8 +201,8 @@ func TestGenerateTaskfile_model_fmu(t *testing.T) {
194201 f , _ := os .ReadFile (taskfileName )
195202 t .Logf ("\n %s\n " , f )
196203
197- YamlContains (t , f , "$.tasks.build-models .label" , "build-models " )
198- YamlContains (t , f , "$.tasks.build-models .deps[0].task" , "model-linear" )
204+ YamlContains (t , f , "$.tasks.stack-default .label" , "stack:default " )
205+ YamlContains (t , f , "$.tasks.stack-default .deps[0].task" , "model-linear" )
199206
200207 YamlContains (t , f , "$.tasks.model-linear.dir" , "{{.OUTDIR}}" )
201208 YamlContains (t , f , "$.tasks.model-linear.label" , "sim:model:linear" )
@@ -223,7 +230,7 @@ func TestGenerateTaskfile_model_fmu(t *testing.T) {
223230 YamlContains (t , f , "$.tasks.model-linear.cmds[2].vars.ZIPDIR" , "{{.PACKAGE_PATH}}" )
224231 YamlContains (t , f , "$.tasks.model-linear.cmds[2].vars.DIR" , "{{.SIMDIR}}/{{.PATH}}" )
225232
226- YamlContains (t , f , "$.tasks.model-linear.cmds[3]" , "find {{.SIMDIR}}/{{.PATH}}/data -type f -name model.yaml -print0 | xargs -r -0 yq -i 'with( .spec.runtime.dynlib[]; .path |= sub(\" .*/(.*$) \" , \" {{.PATH}}/lib/${1} \" ) )'" )
233+ YamlContains (t , f , "$.tasks.model-linear.cmds[3]" , "find {{.SIMDIR}}/{{.PATH}}/data -type f -name model.yaml -print0 | xargs -r -0 yq -i '.spec.runtime.dynlib[].path |= sub(\" (^ .*/)?(lib|bin)/ \" ; \" {{.PATH}}/$2/ \" )'" )
227234
228235 YamlContains (t , f , "$.tasks.model-linear.cmds[4]" , "rm -rf {{.SIMDIR}}/{{.PATH}}/examples" )
229236 YamlContains (t , f , "$.tasks.model-linear.cmds[5]" , "find {{.SIMDIR}}/{{.PATH}} -type f -name simulation.yaml -print0 | xargs -r -0 rm -f" )
@@ -239,11 +246,10 @@ func TestGenerateTaskfile_model_fmu(t *testing.T) {
239246 YamlContains (t , f , "$.tasks.model-linear.cmds[8].vars.OUT_DIR" , "{{.PATH}}/data" )
240247 YamlContains (t , f , "$.tasks.model-linear.cmds[8].vars.MCL_PATH" , "{{.PATH}}/lib/libfmimcl.so" )
241248
242- YamlContains (t , f , "$.tasks.model-linear.generates[0]" , "downloads/{{base .PACKAGE_URL}}" )
243- YamlContains (t , f , "$.tasks.model-linear.generates[1]" , "{{.SIMDIR}}/{{.PATH}}/**" )
244- YamlContains (t , f , "$.tasks.model-linear.generates[2]" , "downloads/models/{{.MODEL}}/Fmi-1.1.20-linux-amd64.zip" )
245- YamlContains (t , f , "$.tasks.model-linear.generates[3]" , "{{.SIMDIR}}/{{.PATH}}/linear_fmu" )
249+ YamlContains (t , f , "$.tasks.model-linear.generates[0]" , "{{.SIMDIR}}/{{.PATH}}/**" )
250+ YamlContains (t , f , "$.tasks.model-linear.generates[1]" , "downloads/models/{{.MODEL}}/Fmi-1.1.20-linux-amd64.zip" )
251+ YamlContains (t , f , "$.tasks.model-linear.generates[2]" , "{{.SIMDIR}}/{{.PATH}}/linear_fmu" )
246252
247- YamlContains (t , f , "$.tasks.model-linear.generates[4 ]" , "{{.SIMDIR}}/{{.PATH}}/data/model.yaml" )
248- YamlContains (t , f , "$.tasks.model-linear.generates[5 ]" , "{{.SIMDIR}}/{{.PATH}}/data/signalgroup.yaml" )
253+ YamlContains (t , f , "$.tasks.model-linear.generates[3 ]" , "{{.SIMDIR}}/{{.PATH}}/data/model.yaml" )
254+ YamlContains (t , f , "$.tasks.model-linear.generates[4 ]" , "{{.SIMDIR}}/{{.PATH}}/data/signalgroup.yaml" )
249255}
0 commit comments