Skip to content

Commit b1bb66b

Browse files
anvinrajtimrulebosch
authored andcommitted
Update AST unit tests.
Signed-off-by: Timothy Rule (VM/EMT3) <Timothy.Rule@de.bosch.com>
1 parent 297e722 commit b1bb66b

3 files changed

Lines changed: 49 additions & 40 deletions

File tree

ast/cmd/ast/testdata/script/generate_openloop.txtar

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@ yamlcontains project/simulation.yaml $.spec.models[0].name simbus
1818
yamlcontains project/simulation.yaml $.spec.models[1].name input
1919
yamlcontains project/simulation.yaml $.spec.models[2].name linear
2020

21-
yamlcontains project/Taskfile.yml $.tasks.build-models.deps[0].task model-input
22-
yamlcontains project/Taskfile.yml $.tasks.build-models.deps[1].task model-linear
21+
yamlcontains project/Taskfile.yml $.tasks.build.cmds[0].task build-setup-sim
22+
yamlcontains project/Taskfile.yml $.tasks.build.cmds[1].task stack-default
23+
yamlcontains project/Taskfile.yml $.tasks.stack-default.label stack:default
24+
yamlcontains project/Taskfile.yml $.tasks.stack-default.deps[0].task model-input
25+
yamlcontains project/Taskfile.yml $.tasks.stack-default.deps[1].task model-linear
2326
yamlcontains project/Taskfile.yml $.tasks.model-input.label sim:model:input
2427
yamlcontains project/Taskfile.yml $.tasks.model-linear.label sim:model:linear
2528

ast/internal/app/generate/taskfile_test.go

Lines changed: 43 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -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

191198
func 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
}

ast/internal/app/generate/testdata/ast__includes.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ spec:
66
uses:
77
- name: dse.modelc
88
url: https://github.com/boschglobal/dse.modelc
9-
version: v2.1.15
9+
version: v2.3.12
1010
metadata:
1111
container:
1212
repository: ghcr.io/boschglobal/dse-modelc

0 commit comments

Comments
 (0)