|
|
|
project('test features', 'c')
|
|
|
|
|
|
|
|
e1 = executable('cmd_args', 'cmd_args.c')
|
|
|
|
e2 = executable('envvars', 'envvars.c')
|
|
|
|
e3 = executable('env2vars', 'env2vars.c')
|
|
|
|
|
|
|
|
env = environment()
|
|
|
|
env.set('first', 'val1')
|
|
|
|
env.set('second', 'val2')
|
|
|
|
env.set('third', 'val3', 'and_more', separator: ':')
|
|
|
|
env.append('PATH', 'fakepath', separator: ':')
|
|
|
|
|
|
|
|
# Make sure environment objects are copied on assignment and we can
|
|
|
|
# change the copy without affecting the original environment object.
|
|
|
|
env2 = env
|
|
|
|
env2.set('first', 'something-else')
|
|
|
|
|
|
|
|
test('command line arguments', e1, args : ['first', 'second'])
|
|
|
|
test('environment variables', e2, env : env)
|
|
|
|
test('environment variables 2', e3, env : env2)
|
|
|
|
|
|
|
|
# https://github.com/mesonbuild/meson/issues/2211#issuecomment-327741571
|
|
|
|
env_array = ['MESONTESTING=picklerror']
|
|
|
|
testfile = files('testfile.txt')
|
|
|
|
testerpy = find_program('tester.py')
|
|
|
|
test('file arg', testerpy, args : testfile, env : [env_array, 'TEST_LIST_FLATTENING=1'])
|
|
|
|
|
|
|
|
copy = find_program('copyfile.py')
|
|
|
|
tester = executable('tester', 'tester.c')
|
|
|
|
testfilect = custom_target('testfile',
|
|
|
|
input : testfile,
|
|
|
|
output : 'outfile.txt',
|
|
|
|
build_by_default : true,
|
|
|
|
command : [copy, '@INPUT@', '@OUTPUT@'])
|
|
|
|
test('custom target arg', tester, args : testfilect, env : env_array)
|