v2.2 - Expressions and more
2.2 Release notes
-
All new test config parser.
-
Variable references are now 'expressions'.
- In addition to variables, they can contain math and functions.
'hello {{world * 2}}'
- Assuming 'world' has a value of 5, would be: 'hello 10'
- In addition to variables, they can contain math and functions.
-
Iterations (formerly sub-strings) can now contain more than one variable.
This results in all combinations of the variables being used.'Greetings: [~hello {{name}}{{num}}~,]'
- With
name: ['bob', 'janet']
andnum: [1,2]
would result in: - 'Greetings: hello bob1, hello bob2, hello janet1, hello janet2'
-
per test permissions settings
mytest: group: secret_group umask: '007'
-
Backwards compatibility breaks
- All duplicate keys in configs are now detected and cause errors.
- Default values may no longer be specified using '{{foo?}}'
- Dashes are no longer allowed in Pavilion variable names.
'{{name-len}}'
- You can no longer have nested 'sub-strings' (now called iterations).
- Not everything can be escaped in Pavilion strings anymore. This is now
limited to all normal python escapes
(https://docs.python.org/2.0/ref/strings.html),
plus '[', '{', and '~'. - The results section is now 'result_parse'
- Result parsers plugins now have explicit argument default and validation settings,
and the _check_args method must return the modified argument dictionary.
(rather than None before)
mytest: variables: unit_base: 100 result_parse: regex: speed: regex: 'speed (\d+)' result_evaluate: speed_normalized: "speed / {{unit_base}}" another_thing: '"some don''t string"'
- build.source_location has changed.
mytest: build: source_path: mytest.zip source_url: http://github.com/hpc/mytest/latest.zip source_download: latest
-
Build are now built in their final location, rather than in a tmp
location. This fixes the issues with symlinks (as they no longer
move, so they can be absolute), and issues with non-relocatable
builds. -
New config keys:
mytest: maintainer: name: Paul Ferrell email: [email protected]