# file : tests/manifest/task.testscript # license : MIT; see accompanying LICENSE file test.options += -t : valid : : Roundtrip the task manifest. : { : all-names : $* <>EOF : 1 name: foo version: 1.0 repository-url: http://pkg.example.org/1/math trust: AB:0D:3F:C1:B0:13:E4:0E:AD:4A:08:06:AE:F3:85:DB:E2:27:5F:83:11:47:A2:7\ 8:64:3C:73:60:F8:66:3A:A4 requires: host tests: foo-tests examples: foo-examples dependency-checksum: 12345 machine: windows_10-msvc_14 auxiliary-machine-pgsql: x86_64-linux_debian_12-postgresql_16 auxiliary-machine: x86_64-linux_debian_12-mysql* target: x86_64-microsoft-win32-msvc14.0 environment: lld auxiliary-environment: \ PGSQL_DATABASE_HOST=192.168.0.1 PGSQL_DATABASE_PORT=1245 \ target-config: config.cc.coptions=/Z7 config.cc.loptions=/DEBUG package-config: config.foo.network=true warning-regex: '^warning: ' '^.+: warning: ' interactive: error worker-checksum: 1 EOF : no-package-config : $* <>EOF : 1 name: foo version: 1.0 repository-url: http://pkg.example.org/1/math trust: AB:0D:3F:C1:B0:13:E4:0E:AD:4A:08:06:AE:F3:85:DB:E2:27:5F:83:11:47:A2:7\ 8:64:3C:73:60:F8:66:3A:A4 requires: host tests: foo-tests examples: foo-examples dependency-checksum: 12345 machine: windows_10-msvc_14 target: x86_64-microsoft-win32-msvc14.0 environment: lld target-config: config.cc.coptions=/Z7 config.cc.loptions=/DEBUG warning-regex: '^warning: ' '^.+: warning: ' interactive: error worker-checksum: 1 EOF : no-config-regex-environment : $* <>EOF : 1 name: libfoo version: 1.0 repository-url: http://pkg.example.org/1/math machine: windows_10-msvc_14 target: x86_64-microsoft-win32-msvc14.0 EOF : typed-url : $* <>EOF : 1 name: libfoo version: 1.0 repository-url: git+http://example.org/math machine: windows_10-msvc_14 target: x86_64-microsoft-win32-msvc14.0 EOF : repo-type : $* <>EOO : 1 name: libfoo version: 1.0 repository-url: http://git.example.org/math repository-type: git machine: windows_10-msvc_14 target: x86_64-microsoft-win32-msvc14.0 EOI : 1 name: libfoo version: 1.0 repository-url: git+http://git.example.org/math machine: windows_10-msvc_14 target: x86_64-microsoft-win32-msvc14.0 EOO : requires : { $* <>EOF : 1 name: foo version: 1.0 repository-url: http://pkg.example.org/1/math requires: {c++ >= 14 windows} requires: host machine: windows target: x86_64-microsoft-win32-msvc14.0 EOF } : requires-invalid : { $* <>EOE != 0 : 1 name: foo version: 1.0 repository-url: http://pkg.example.org/1/math requires: {c++ >= 14 windows machine: windows target: x86_64-microsoft-win32-msvc14.0 EOI stdin:5:29: error: requirement or '}' expected EOE } : tests : { $* <>EOF : 1 name: libfoo version: 1.0 repository-url: http://pkg.example.org/1/math tests: libfoo-tests examples: libfoo-examples == 1.2.3 benchmarks: libfoo-benchmarks ~1.2.0 machine: windows target: x86_64-microsoft-win32-msvc14.0 EOF } : config : { : empty-var-value : $* <>EOF : 1 name: libfoo version: 1.0 repository-url: http://pkg.example.org/1/math machine: windows target: x86_64-microsoft-win32-msvc14.0 target-config: abc= EOF : var-value-quoting : $* <>EOF : 1 name: libfoo version: 1.0 repository-url: http://pkg.example.org/1/math machine: windows target: x86_64-microsoft-win32-msvc14.0 target-config: abc='a "b '"d\e x y=" EOF } : host : { : true : $* <>EOF : 1 name: libfoo version: 1.0 repository-url: http://pkg.example.org/1/math machine: windows target: x86_64-microsoft-win32-msvc14.0 host: true EOF : false : $* <>EOF : 1 name: libfoo version: 1.0 repository-url: http://pkg.example.org/1/math machine: windows target: x86_64-microsoft-win32-msvc14.0 host: false EOF } : trust-yes : $* <>EOF : 1 name: libfoo version: 1.0 repository-url: http://pkg.example.org/1/math trust: yes machine: windows_10-msvc_14 target: x86_64-microsoft-win32-msvc14.0 target-config: config.cc.coptions=/Z7 config.cc.loptions=/DEBUG EOF } : redefinition : { : name : $* <'stdin:3:1: error: task package name redefinition' == 1 : 1 name: libfoo name: libfoo EOI : version : $* <'stdin:3:1: error: task package version redefinition' == 1 : 1 version: 1.0 version: 1.0 EOI : repository : $* <'stdin:3:1: error: task repository URL redefinition' == 1 : 1 repository-url: http://pkg.example.org/1/math repository-url: http://pkg.example.org/1/math EOI : machine : $* <'stdin:3:1: error: task machine redefinition' == 1 : 1 machine: windows_10-msvc_14 machine: windows_10-msvc_14 EOI : auxiliary-machine : $* <'stdin:3:1: error: task auxiliary machine environment redefinition' == 1 : 1 auxiliary-machine-pgsql: x86_64-linux_debian_12-postgresql_16 auxiliary-machine-pgsql: x86_64-linux_debian_12-postgresql_14 EOI : target : $* <'stdin:3:1: error: task target redefinition' == 1 : 1 target: x86_64-microsoft-win32-msvc14.0 target: x86_64-microsoft-win32-msvc14.0 EOI : auxiliary-environment : $* <'stdin:7:1: error: task auxiliary environment redefinition' == 1 : 1 auxiliary-environment: \ PGSQL_DATABASE_HOST=192.168.0.1 PGSQL_DATABASE_PORT=1245 \ auxiliary-environment: \ PGSQL_DATABASE_HOST=192.168.0.1 PGSQL_DATABASE_PORT=1245 \ EOI : config : $* <'stdin:3:1: error: task target configuration redefinition' == 1 : 1 target-config: config.cc.coptions=/Z7 target-config: config.cc.loptions=/DEBUG EOI : host : $* <'stdin:3:1: error: task host value redefinition' == 1 : 1 host: true host: false EOI : warning-regex : $* <'stdin:3:1: error: task warning regex redefinition' == 1 : 1 warning-regex: '^warning: ' warning-regex: '^.+: warning: ' EOI : interactive : $* <'stdin:3:1: error: task interactive value redefinition' == 1 : 1 interactive: error interactive: warning EOI : worker-checksum : $* <'stdin:3:1: error: task worker checksum redefinition' == 1 : 1 worker-checksum: 1 worker-checksum: 1 EOI } : invalid : { : name-empty : $* <'stdin:2:6: error: invalid task package name: length is less than two characters' == 1 : 1 name: EOI : version : { : empty : $* <'stdin:2:9: error: invalid task package version: unexpected end' == 1 : 1 version: EOI : release : $* <'stdin:2:10: error: invalid task package version release' == 1 : 1 version: 1.2.3- EOI } : repository : { : url : $* <>EOE == 1 : 1 name: libfoo version: 1.0 repository-url: http://pkg.example.org/math repository-type: pkg machine: windows_10-msvc_14 target: x86_64-microsoft-win32-msvc14.0 EOI stdin:4:17: error: invalid task repository URL: missing repository version EOE : type : $* <>EOE == 1 : 1 repository-type: svn EOI stdin:2:18: error: invalid task repository type 'svn' EOE } : machine-empty : $* <'stdin:2:9: error: empty task machine' == 1 : 1 machine: EOI : target-empty : $* <'stdin:2:8: error: invalid task target: missing cpu' == 1 : 1 target: EOI : target-config : { : empty : $* <'stdin:2:15: error: empty task target configuration' == 1 : 1 target-config: EOI : bad-field : $* <'stdin:2:22: error: invalid task configuration: unterminated quoted string' == 1 : 1 target-config: 'abc=x EOI : multiline : { : bad-field : $* <'stdin:4:7: error: invalid task configuration: unterminated quoted string' == 1 : 1 target-config: \ 'abc=x \ EOI } } : package-config : { : empty : $* <'stdin:2:16: error: empty task package configuration' == 1 : 1 package-config: EOI } : host : $* <"stdin:2:7: error: invalid task host value 'yes'" == 1 : 1 host: yes EOI : warning-regex : { : empty : $* <'stdin:2:15: error: empty task warning regex' == 1 : 1 warning-regex: EOI : regex-error : $* <>~/EOE/ == 1 : 1 warning-regex: '^[warning: ' EOI /stdin:2:16: error: invalid task warning regex: invalid regex.*/ EOE } : trust : $* <'stdin:2:8: error: invalid repository certificate fingerprint' == 1 : 1 trust: abc EOI : interactive : $* <'stdin:2:13: error: empty task interactive value' == 1 : 1 interactive: EOI : worker-checksum : $* <'stdin:2:17: error: empty task worker checksum' == 1 : 1 worker-checksum: EOI } : unknown-name : $* <"stdin:2:1: error: unknown name 'x' in task manifest" == 1 : 1 x: EOI : missed : { : name : $* <'stdin:6:1: error: no task package name specified' == 1 : 1 version: 1.0 repository-url: http://pkg.example.org/1/math repository-type: pkg machine: windows_10-msvc_14 EOI : version : $* <'stdin:6:1: error: no task package version specified' == 1 : 1 name: libfoo repository-url: http://pkg.example.org/1/math repository-type: pkg machine: windows_10-msvc_14 EOI : repository-url : $* <'stdin:6:1: error: no task repository URL specified' == 1 : 1 name: libfoo version: 1.0 machine: windows_10-msvc_14 repository-type: git EOI : repository-type : $* <'stdin:4:17: error: invalid task repository URL: missing repository version' == 1 : 1 name: libfoo version: 1.0 repository-url: http://git.example.org/math machine: windows_10-msvc_14 target: x86_64-microsoft-win32-msvc14.0 EOI : machine : $* <'stdin:6:1: error: no task machine specified' == 1 : 1 name: libfoo version: 1.0 repository-url: http://pkg.example.org/1/math repository-type: pkg EOI : target : $* <'stdin:7:1: error: no task target specified' == 1 : 1 name: libfoo version: 1.0 repository-url: http://pkg.example.org/1/math repository-type: pkg machine: windows_10-msvc_14 EOI }