diff options
-rw-r--r-- | .github/codecov.yml | 8 | ||||
-rw-r--r-- | .github/workflows/os_comp.yml | 8 | ||||
-rw-r--r-- | azure-pipelines.yml | 22 | ||||
-rw-r--r-- | ci/ciimage/bionic/image.json | 1 | ||||
-rw-r--r-- | ci/ciimage/fedora/image.json | 1 | ||||
-rw-r--r-- | ci/ciimage/opensuse/image.json | 1 | ||||
-rw-r--r-- | ci/run.ps1 | 4 | ||||
-rw-r--r-- | data/test.schema.json | 30 | ||||
-rw-r--r-- | docs/markdown/Contributing.md | 34 | ||||
-rw-r--r-- | docs/markdown/Machine-files.md | 8 | ||||
-rw-r--r-- | docs/markdown/Release-notes-for-0.59.0.md | 235 | ||||
-rw-r--r-- | docs/markdown/snippets/build-target-found.md | 16 | ||||
-rw-r--r-- | docs/markdown/snippets/compiler_argument_checking.md | 6 | ||||
-rw-r--r-- | docs/markdown/snippets/custom-target-feed.md | 4 | ||||
-rw-r--r-- | docs/markdown/snippets/first-class-cython.md | 18 | ||||
-rw-r--r-- | docs/markdown/snippets/fs-module-accepts-files.md | 6 | ||||
-rw-r--r-- | docs/markdown/snippets/gnome.md | 13 | ||||
-rw-r--r-- | docs/markdown/snippets/intl-dependency.md | 35 | ||||
-rw-r--r-- | docs/markdown/snippets/newvsbackends.md | 15 | ||||
-rw-r--r-- | docs/markdown/snippets/objcversion.md | 6 | ||||
-rw-r--r-- | docs/markdown/snippets/pkgconfig_var_escaping.md | 23 | ||||
-rw-r--r-- | docs/markdown/snippets/qt_preprocess_separate.md | 5 | ||||
-rw-r--r-- | docs/markdown/snippets/qt_preprocessed_varargs_deprecated.md | 33 | ||||
-rw-r--r-- | docs/markdown/snippets/required_and_disabled_import.md | 5 | ||||
-rw-r--r-- | docs/markdown/snippets/subprojects_command_parallel.md | 7 | ||||
-rw-r--r-- | docs/markdown/snippets/vala-no-longer-requires-c.md | 4 | ||||
-rw-r--r-- | docs/markdown/snippets/vsenv.md | 8 | ||||
-rw-r--r-- | docs/sitemap.txt | 1 | ||||
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 10 | ||||
-rw-r--r-- | mesonbuild/compilers/compilers.py | 5 | ||||
-rw-r--r-- | mesonbuild/compilers/cuda.py | 6 | ||||
-rw-r--r-- | mesonbuild/compilers/d.py | 5 | ||||
-rw-r--r-- | mesonbuild/compilers/mixins/clang.py | 2 | ||||
-rw-r--r-- | mesonbuild/compilers/mixins/islinker.py | 3 | ||||
-rw-r--r-- | mesonbuild/coredata.py | 2 | ||||
-rw-r--r-- | mesonbuild/interpreterbase/_unholder.py | 4 | ||||
-rw-r--r-- | mesonbuild/linkers/linkers.py | 41 | ||||
-rw-r--r-- | mesonbuild/modules/windows.py | 7 | ||||
-rwxr-xr-x | run_project_tests.py | 210 | ||||
-rwxr-xr-x | run_single_test.py | 4 | ||||
-rwxr-xr-x | run_unittests.py | 8 | ||||
-rw-r--r-- | test cases/common/240 dependency native host == build/meson.build (renamed from test cases/common/241 dependency native host == build/meson.build) | 0 | ||||
-rw-r--r-- | test cases/common/240 dependency native host == build/test.json (renamed from test cases/common/241 dependency native host == build/test.json) | 0 | ||||
-rw-r--r-- | test cases/common/241 set and get variable/meson.build (renamed from test cases/common/242 set and get variable/meson.build) | 2 | ||||
-rw-r--r-- | test cases/common/241 set and get variable/test1.txt (renamed from test cases/common/242 set and get variable/test1.txt) | 0 | ||||
-rw-r--r-- | test cases/common/241 set and get variable/test2.txt (renamed from test cases/common/242 set and get variable/test2.txt) | 0 | ||||
-rw-r--r-- | test cases/common/242 custom target feed/data_source.txt (renamed from test cases/common/243 custom target feed/data_source.txt) | 0 | ||||
-rw-r--r-- | test cases/common/242 custom target feed/meson.build (renamed from test cases/common/243 custom target feed/meson.build) | 0 | ||||
-rwxr-xr-x | test cases/common/242 custom target feed/my_compiler.py (renamed from test cases/common/243 custom target feed/my_compiler.py) | 0 | ||||
-rw-r--r-- | test cases/common/242 custom target feed/test.json (renamed from test cases/common/243 custom target feed/test.json) | 0 | ||||
-rw-r--r-- | test cases/failing/100 no lang/main.c (renamed from test cases/failing/101 no native compiler/main.c) | 0 | ||||
-rw-r--r-- | test cases/failing/100 no lang/meson.build (renamed from test cases/failing/104 no lang/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/100 no lang/test.json (renamed from test cases/failing/104 no lang/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/101 no glib-compile-resources/meson.build (renamed from test cases/failing/105 no glib-compile-resources/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/101 no glib-compile-resources/test.json (renamed from test cases/failing/105 no glib-compile-resources/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/101 no glib-compile-resources/trivial.gresource.xml (renamed from test cases/failing/105 no glib-compile-resources/trivial.gresource.xml) | 0 | ||||
-rw-r--r-- | test cases/failing/101 no native compiler/test.json | 7 | ||||
-rw-r--r-- | test cases/failing/102 number in combo/meson.build (renamed from test cases/failing/107 number in combo/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/102 number in combo/nativefile.ini (renamed from test cases/failing/107 number in combo/nativefile.ini) | 0 | ||||
-rw-r--r-- | test cases/failing/102 number in combo/test.json (renamed from test cases/failing/107 number in combo/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/102 subdir parse error/test.json | 7 | ||||
-rw-r--r-- | test cases/failing/103 bool in combo/meson.build (renamed from test cases/failing/108 bool in combo/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/103 bool in combo/meson_options.txt (renamed from test cases/failing/108 bool in combo/meson_options.txt) | 0 | ||||
-rw-r--r-- | test cases/failing/103 bool in combo/nativefile.ini (renamed from test cases/failing/108 bool in combo/nativefile.ini) | 0 | ||||
-rw-r--r-- | test cases/failing/103 bool in combo/test.json (renamed from test cases/failing/108 bool in combo/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/103 invalid option file/test.json | 7 | ||||
-rw-r--r-- | test cases/failing/104 compiler no lang/meson.build (renamed from test cases/failing/109 compiler no lang/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/104 compiler no lang/test.json (renamed from test cases/failing/109 compiler no lang/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/105 no fallback/meson.build (renamed from test cases/failing/110 no fallback/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/105 no fallback/subprojects/foob/meson.build (renamed from test cases/failing/110 no fallback/subprojects/foob/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/105 no fallback/test.json (renamed from test cases/failing/110 no fallback/test.json) | 0 | ||||
-rw-r--r-- | test cases/failing/106 feature require/meson.build (renamed from test cases/failing/111 feature require/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/106 feature require/meson_options.txt (renamed from test cases/failing/111 feature require/meson_options.txt) | 0 | ||||
-rw-r--r-- | test cases/failing/106 feature require/test.json (renamed from test cases/failing/111 feature require/test.json) | 0 | ||||
-rw-r--r-- | test cases/failing/107 no build get_external_property/meson.build (renamed from test cases/failing/111 no build get_external_property/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/107 no build get_external_property/test.json (renamed from test cases/failing/111 no build get_external_property/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/108 enter subdir twice/meson.build (renamed from test cases/failing/112 enter subdir twice/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/108 enter subdir twice/sub/meson.build (renamed from test cases/failing/112 enter subdir twice/sub/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/108 enter subdir twice/test.json (renamed from test cases/failing/112 enter subdir twice/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/109 invalid fstring/meson.build (renamed from test cases/failing/113 invalid fstring/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/109 invalid fstring/test.json (renamed from test cases/failing/113 invalid fstring/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/110 invalid fstring/meson.build (renamed from test cases/failing/114 invalid fstring/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/110 invalid fstring/test.json (renamed from test cases/failing/114 invalid fstring/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/111 compiler argument checking/meson.build (renamed from test cases/failing/115 compiler argument checking/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/111 compiler argument checking/test.json (renamed from test cases/failing/115 compiler argument checking/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/112 empty fallback/meson.build (renamed from test cases/failing/115 empty fallback/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/112 empty fallback/subprojects/foo/meson.build (renamed from test cases/failing/115 empty fallback/subprojects/foo/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/112 empty fallback/test.json (renamed from test cases/failing/115 empty fallback/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/113 cmake executable dependency/meson.build (renamed from test cases/failing/116 cmake executable dependency/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/113 cmake executable dependency/subprojects/cmlib/CMakeLists.txt (renamed from test cases/failing/116 cmake executable dependency/subprojects/cmlib/CMakeLists.txt) | 0 | ||||
-rw-r--r-- | test cases/failing/113 cmake executable dependency/subprojects/cmlib/main.c (renamed from test cases/failing/104 no lang/main.c) | 0 | ||||
-rw-r--r-- | test cases/failing/113 cmake executable dependency/test.json (renamed from test cases/failing/116 cmake executable dependency/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/57 link with executable/meson.build (renamed from test cases/failing/58 link with executable/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/57 link with executable/module.c (renamed from test cases/failing/58 link with executable/module.c) | 0 | ||||
-rw-r--r-- | test cases/failing/57 link with executable/prog.c (renamed from test cases/failing/58 link with executable/prog.c) | 0 | ||||
-rw-r--r-- | test cases/failing/57 link with executable/test.json (renamed from test cases/failing/58 link with executable/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/58 assign custom target index/meson.build (renamed from test cases/failing/59 assign custom target index/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/58 assign custom target index/test.json (renamed from test cases/failing/59 assign custom target index/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/59 getoption prefix/meson.build (renamed from test cases/failing/60 getoption prefix/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/59 getoption prefix/subprojects/abc/meson.build (renamed from test cases/failing/60 getoption prefix/subprojects/abc/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/59 getoption prefix/subprojects/abc/meson_options.txt (renamed from test cases/failing/60 getoption prefix/subprojects/abc/meson_options.txt) | 0 | ||||
-rw-r--r-- | test cases/failing/59 getoption prefix/test.json (renamed from test cases/failing/60 getoption prefix/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/60 bad option argument/meson.build (renamed from test cases/failing/61 bad option argument/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/60 bad option argument/meson_options.txt (renamed from test cases/failing/61 bad option argument/meson_options.txt) | 0 | ||||
-rw-r--r-- | test cases/failing/60 bad option argument/test.json (renamed from test cases/failing/61 bad option argument/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/61 subproj filegrab/meson.build (renamed from test cases/failing/62 subproj filegrab/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/61 subproj filegrab/prog.c (renamed from test cases/failing/62 subproj filegrab/prog.c) | 0 | ||||
-rw-r--r-- | test cases/failing/61 subproj filegrab/subprojects/a/meson.build (renamed from test cases/failing/62 subproj filegrab/subprojects/a/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/61 subproj filegrab/test.json (renamed from test cases/failing/62 subproj filegrab/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/62 grab subproj/meson.build (renamed from test cases/failing/63 grab subproj/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/62 grab subproj/subprojects/foo/meson.build (renamed from test cases/failing/63 grab subproj/subprojects/foo/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/62 grab subproj/subprojects/foo/sub.c (renamed from test cases/failing/63 grab subproj/subprojects/foo/sub.c) | 0 | ||||
-rw-r--r-- | test cases/failing/62 grab subproj/test.json (renamed from test cases/failing/63 grab subproj/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/63 grab sibling/meson.build (renamed from test cases/failing/64 grab sibling/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/63 grab sibling/subprojects/a/meson.build (renamed from test cases/failing/64 grab sibling/subprojects/a/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/63 grab sibling/subprojects/b/meson.build (renamed from test cases/failing/64 grab sibling/subprojects/b/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/63 grab sibling/subprojects/b/sneaky.c (renamed from test cases/failing/64 grab sibling/subprojects/b/sneaky.c) | 0 | ||||
-rw-r--r-- | test cases/failing/63 grab sibling/test.json (renamed from test cases/failing/64 grab sibling/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/64 string as link target/meson.build (renamed from test cases/failing/65 string as link target/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/64 string as link target/prog.c (renamed from test cases/failing/65 string as link target/prog.c) | 0 | ||||
-rw-r--r-- | test cases/failing/64 string as link target/test.json (renamed from test cases/failing/65 string as link target/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/65 dependency not-found and required/meson.build (renamed from test cases/failing/66 dependency not-found and required/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/65 dependency not-found and required/test.json (renamed from test cases/failing/66 dependency not-found and required/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/main.c (renamed from test cases/failing/67 subproj different versions/main.c) | 0 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/meson.build (renamed from test cases/failing/67 subproj different versions/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/subprojects/a/a.c (renamed from test cases/failing/67 subproj different versions/subprojects/a/a.c) | 0 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/subprojects/a/a.h (renamed from test cases/failing/67 subproj different versions/subprojects/a/a.h) | 0 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/subprojects/a/meson.build (renamed from test cases/failing/67 subproj different versions/subprojects/a/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/subprojects/b/b.c (renamed from test cases/failing/67 subproj different versions/subprojects/b/b.c) | 0 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/subprojects/b/b.h (renamed from test cases/failing/67 subproj different versions/subprojects/b/b.h) | 0 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/subprojects/b/meson.build (renamed from test cases/failing/67 subproj different versions/subprojects/b/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/subprojects/c/c.h (renamed from test cases/failing/67 subproj different versions/subprojects/c/c.h) | 0 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/subprojects/c/meson.build (renamed from test cases/failing/67 subproj different versions/subprojects/c/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/66 subproj different versions/test.json (renamed from test cases/failing/67 subproj different versions/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/67 wrong boost module/meson.build (renamed from test cases/failing/68 wrong boost module/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/67 wrong boost module/test.json (renamed from test cases/failing/68 wrong boost module/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/68 install_data rename bad size/file1.txt (renamed from test cases/failing/69 install_data rename bad size/file1.txt) | 0 | ||||
-rw-r--r-- | test cases/failing/68 install_data rename bad size/file2.txt (renamed from test cases/failing/69 install_data rename bad size/file2.txt) | 0 | ||||
-rw-r--r-- | test cases/failing/68 install_data rename bad size/meson.build (renamed from test cases/failing/69 install_data rename bad size/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/68 install_data rename bad size/test.json (renamed from test cases/failing/69 install_data rename bad size/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/69 skip only subdir/meson.build (renamed from test cases/failing/70 skip only subdir/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/69 skip only subdir/subdir/meson.build (renamed from test cases/failing/70 skip only subdir/subdir/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/69 skip only subdir/test.json (renamed from test cases/failing/70 skip only subdir/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/70 dual override/meson.build (renamed from test cases/failing/71 dual override/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/70 dual override/overrides.py (renamed from test cases/failing/71 dual override/overrides.py) | 0 | ||||
-rw-r--r-- | test cases/failing/70 dual override/test.json (renamed from test cases/failing/71 dual override/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/71 override used/meson.build (renamed from test cases/failing/72 override used/meson.build) | 0 | ||||
-rwxr-xr-x | test cases/failing/71 override used/other.py (renamed from test cases/failing/72 override used/other.py) | 0 | ||||
-rwxr-xr-x | test cases/failing/71 override used/something.py (renamed from test cases/failing/72 override used/something.py) | 0 | ||||
-rw-r--r-- | test cases/failing/71 override used/test.json (renamed from test cases/failing/72 override used/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/72 run_command unclean exit/meson.build (renamed from test cases/failing/73 run_command unclean exit/meson.build) | 0 | ||||
-rwxr-xr-x | test cases/failing/72 run_command unclean exit/returncode.py (renamed from test cases/failing/73 run_command unclean exit/returncode.py) | 0 | ||||
-rw-r--r-- | test cases/failing/72 run_command unclean exit/test.json (renamed from test cases/failing/73 run_command unclean exit/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/73 int literal leading zero/meson.build (renamed from test cases/failing/74 int literal leading zero/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/73 int literal leading zero/test.json (renamed from test cases/failing/74 int literal leading zero/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/74 configuration immutable/input (renamed from test cases/failing/75 configuration immutable/input) | 0 | ||||
-rw-r--r-- | test cases/failing/74 configuration immutable/meson.build (renamed from test cases/failing/75 configuration immutable/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/74 configuration immutable/test.json (renamed from test cases/failing/75 configuration immutable/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/75 link with shared module on osx/meson.build (renamed from test cases/failing/76 link with shared module on osx/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/75 link with shared module on osx/module.c (renamed from test cases/failing/76 link with shared module on osx/module.c) | 0 | ||||
-rw-r--r-- | test cases/failing/75 link with shared module on osx/prog.c (renamed from test cases/failing/76 link with shared module on osx/prog.c) | 0 | ||||
-rw-r--r-- | test cases/failing/75 link with shared module on osx/test.json (renamed from test cases/failing/76 link with shared module on osx/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/76 non ascii in ascii encoded configure file/config9.h.in (renamed from test cases/failing/77 non ascii in ascii encoded configure file/config9.h.in) | 0 | ||||
-rw-r--r-- | test cases/failing/76 non ascii in ascii encoded configure file/meson.build (renamed from test cases/failing/77 non ascii in ascii encoded configure file/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/76 non ascii in ascii encoded configure file/test.json (renamed from test cases/failing/77 non ascii in ascii encoded configure file/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/77 subproj dependency not-found and required/meson.build (renamed from test cases/failing/78 subproj dependency not-found and required/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/77 subproj dependency not-found and required/test.json (renamed from test cases/failing/78 subproj dependency not-found and required/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/78 unfound run/meson.build (renamed from test cases/failing/79 unfound run/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/78 unfound run/test.json (renamed from test cases/failing/79 unfound run/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/79 framework dependency with version/meson.build (renamed from test cases/failing/80 framework dependency with version/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/79 framework dependency with version/test.json (renamed from test cases/failing/80 framework dependency with version/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/80 override exe config/foo.c (renamed from test cases/failing/81 override exe config/foo.c) | 0 | ||||
-rw-r--r-- | test cases/failing/80 override exe config/meson.build (renamed from test cases/failing/81 override exe config/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/80 override exe config/test.json (renamed from test cases/failing/81 override exe config/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/81 gl dependency with version/meson.build (renamed from test cases/failing/82 gl dependency with version/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/81 gl dependency with version/test.json (renamed from test cases/failing/82 gl dependency with version/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/82 threads dependency with version/meson.build (renamed from test cases/failing/83 threads dependency with version/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/82 threads dependency with version/test.json (renamed from test cases/failing/83 threads dependency with version/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/83 gtest dependency with version/meson.build (renamed from test cases/failing/84 gtest dependency with version/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/83 gtest dependency with version/test.json (renamed from test cases/failing/84 gtest dependency with version/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/84 dub libray/meson.build (renamed from test cases/failing/85 dub libray/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/84 dub libray/test.json (renamed from test cases/failing/85 dub libray/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/85 dub executable/meson.build (renamed from test cases/failing/86 dub executable/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/85 dub executable/test.json (renamed from test cases/failing/86 dub executable/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/86 dub compiler/meson.build (renamed from test cases/failing/87 dub compiler/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/86 dub compiler/test.json (renamed from test cases/failing/87 dub compiler/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/87 subproj not-found dep/meson.build (renamed from test cases/failing/88 subproj not-found dep/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/87 subproj not-found dep/subprojects/somesubproj/meson.build (renamed from test cases/failing/88 subproj not-found dep/subprojects/somesubproj/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/87 subproj not-found dep/test.json (renamed from test cases/failing/88 subproj not-found dep/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/88 invalid configure file/input (renamed from test cases/failing/89 invalid configure file/input) | 0 | ||||
-rw-r--r-- | test cases/failing/88 invalid configure file/meson.build (renamed from test cases/failing/89 invalid configure file/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/88 invalid configure file/test.json (renamed from test cases/failing/89 invalid configure file/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/89 kwarg dupe/meson.build (renamed from test cases/failing/90 kwarg dupe/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/89 kwarg dupe/prog.c (renamed from test cases/failing/90 kwarg dupe/prog.c) | 0 | ||||
-rw-r--r-- | test cases/failing/89 kwarg dupe/test.json (renamed from test cases/failing/90 kwarg dupe/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/90 missing pch file/meson.build (renamed from test cases/failing/91 missing pch file/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/90 missing pch file/prog.c (renamed from test cases/failing/91 missing pch file/prog.c) | 0 | ||||
-rw-r--r-- | test cases/failing/90 missing pch file/test.json (renamed from test cases/failing/91 missing pch file/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/91 pch source different folder/include/pch.h (renamed from test cases/failing/92 pch source different folder/include/pch.h) | 0 | ||||
-rw-r--r-- | test cases/failing/91 pch source different folder/meson.build (renamed from test cases/failing/92 pch source different folder/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/91 pch source different folder/prog.c (renamed from test cases/failing/92 pch source different folder/prog.c) | 0 | ||||
-rw-r--r-- | test cases/failing/91 pch source different folder/src/pch.c (renamed from test cases/failing/92 pch source different folder/src/pch.c) | 0 | ||||
-rw-r--r-- | test cases/failing/91 pch source different folder/test.json (renamed from test cases/failing/92 pch source different folder/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/92 unknown config tool/meson.build (renamed from test cases/failing/94 unknown config tool/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/92 unknown config tool/test.json (renamed from test cases/failing/94 unknown config tool/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/93 custom target install data/Info.plist.cpp (renamed from test cases/failing/95 custom target install data/Info.plist.cpp) | 0 | ||||
-rw-r--r-- | test cases/failing/93 custom target install data/meson.build (renamed from test cases/failing/95 custom target install data/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/93 custom target install data/preproc.py (renamed from test cases/failing/95 custom target install data/preproc.py) | 0 | ||||
-rw-r--r-- | test cases/failing/93 custom target install data/test.json (renamed from test cases/failing/95 custom target install data/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/94 add dict non string key/meson.build (renamed from test cases/failing/96 add dict non string key/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/94 add dict non string key/test.json (renamed from test cases/failing/96 add dict non string key/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/95 add dict duplicate keys/meson.build (renamed from test cases/failing/97 add dict duplicate keys/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/95 add dict duplicate keys/test.json (renamed from test cases/failing/97 add dict duplicate keys/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/96 no host get_external_property/meson.build (renamed from test cases/failing/99 no host get_external_property/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/96 no host get_external_property/test.json (renamed from test cases/failing/99 no host get_external_property/test.json) | 2 | ||||
-rw-r--r-- | test cases/failing/97 no native compiler/main.c (renamed from test cases/failing/116 cmake executable dependency/subprojects/cmlib/main.c) | 0 | ||||
-rw-r--r-- | test cases/failing/97 no native compiler/meson.build (renamed from test cases/failing/101 no native compiler/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/97 no native compiler/test.json | 7 | ||||
-rw-r--r-- | test cases/failing/98 subdir parse error/meson.build (renamed from test cases/failing/102 subdir parse error/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/98 subdir parse error/subdir/meson.build (renamed from test cases/failing/102 subdir parse error/subdir/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/98 subdir parse error/test.json | 7 | ||||
-rw-r--r-- | test cases/failing/99 invalid option file/meson.build (renamed from test cases/failing/103 invalid option file/meson.build) | 0 | ||||
-rw-r--r-- | test cases/failing/99 invalid option file/meson_options.txt (renamed from test cases/failing/103 invalid option file/meson_options.txt) | 0 | ||||
-rw-r--r-- | test cases/failing/99 invalid option file/test.json | 7 | ||||
-rw-r--r-- | test cases/frameworks/15 llvm/meson.build | 9 | ||||
-rw-r--r-- | test cases/frameworks/15 llvm/test.json | 2 | ||||
-rw-r--r-- | test cases/frameworks/16 sdl2/test.json | 2 | ||||
-rw-r--r-- | test cases/frameworks/17 mpi/test.json | 6 | ||||
-rw-r--r-- | test cases/frameworks/25 hdf5/test.json | 3 | ||||
-rw-r--r-- | test cases/frameworks/26 netcdf/test.json | 3 | ||||
-rw-r--r-- | test cases/frameworks/29 blocks/test.json | 3 | ||||
-rw-r--r-- | test cases/frameworks/30 scalapack/test.json | 3 | ||||
-rw-r--r-- | test cases/frameworks/34 gir static lib/test.json | 3 | ||||
-rw-r--r-- | test cases/frameworks/4 qt/test.json | 4 | ||||
-rw-r--r-- | test cases/unit/96 implicit force fallback/meson.build (renamed from test cases/unit/95 implicit force fallback/meson.build) | 0 | ||||
-rw-r--r-- | test cases/unit/96 implicit force fallback/subprojects/something/meson.build (renamed from test cases/unit/95 implicit force fallback/subprojects/something/meson.build) | 0 |
236 files changed, 593 insertions, 457 deletions
diff --git a/.github/codecov.yml b/.github/codecov.yml new file mode 100644 index 0000000..bfdc987 --- /dev/null +++ b/.github/codecov.yml @@ -0,0 +1,8 @@ +coverage: + status: + project: + default: + informational: true + patch: + default: + informational: true diff --git a/.github/workflows/os_comp.yml b/.github/workflows/os_comp.yml index 6531e2b..dc5f368 100644 --- a/.github/workflows/os_comp.yml +++ b/.github/workflows/os_comp.yml @@ -1,4 +1,4 @@ -name: OS Comp Tests +name: linux on: push: @@ -34,6 +34,9 @@ jobs: - { name: OpenSUSE, id: opensuse } - { name: Ubuntu Bionic, id: bionic } container: mesonbuild/${{ matrix.cfg.id }}:latest + env: + MESON_CI_JOBNAME: linux-${{ matrix.cfg.id }}-gcc + steps: - uses: actions/checkout@v2 - name: Run tests @@ -77,6 +80,9 @@ jobs: CC: 'gcc' CXX: 'g++' + env: + MESON_CI_JOBNAME: linux-${{ github.job }}-${{ matrix.cfg.CC }} + container: image: mesonbuild/ubuntu-rolling env: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 614f344..ca835c6 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,6 +6,28 @@ trigger: - 'master' # Release branches - '0.*' + paths: + include: + - 'mesonbuild' + - 'test cases' + - 'azure-pipelines.yml' + - 'ci/azure-steps.yml' + - 'run_project_tests.py' + - 'run_tests.py' + - 'run_unittests.py' +pr: + branches: + include: + - '*' + paths: + include: + - 'mesonbuild' + - 'test cases' + - 'azure-pipelines.yml' + - 'ci/azure-steps.yml' + - 'run_project_tests.py' + - 'run_tests.py' + - 'run_unittests.py' variables: CI: 1 diff --git a/ci/ciimage/bionic/image.json b/ci/ciimage/bionic/image.json index 6a3d723..d400902 100644 --- a/ci/ciimage/bionic/image.json +++ b/ci/ciimage/bionic/image.json @@ -2,7 +2,6 @@ "base_image": "ubuntu:bionic", "env": { "CI": "1", - "SKIP_SCIENTIFIC": "1", "DC": "gdc" } } diff --git a/ci/ciimage/fedora/image.json b/ci/ciimage/fedora/image.json index ae9ff4f..ee96980 100644 --- a/ci/ciimage/fedora/image.json +++ b/ci/ciimage/fedora/image.json @@ -2,7 +2,6 @@ "base_image": "fedora:latest", "env": { "CI": "1", - "SKIP_SCIENTIFIC": "1", "SKIP_STATIC_BOOST": "1" } } diff --git a/ci/ciimage/opensuse/image.json b/ci/ciimage/opensuse/image.json index 74acbe5..a5e6d1a 100644 --- a/ci/ciimage/opensuse/image.json +++ b/ci/ciimage/opensuse/image.json @@ -2,7 +2,6 @@ "base_image": "opensuse/tumbleweed:latest", "env": { "CI": "1", - "SKIP_SCIENTIFIC": "1", "SKIP_STATIC_BOOST": "1", "SINGLE_DUB_COMPILER": "1" } @@ -77,6 +77,8 @@ echo "=== Start running tests ===" # does that by default so we need to forward it. cmd /c "python 2>&1 ./tools/run_with_cov.py run_tests.py --backend $env:backend $env:extraargs" +$result = $LastExitCode + echo "" echo "" echo "=== Gathering coverage report ===" @@ -91,3 +93,5 @@ python3 -m coverage report git clone https://github.com/mensinda/codecov-python python3 -m pip install --ignore-installed ./codecov-python python3 -m codecov -f .coverage/coverage.xml -n "VS$env:compiler $env:arch $env:backend" -c $env:SOURCE_VERSION + +exit $result diff --git a/data/test.schema.json b/data/test.schema.json index 00c52ae..b89a874 100644 --- a/data/test.schema.json +++ b/data/test.schema.json @@ -79,6 +79,18 @@ "items": { "type": "string" } + }, + "skip_on_jobname": { + "type": "array", + "items": { + "type": "string" + } + }, + "skip_on_os": { + "type": "array", + "items": { + "type": "string" + } } }, "required": [ @@ -141,6 +153,24 @@ "line" ] } + }, + "skip_on_env": { + "type": "array", + "items": { + "type": "string" + } + }, + "skip_on_jobname": { + "type": "array", + "items": { + "type": "string" + } + }, + "skip_on_os": { + "type": "array", + "items": { + "type": "string" + } } } } diff --git a/docs/markdown/Contributing.md b/docs/markdown/Contributing.md index aec73ec..03fc2a4 100644 --- a/docs/markdown/Contributing.md +++ b/docs/markdown/Contributing.md @@ -305,17 +305,15 @@ project tests with different Meson options. In the `options` dict, all possible options and their values are specified. Each key in the `options` dict is a Meson option. It stores -a list of all potential values in a dict format, which allows to skip -specific values based on the current environment. +a list of all potential values in a dict format. Each value must contain the `val` key for the value of the option. `null` can be used for adding matrix entries without the current option. -Additionally, the `skip_on_env` key can be used to specify a list of -environment variables. If at least one environment variable in -`skip_on_env` is present, all matrix entries containing this value are -skipped. +The `skip_on_env`, `skip_on_jobname` and `skip_on_os` keys (as described below) +may be used in the value to skip that matrix entry, based on the current +environment. Similarly, the `compilers` key can be used to define a mapping of compilers to languages that are required for this value. @@ -380,6 +378,30 @@ matched: | `literal` | Literal match (default) | | `re` | regex match | +#### skip_on_env + +The `skip_on_env` key can be used to specify a list of environment variables. If +at least one environment variable in the `skip_on_env` list is present, the test +is skipped. + +#### skip_on_jobname + +The `skip_on_jobname` key contains a list of strings. If the `MESON_CI_JOBNAME` +environment variable is set, and any of them are a sub-string of it, the test is +expected to be skipped (that is, it is expected that the test will output +`MESON_SKIP_TEST`, because the CI environment is not one in which it can run, +for whatever reason). + +The test is failed if it skips or runs unexpectedly. + +#### skip_on_os + +The `skip_on_os` key can be used to specify a list of OS names (or their +negations, prefixed with a `!`). If at least one item in the `skip_on_os` list +is matched, the test is expected to be skipped. + +The test is failed if it skips or runs unexpectedly. + ### Skipping integration tests Meson uses several continuous integration testing systems that have diff --git a/docs/markdown/Machine-files.md b/docs/markdown/Machine-files.md index 6c0b051..6314082 100644 --- a/docs/markdown/Machine-files.md +++ b/docs/markdown/Machine-files.md @@ -7,7 +7,7 @@ compilation](Cross-compilation.md) and [native environments](Native-environments.md). *Changed in 0.56.0* Keys within sections are now case sensitive. This -*is required to make project options work correctly. +is required to make project options work correctly. ## Data Types @@ -144,8 +144,8 @@ linker for Meson to invoke, such as `link.exe` or `lld-link.exe`. Support for `ld` is *new in 0.53.0* *changed in 0.53.1* the `ld` variable was replaced by `<lang>_ld`, -*because it regressed a large number of projects. in 0.53.0 the `ld` -*variable was used instead. +because it regressed a large number of projects. in 0.53.0 the `ld` +variable was used instead. Native example: @@ -268,7 +268,7 @@ following code in the CMake toolchain file: ```cmake set(CMAKE_C_COMPILER "/usr/bin/gcc") -set(CMAKE_C_COMPILER "C:/usr/bin/g++") +set(CMAKE_CXX_COMPILER "C:/usr/bin/g++") set(CMAKE_SOME_VARIABLE "some" "value with spaces") ``` diff --git a/docs/markdown/Release-notes-for-0.59.0.md b/docs/markdown/Release-notes-for-0.59.0.md new file mode 100644 index 0000000..b6ce654 --- /dev/null +++ b/docs/markdown/Release-notes-for-0.59.0.md @@ -0,0 +1,235 @@ +--- +title: Release 0.59.0 +short-description: Release notes for 0.59.0 +... + +# New features + +## Unescaped variables in pkgconfig files + +Spaces in variable values are escaped with `\`, this is required in the case the +value is a path that and is used in `cflags` or `libs` arguments. This was an +undocumented behaviour that caused issues in the case the variable is a space +separated list of items. + +For backward compatibility reasons this behaviour could not be changed, new +keyword arguments have thus been added: `unescaped_variables` and +`unescaped_uninstalled_variables`. + +```meson +pkg = import('pkgconfig') +... +pkg.generate(lib, + variables: { + 'mypath': '/path/with spaces/are/escaped', + }, + unescaped_variables: { + 'mylist': 'Hello World Is Not Escaped', + }, +) +``` + +## The custom_target() function now accepts a feed argument + +It is now possible to provide a `feed: true` argument to `custom_target()` to +pipe the target's input file to the program's standard input. + +## Separate functions for qt preprocess + +`qt.preprocess` is a large, complicated function that does a lot of things, +a new set of `compile_*` functions have been provided as well. These are +conceptually simpler, as they do a single thing. + +## Cython as as first class language + +Meson now supports Cython as a first class language. This means you can write: + +```meson +project('my project', 'cython') + +py = import('python').find_installation() +dep_py = py.dependency() + +py.extension_module( + 'foo', + 'foo.pyx', + dependencies : dep_py, +) +``` + +And avoid the step through a generator that was previously required. + +## Support for the Wine Resource Compiler + +Users can now choose `wrc` as the `windres` binary in their cross files and +`windows.compile_resources` will handle it correctly. Together with `winegcc` +patches in Wine 6.12 this enables basic support for compiling projects as a +winelib by specifying `winegcc`/`wineg++` as the compiler and `wrc` as the +resource compiler in a cross file. + +## New `vs2012` and `vs2013` backend options + +Adds the ability to generate Visual Studio 2012 and 2013 projects. This is an +extension to the existing Visual Studio 2010 projects so that it is no longer +required to manually upgrade the generated Visual Studio 2010 projects. + +Generating Visual Studio 2010 projects has also been fixed since its developer +command prompt does not provide a `%VisualStudioVersion%` envvar. + +## Developer environment + +Expand the support for the `link_whole:` project option for pre-Visual Studio 2015 +Update 2, where previously Visual Studio 2015 Update 2 or later was required for +this, for the Ninja backend as well as the vs2010 (as well as the newly-added +vs2012 and vs2013 backends). + +## Fs Module now accepts files objects + +It is now possible to define a `files()` object and run most Fs module +functions on the file, rather than passing a string and hoping it is in the +same directory. + + +## Compiler argument checking for `get_supported_arguments` + +The compiler method `get_supported_arguments` now supports +a new keyword argument named `checked` that can be set to +one of `warn`, `require` or `off` (defaults to `off`) to +enforce argument checks. + +## New custom dependency for libintl + +Meson can now find the library needed for translating messages via gettext. +This works both on systems where libc provides gettext, such as GNU or musl, +and on systems where the gettext project's standalone intl support library is +required, such as macOS. + +Rather than doing something such as: + +``` +intl_dep = dependency('', required: false) + +if cc.has_function('ngettext') + intl_found = true +else + intl_dep = cc.find_library('intl', required: false) + intl_found = intl_dep.found() +endif + +if intl_found + # build options that need gettext + conf.set('ENABLE_NLS', 1) +endif +``` + +one may simply use: + +``` +intl_dep = dependency('intl') + +if intl_dep.found() + # build options that need gettext + conf.set('ENABLE_NLS', 1) +endif +``` + +## Parallelized `meson subprojects` commands + +All `meson subprojects` commands are now run on each subproject in parallel by +default. The number of processes can be controlled with `--num-processes` +argument. + +This speeds up considerably IO-bound operations such as downloads and git fetch. + +## Using Vala no longer requires C in the project languages + +Meson will now add C automatically. Since the use of C is an implementation +detail of Vala, Meson shouldn't require users to add it. + +## The `import()` function gains `required` and `disabler` arguments + +In addition, modules now have a `found()` method, like programs and +dependencies. This allows them to be conditionally required, and used in most +places that an object with a `found()` method can be. + +## Objective C/C++ standard versions + +Objective C and C++ compilations will from now on use the language +versions set in `c_std` and `cpp_std`, respectively. It is not +possible to set the language version separately for Objective C and +plain C. + +## Qt.preprocess source arguments deprecated + +The `qt.preprocess` method currently has this signature: +`qt.preprocess(name: str | None, *srcs: str)`, this is not a nice signature +because it's confusing, and there's a `sources` keyword argument as well. +Both of these pass sources through unmodified, this is a bit of a historical +accident, and not the way that any other module works. These have been +deprecated, so instead of: +```meson +sources = qt.preprocess( + name, + list, of, sources, + sources : [more, sources], + ... # things to process, +) + +executable( + 'foo', + sources, +) +``` +use +```meson +processed = qt.preprocess( + name, + ... # thins to process +) + +executable( + 'foo', + 'list', 'of', 'sources', 'more', 'sources', processed, +) +``` + +## New `build target` methods + +The [`build target` object](Reference-manual.md#build-target-object) now supports +the following two functions, to ensure feature compatebility with +[`external program` objects](Reference-manual.html#external-program-object): + +- `found()`: Always returns `true`. This function is meant + to make executables objects feature compatible with + `external program` objects. This simplifies + use-cases where an executable is used instead of an external program. + +- `path()`: **(deprecated)** does the exact same as `full_path()`. + **NOTE:** This function is solely kept for compatebility + with `external program` objects. It will be + removed once the, also deprecated, corresponding `path()` function in the + `external program` object is removed. + +## Automatically set up Visual Studio environment + +When Meson is run on Windows it will automatically set up the +environment to use Visual Studio if no other compiler toolchain +can be detected. This means that you can run Meson commands from +any command prompt or directly from any IDE. This sets up the +64 bit native environment. If you need any other, then you +need to set it up manually as before. + +## `gnome.compile_schemas()` sets `GSETTINGS_SCHEMA_DIR` into devenv + +When using `gnome.compile_schemas()` the location of the compiled schema is +added to `GSETTINGS_SCHEMA_DIR` environment variable when using +[`meson devenv`](Commands.md#devenv) command. + +## `update_desktop_database` added to `gnome.post_install()` + +Applications that install a `.desktop` file containing a `MimeType` need to update +the cache upon installation. Most applications do that using a custom script, +but it can now be done by Meson directly. + +See [`gnome.post_install()`](Gnome-module.md#gnomepost_install). + diff --git a/docs/markdown/snippets/build-target-found.md b/docs/markdown/snippets/build-target-found.md deleted file mode 100644 index 60c5083..0000000 --- a/docs/markdown/snippets/build-target-found.md +++ /dev/null @@ -1,16 +0,0 @@ -## New `build target` methods - -The [`build target` object](Reference-manual.md#build-target-object) now supports -the following two functions, to ensure feature compatebility with -[`external program` objects](Reference-manual.html#external-program-object): - -- `found()`: Always returns `true`. This function is meant - to make executables objects feature compatible with - `external program` objects. This simplifies - use-cases where an executable is used instead of an external program. - -- `path()`: **(deprecated)** does the exact same as `full_path()`. - **NOTE:** This function is solely kept for compatebility - with `external program` objects. It will be - removed once the, also deprecated, corresponding `path()` function in the - `external program` object is removed. diff --git a/docs/markdown/snippets/compiler_argument_checking.md b/docs/markdown/snippets/compiler_argument_checking.md deleted file mode 100644 index 0e038ec..0000000 --- a/docs/markdown/snippets/compiler_argument_checking.md +++ /dev/null @@ -1,6 +0,0 @@ -## Compiler argument checking for `get_supported_arguments` - -The compiler method `get_supported_arguments` now supports -a new keyword argument named `checked` that can be set to -one of `warn`, `require` or `off` (defaults to `off`) to -enforce argument checks. diff --git a/docs/markdown/snippets/custom-target-feed.md b/docs/markdown/snippets/custom-target-feed.md deleted file mode 100644 index f965152..0000000 --- a/docs/markdown/snippets/custom-target-feed.md +++ /dev/null @@ -1,4 +0,0 @@ -## The custom_target() function now accepts a feed argument - -It is now possible to provide a `feed: true` argument to `custom_target()` to -pipe the target's input file to the program's standard input. diff --git a/docs/markdown/snippets/first-class-cython.md b/docs/markdown/snippets/first-class-cython.md deleted file mode 100644 index 54f9367..0000000 --- a/docs/markdown/snippets/first-class-cython.md +++ /dev/null @@ -1,18 +0,0 @@ -## Cython as as first class language - -Meson now supports Cython as a first class language. This means you can write: - -```meson -project('my project', 'cython') - -py = import('python').find_installation() -dep_py = py.dependency() - -py.extension_module( - 'foo', - 'foo.pyx', - dependencies : dep_py, -) -``` - -And avoid the step through a generator that was previously required. diff --git a/docs/markdown/snippets/fs-module-accepts-files.md b/docs/markdown/snippets/fs-module-accepts-files.md deleted file mode 100644 index 8c602fd..0000000 --- a/docs/markdown/snippets/fs-module-accepts-files.md +++ /dev/null @@ -1,6 +0,0 @@ -## Fs Module now accepts files objects - -It is now possible to define a `files()` object and run most Fs module -functions on the file, rather than passing a string and hoping it is in the -same directory. - diff --git a/docs/markdown/snippets/gnome.md b/docs/markdown/snippets/gnome.md deleted file mode 100644 index d185da2..0000000 --- a/docs/markdown/snippets/gnome.md +++ /dev/null @@ -1,13 +0,0 @@ -## `gnome.compile_schemas()` sets `GSETTINGS_SCHEMA_DIR` into devenv - -When using `gnome.compile_schemas()` the location of the compiled schema is -added to `GSETTINGS_SCHEMA_DIR` environment variable when using -[`meson devenv`](Commands.md#devenv) command. - -## `update_desktop_database` added to `gnome.post_install()` - -Applications that install a `.desktop` file containing a `MimeType` need to update -the cache upon installation. Most applications do that using a custom script, -but it can now be done by Meson directly. - -See [`gnome.post_install()`](Gnome-module.md#gnomepost_install). diff --git a/docs/markdown/snippets/intl-dependency.md b/docs/markdown/snippets/intl-dependency.md deleted file mode 100644 index 8e0cd40..0000000 --- a/docs/markdown/snippets/intl-dependency.md +++ /dev/null @@ -1,35 +0,0 @@ -## New custom dependency for libintl - -Meson can now find the library needed for translating messages via gettext. -This works both on systems where libc provides gettext, such as GNU or musl, -and on systems where the gettext project's standalone intl support library is -required, such as macOS. - -Rather than doing something such as: - -``` -intl_dep = dependency('', required: false) - -if cc.has_function('ngettext') - intl_found = true -else - intl_dep = cc.find_library('intl', required: false) - intl_found = intl_dep.found() -endif - -if intl_found - # build options that need gettext - conf.set('ENABLE_NLS', 1) -endif -``` - -one may simply use: - -``` -intl_dep = dependency('intl') - -if intl_dep.found() - # build options that need gettext - conf.set('ENABLE_NLS', 1) -endif -``` diff --git a/docs/markdown/snippets/newvsbackends.md b/docs/markdown/snippets/newvsbackends.md deleted file mode 100644 index cb7437a..0000000 --- a/docs/markdown/snippets/newvsbackends.md +++ /dev/null @@ -1,15 +0,0 @@ -## New `vs2012` and `vs2013` backend options - -Adds the ability to generate Visual Studio 2012 and 2013 projects. This is an -extension to the existing Visual Studio 2010 projects so that it is no longer -required to manually upgrade the generated Visual Studio 2010 projects. - -Generating Visual Studio 2010 projects has also been fixed since its developer -command prompt does not provide a `%VisualStudioVersion%` envvar. - -## Developer environment - -Expand the support for the `link_whole:` project option for pre-Visual Studio 2015 -Update 2, where previously Visual Studio 2015 Update 2 or later was required for -this, for the Ninja backend as well as the vs2010 (as well as the newly-added -vs2012 and vs2013 backends). diff --git a/docs/markdown/snippets/objcversion.md b/docs/markdown/snippets/objcversion.md deleted file mode 100644 index 9825c80..0000000 --- a/docs/markdown/snippets/objcversion.md +++ /dev/null @@ -1,6 +0,0 @@ -## Objective C/C++ standard versions - -Objective C and C++ compilations will from now on use the language -versions set in `c_std` and `cpp_std`, respectively. It is not -possible to set the language version separately for Objective C and -plain C. diff --git a/docs/markdown/snippets/pkgconfig_var_escaping.md b/docs/markdown/snippets/pkgconfig_var_escaping.md deleted file mode 100644 index de0ee96..0000000 --- a/docs/markdown/snippets/pkgconfig_var_escaping.md +++ /dev/null @@ -1,23 +0,0 @@ -## Unescaped variables in pkgconfig files - -Spaces in variable values are escaped with `\`, this is required in the case the -value is a path that and is used in `cflags` or `libs` arguments. This was an -undocumented behaviour that caused issues in the case the variable is a space -separated list of items. - -For backward compatibility reasons this behaviour could not be changed, new -keyword arguments have thus been added: `unescaped_variables` and -`unescaped_uninstalled_variables`. - -```meson -pkg = import('pkgconfig') -... -pkg.generate(lib, - variables: { - 'mypath': '/path/with spaces/are/escaped', - }, - unescaped_variables: { - 'mylist': 'Hello World Is Not Escaped', - }, -) -``` diff --git a/docs/markdown/snippets/qt_preprocess_separate.md b/docs/markdown/snippets/qt_preprocess_separate.md deleted file mode 100644 index 1035f9a..0000000 --- a/docs/markdown/snippets/qt_preprocess_separate.md +++ /dev/null @@ -1,5 +0,0 @@ -## Separate functions for qt preprocess - -`qt.preprocess` is a large, complicated function that does a lot of things, -a new set of `compile_*` functions have been provided as well. These are -conceptually simpler, as they do a single thing. diff --git a/docs/markdown/snippets/qt_preprocessed_varargs_deprecated.md b/docs/markdown/snippets/qt_preprocessed_varargs_deprecated.md deleted file mode 100644 index 5418eb3..0000000 --- a/docs/markdown/snippets/qt_preprocessed_varargs_deprecated.md +++ /dev/null @@ -1,33 +0,0 @@ -## Qt.preprocess source arguments deprecated - -The `qt.preprocess` method currently has this signature: -`qt.preprocess(name: str | None, *srcs: str)`, this is not a nice signature -because it's confusing, and there's a `sources` keyword argument as well. -Both of these pass sources through unmodified, this is a bit of a historical -accident, and not the way that any other module works. These have been -deprecated, so instead of: -```meson -sources = qt.preprocess( - name, - list, of, sources, - sources : [more, sources], - ... # things to process, -) - -executable( - 'foo', - sources, -) -``` -use -```meson -processed = qt.preprocess( - name, - ... # thins to process -) - -executable( - 'foo', - 'list', 'of', 'sources', 'more', 'sources', processed, -) -``` diff --git a/docs/markdown/snippets/required_and_disabled_import.md b/docs/markdown/snippets/required_and_disabled_import.md deleted file mode 100644 index 39ca307..0000000 --- a/docs/markdown/snippets/required_and_disabled_import.md +++ /dev/null @@ -1,5 +0,0 @@ -## The `import()` function gains `required` and `disabler` arguments - -In addition, modules now have a `found()` method, like programs and -dependencies. This allows them to be conditionally required, and used in most -places that an object with a `found()` method can be. diff --git a/docs/markdown/snippets/subprojects_command_parallel.md b/docs/markdown/snippets/subprojects_command_parallel.md deleted file mode 100644 index 4d992e7..0000000 --- a/docs/markdown/snippets/subprojects_command_parallel.md +++ /dev/null @@ -1,7 +0,0 @@ -## Parallelized `meson subprojects` commands - -All `meson subprojects` commands are now run on each subproject in parallel by -default. The number of processes can be controlled with `--num-processes` -argument. - -This speeds up considerably IO-bound operations such as downloads and git fetch. diff --git a/docs/markdown/snippets/vala-no-longer-requires-c.md b/docs/markdown/snippets/vala-no-longer-requires-c.md deleted file mode 100644 index 5744877..0000000 --- a/docs/markdown/snippets/vala-no-longer-requires-c.md +++ /dev/null @@ -1,4 +0,0 @@ -## Using Vala no longer requires C in the project languages - -Meson will now add C automatically. Since the use of C is an implementation -detail of Vala, Meson shouldn't require users to add it. diff --git a/docs/markdown/snippets/vsenv.md b/docs/markdown/snippets/vsenv.md deleted file mode 100644 index 96d3979..0000000 --- a/docs/markdown/snippets/vsenv.md +++ /dev/null @@ -1,8 +0,0 @@ -## Automatically set up Visual Studio environment - -When Meson is run on Windows it will automatically set up the -environment to use Visual Studio if no other compiler toolchain -can be detected. This means that you can run Meson commands from -any command prompt or directly from any IDE. This sets up the -64 bit native environment. If you need any other, then you -need to set it up manually as before. diff --git a/docs/sitemap.txt b/docs/sitemap.txt index e1efe65..d96d865 100644 --- a/docs/sitemap.txt +++ b/docs/sitemap.txt @@ -87,6 +87,7 @@ index.md Shipping-prebuilt-binaries-as-wraps.md fallback-wraptool.md Release-notes.md + Release-notes-for-0.59.0.md Release-notes-for-0.58.0.md Release-notes-for-0.57.0.md Release-notes-for-0.56.0.md diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 44e5228..85a5f36 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -2757,11 +2757,11 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) commands += linker.get_std_shared_lib_link_args() # All shared libraries are PIC commands += linker.get_pic_args() - # Add -Wl,-soname arguments on Linux, -install_name on OS X - commands += linker.get_soname_args( - self.environment, target.prefix, target.name, target.suffix, - target.soversion, target.darwin_versions, - isinstance(target, build.SharedModule)) + if not isinstance(target, build.SharedModule): + # Add -Wl,-soname arguments on Linux, -install_name on OS X + commands += linker.get_soname_args( + self.environment, target.prefix, target.name, target.suffix, + target.soversion, target.darwin_versions) # This is only visited when building for Windows using either GCC or Visual Studio if target.vs_module_defs and hasattr(linker, 'gen_vs_module_defs_args'): commands += linker.gen_vs_module_defs_args(target.vs_module_defs.rel_to_builddir(self.build_to_src)) diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 52529f7..fc01ac0 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -988,11 +988,10 @@ class Compiler(HoldableObject, metaclass=abc.ABCMeta): def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, suffix: str, soversion: str, - darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + darwin_versions: T.Tuple[str, str]) -> T.List[str]: return self.linker.get_soname_args( env, prefix, shlib_name, suffix, soversion, - darwin_versions, is_shared_module) + darwin_versions) def get_target_link_args(self, target: 'BuildTarget') -> T.List[str]: return target.link_args diff --git a/mesonbuild/compilers/cuda.py b/mesonbuild/compilers/cuda.py index 4c0d0a6..4a14ae9 100644 --- a/mesonbuild/compilers/cuda.py +++ b/mesonbuild/compilers/cuda.py @@ -650,11 +650,9 @@ class CudaCompiler(Compiler): def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, suffix: str, soversion: str, - darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + darwin_versions: T.Tuple[str, str]) -> T.List[str]: return self._to_host_flags(self.host_compiler.get_soname_args( - env, prefix, shlib_name, suffix, soversion, darwin_versions, - is_shared_module), _Phase.LINKER) + env, prefix, shlib_name, suffix, soversion, darwin_versions), _Phase.LINKER) def get_compile_only_args(self) -> T.List[str]: return ['-c'] diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py index b5ec905..eb1cf74 100644 --- a/mesonbuild/compilers/d.py +++ b/mesonbuild/compilers/d.py @@ -468,10 +468,9 @@ class DmdLikeCompilerMixin(CompilerMixinBase): def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, suffix: str, soversion: str, - darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + darwin_versions: T.Tuple[str, str]) -> T.List[str]: sargs = super().get_soname_args(env, prefix, shlib_name, suffix, - soversion, darwin_versions, is_shared_module) + soversion, darwin_versions) # LDC and DMD actually do use a linker, but they proxy all of that with # their own arguments diff --git a/mesonbuild/compilers/mixins/clang.py b/mesonbuild/compilers/mixins/clang.py index 5e109c0..e7d30fc 100644 --- a/mesonbuild/compilers/mixins/clang.py +++ b/mesonbuild/compilers/mixins/clang.py @@ -35,7 +35,7 @@ clang_color_args = { } # type: T.Dict[str, T.List[str]] clang_optimization_args = { - '0': [], + '0': ['-O0'], 'g': ['-Og'], '1': ['-O1'], '2': ['-O2'], diff --git a/mesonbuild/compilers/mixins/islinker.py b/mesonbuild/compilers/mixins/islinker.py index 4c29f8c..144bc70 100644 --- a/mesonbuild/compilers/mixins/islinker.py +++ b/mesonbuild/compilers/mixins/islinker.py @@ -104,8 +104,7 @@ class BasicLinkerIsCompilerMixin(Compiler): def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, suffix: str, soversion: str, - darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + darwin_versions: T.Tuple[str, str]) -> T.List[str]: raise MesonException("This linker doesn't support soname args") def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index cda60b8..8466d3e 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -43,7 +43,7 @@ if T.TYPE_CHECKING: KeyedOptionDictType = T.Union[T.Dict['OptionKey', 'UserOption[T.Any]'], OptionOverrideProxy] CompilerCheckCacheKey = T.Tuple[T.Tuple[str, ...], str, str, T.Tuple[str, ...], str] -version = '0.59.0.rc1' +version = '0.59.0' backendlist = ['ninja', 'vs', 'vs2010', 'vs2012', 'vs2013', 'vs2015', 'vs2017', 'vs2019', 'xcode'] default_yielding = False diff --git a/mesonbuild/interpreterbase/_unholder.py b/mesonbuild/interpreterbase/_unholder.py index 7e95232..10c7cfc 100644 --- a/mesonbuild/interpreterbase/_unholder.py +++ b/mesonbuild/interpreterbase/_unholder.py @@ -22,9 +22,9 @@ def _unholder(obj: T.Union[TYPE_var, InterpreterObject], *, permissive: bool = F if isinstance(obj, (int, bool, str)): return obj elif isinstance(obj, list): - return [_unholder(x) for x in obj] + return [_unholder(x, permissive=permissive) for x in obj] elif isinstance(obj, dict): - return {k: _unholder(v) for k, v in obj.items()} + return {k: _unholder(v, permissive=permissive) for k, v in obj.items()} elif isinstance(obj, ObjectHolder): assert isinstance(obj.held_object, HoldableObject) return obj.held_object diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py index c26edda..831a381 100644 --- a/mesonbuild/linkers/linkers.py +++ b/mesonbuild/linkers/linkers.py @@ -517,8 +517,7 @@ class DynamicLinker(metaclass=abc.ABCMeta): return ([], set()) def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: return [] @@ -613,8 +612,7 @@ class GnuLikeDynamicLinkerMixin: return self._apply_prefix('--fatal-warnings') def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: m = env.machines[self.for_machine] if m.is_windows() or m.is_cygwin(): # For PE/COFF the soname argument has no effect @@ -749,10 +747,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): return self._apply_prefix('-fatal_warnings') def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: - if is_shared_module: - return [] + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: install_name = ['@rpath/', prefix, shlib_name] if soversion is not None: install_name.append('.' + soversion) @@ -838,8 +833,7 @@ class WASMDynamicLinker(GnuLikeDynamicLinkerMixin, PosixDynamicLinkerMixin, Dyna return ['-s', 'ERROR_ON_UNDEFINED_SYMBOLS=1'] def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: raise MesonException(f'{self.id} does not support shared libraries.') def get_asneeded_args(self) -> T.List[str]: @@ -881,8 +875,7 @@ class CcrxDynamicLinker(DynamicLinker): return [] def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: return [] @@ -921,8 +914,7 @@ class Xc16DynamicLinker(DynamicLinker): return [] def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: return [] def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, @@ -965,8 +957,7 @@ class CompCertDynamicLinker(DynamicLinker): return [] def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: raise MesonException(f'{self.id} does not support shared libraries.') def build_rpath_args(self, env: 'Environment', build_dir: str, from_dir: str, @@ -1064,8 +1055,7 @@ class PGIDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): return [] def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: return [] def get_std_shared_lib_args(self) -> T.List[str]: @@ -1166,8 +1156,7 @@ class VisualStudioLikeLinkerMixin: return [] def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: return [] def import_library_args(self, implibname: str) -> T.List[str]: @@ -1244,6 +1233,12 @@ class XilinkDynamicLinker(VisualStudioLikeLinkerMixin, DynamicLinker): direct: bool = True): super().__init__(['xilink.exe'], for_machine, '', always_args, version=version) + def get_gui_app_args(self, value: bool) -> T.List[str]: + return self.get_win_subsystem_args("windows" if value else "console") + + def get_win_subsystem_args(self, value: str) -> T.List[str]: + return self._apply_prefix([f'/SUBSYSTEM:{value.upper()}']) + class SolarisDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): @@ -1305,8 +1300,7 @@ class SolarisDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): return (self._apply_prefix(f'-rpath,{paths}'), rpath_dirs_to_remove) def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: sostr = '' if soversion is None else '.' + soversion return self._apply_prefix(f'-soname,{prefix}{shlib_name}.{suffix}{sostr}') @@ -1422,6 +1416,5 @@ class CudaLinker(PosixDynamicLinkerMixin, DynamicLinker): return [] def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str, - suffix: str, soversion: str, darwin_versions: T.Tuple[str, str], - is_shared_module: bool) -> T.List[str]: + suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]: return [] diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py index d322833..7f627cf 100644 --- a/mesonbuild/modules/windows.py +++ b/mesonbuild/modules/windows.py @@ -27,6 +27,7 @@ from ..programs import ExternalProgram class ResourceCompilerType(enum.Enum): windres = 1 rc = 2 + wrc = 3 class WindowsModule(ExtensionModule): def __init__(self, interpreter): @@ -66,6 +67,7 @@ class WindowsModule(ExtensionModule): for (arg, match, rc_type) in [ ('/?', '^.*Microsoft.*Resource Compiler.*$', ResourceCompilerType.rc), ('--version', '^.*GNU windres.*$', ResourceCompilerType.windres), + ('--version', '^.*Wine Resource Compiler.*$', ResourceCompilerType.wrc), ]: p, o, e = mesonlib.Popen_safe(rescomp.get_command() + [arg]) m = re.search(match, o, re.MULTILINE) @@ -102,7 +104,7 @@ class WindowsModule(ExtensionModule): # CVTRES internally to convert this to a COFF object) suffix = 'res' res_args = extra_args + ['/nologo', '/fo@OUTPUT@', '@INPUT@'] - else: + elif rescomp_type == ResourceCompilerType.windres: # ld only supports object files, so windres is used to generate a # COFF object suffix = 'o' @@ -113,6 +115,9 @@ class WindowsModule(ExtensionModule): for arg in extra_args: if ' ' in arg: mlog.warning(m.format(arg), fatal=False) + else: + suffix = 'o' + res_args = extra_args + ['@INPUT@', '-o', '@OUTPUT@'] res_targets = [] diff --git a/run_project_tests.py b/run_project_tests.py index a9030ce..57a8188 100755 --- a/run_project_tests.py +++ b/run_project_tests.py @@ -238,6 +238,7 @@ class TestDef: self.installed_files = [] # type: T.List[InstalledFile] self.do_not_set_opts = [] # type: T.List[str] self.stdout = [] # type: T.List[T.Dict[str, str]] + self.skip_expected = False # Always print a stack trace for Meson exceptions self.env['MESON_FORCE_BACKTRACE'] = '1' @@ -264,7 +265,7 @@ class TestDef: failing_logs: T.List[str] = [] print_debug = 'MESON_PRINT_TEST_OUTPUT' in os.environ under_ci = 'CI' in os.environ -skip_scientific = under_ci and ('SKIP_SCIENTIFIC' in os.environ) +ci_jobname = os.environ.get('MESON_CI_JOBNAME', None) do_debug = under_ci or print_debug no_meson_log_msg = 'No meson-log.txt found.' @@ -731,6 +732,37 @@ def _run_test(test: TestDef, return testresult +# processing of test.json 'skip_*' keys, which can appear at top level, or in +# matrix: +def _skip_keys(test_def: T.Dict) -> T.Tuple[bool, bool]: + skip_expected = False + + # Test is expected to skip if MESON_CI_JOBNAME contains any of the list of + # substrings + if ('skip_on_jobname' in test_def) and (ci_jobname is not None): + skip_expected = any(s in ci_jobname for s in test_def['skip_on_jobname']) + + # Test is expected to skip if os matches + if 'skip_on_os' in test_def: + mesonenv = environment.Environment(None, None, get_fake_options('/')) + for skip_os in test_def['skip_on_os']: + if skip_os.startswith('!'): + if mesonenv.machines.host.system != skip_os[1:]: + skip_expected = True + else: + if mesonenv.machines.host.system == skip_os: + skip_expected = True + + # Skip if environment variable is present + skip = False + if 'skip_on_env' in test_def: + for skip_env_var in test_def['skip_on_env']: + if skip_env_var in os.environ: + skip = True + + return (skip, skip_expected) + + def load_test_json(t: TestDef, stdout_mandatory: bool) -> T.List[TestDef]: all_tests: T.List[TestDef] = [] test_def = {} @@ -761,6 +793,8 @@ def load_test_json(t: TestDef, stdout_mandatory: bool) -> T.List[TestDef]: # Handle the do_not_set_opts list do_not_set_opts = test_def.get('do_not_set_opts', []) # type: T.List[str] + (t.skip, t.skip_expected) = _skip_keys(test_def) + # Skip tests if the tool requirements are not met if 'tools' in test_def: assert isinstance(test_def['tools'], dict) @@ -778,25 +812,20 @@ def load_test_json(t: TestDef, stdout_mandatory: bool) -> T.List[TestDef]: t.stdout = stdout return [t] - new_opt_list: T.List[T.List[T.Tuple[str, bool]]] + new_opt_list: T.List[T.List[T.Tuple[str, bool, bool]]] # 'matrix; entry is present, so build multiple tests from matrix definition - opt_list = [] # type: T.List[T.List[T.Tuple[str, bool]]] + opt_list = [] # type: T.List[T.List[T.Tuple[str, bool, bool]]] matrix = test_def['matrix'] assert "options" in matrix for key, val in matrix["options"].items(): assert isinstance(val, list) - tmp_opts = [] # type: T.List[T.Tuple[str, bool]] + tmp_opts = [] # type: T.List[T.Tuple[str, bool, bool]] for i in val: assert isinstance(i, dict) assert "val" in i - skip = False - # Skip the matrix entry if environment variable is present - if 'skip_on_env' in i: - for skip_env_var in i['skip_on_env']: - if skip_env_var in os.environ: - skip = True + (skip, skip_expected) = _skip_keys(i) # Only run the test if all compiler ID's match if 'compilers' in i: @@ -807,10 +836,10 @@ def load_test_json(t: TestDef, stdout_mandatory: bool) -> T.List[TestDef]: # Add an empty matrix entry if i['val'] is None: - tmp_opts += [(None, skip)] + tmp_opts += [(None, skip, skip_expected)] continue - tmp_opts += [('{}={}'.format(key, i['val']), skip)] + tmp_opts += [('{}={}'.format(key, i['val']), skip, skip_expected)] if opt_list: new_opt_list = [] @@ -843,11 +872,13 @@ def load_test_json(t: TestDef, stdout_mandatory: bool) -> T.List[TestDef]: name = ' '.join([x[0] for x in i if x[0] is not None]) opts = ['-D' + x[0] for x in i if x[0] is not None] skip = any([x[1] for x in i]) + skip_expected = any([x[2] for x in i]) test = TestDef(t.path, name, opts, skip or t.skip) test.env.update(env) test.installed_files = installed test.do_not_set_opts = do_not_set_opts test.stdout = stdout + test.skip_expected = skip_expected or t.skip_expected all_tests.append(test) return all_tests @@ -922,79 +953,22 @@ def have_java() -> bool: return True return False -def skippable(suite: str, test: str) -> bool: +def skip_dont_care(t: TestDef) -> bool: # Everything is optional when not running on CI if not under_ci: return True - if not suite.endswith('frameworks'): - return True - - # this test assumptions aren't valid for Windows paths - if test.endswith('38 libdir must be inside prefix'): - return True - - # gtk-doc test may be skipped, pending upstream fixes for spaces in - # filenames landing in the distro used for CI - if test.endswith('10 gtk-doc'): - return True - - # NetCDF is not in the CI Docker image - if test.endswith('netcdf'): + # Non-frameworks test are allowed to determine their own skipping under CI (currently) + if not t.category.endswith('frameworks'): return True - # MSVC doesn't link with GFortran - if test.endswith('14 fortran links c'): + # For the moment, all skips in jobs which don't set MESON_CI_JOBNAME are + # treated as expected. In the future, we should make it mandatory to set + # MESON_CI_JOBNAME for all CI jobs. + if ci_jobname is None: return True - # Blocks are not supported on all compilers - if test.endswith('29 blocks'): - return True - - # Scientific libraries are skippable on certain systems - # See the discussion here: https://github.com/mesonbuild/meson/pull/6562 - if any([x in test for x in ['17 mpi', '25 hdf5', '30 scalapack']]) and skip_scientific: - return True - - # These create OS specific tests, and need to be skippable - if any([x in test for x in ['16 sdl', '17 mpi']]): - return True - - # We test cmake, and llvm-config. Some linux spins don't provide cmake or - # don't provide either the static or shared llvm libraries (fedora and - # opensuse only have the dynamic ones, for example). - if test.endswith('15 llvm'): - return True - - # This test breaks with gobject-introspection <= 1.58.1 - if test.endswith('34 gir static lib'): - return True - - # Boost test should only be skipped for windows CI build matrix entries - # which don't define BOOST_ROOT - if test.endswith('1 boost'): - if mesonlib.is_windows(): - return 'BOOST_ROOT' not in os.environ - return False - - # Not all OSes have all of the methods for qt (qmake and pkg-config), don't - # fail if that happens. - # - # On macOS we should have all of the requirements at all times. - if test.endswith('4 qt'): - return not mesonlib.is_osx() - - # Bindgen isn't available in all distros - if test.endswith('12 bindgen'): - return False - - # No frameworks test should be skipped on linux CI, as we expect all - # prerequisites to be installed - if mesonlib.is_linux(): - return False - - # Other framework tests are allowed to be skipped on other platforms - return True + return False def skip_csharp(backend: Backend) -> bool: if backend is not Backend.ninja: @@ -1126,6 +1100,8 @@ class TestStatus(Enum): OK = normal_green(' [SUCCESS] ') SKIP = yellow(' [SKIPPED] ') ERROR = red(' [ERROR] ') + UNEXSKIP = red('[UNEXSKIP] ') + UNEXRUN = red(' [UNEXRUN] ') CANCELED = cyan('[CANCELED] ') RUNNING = blue(' [RUNNING] ') # Should never be actually printed LOG = bold(' [LOG] ') # Should never be actually printed @@ -1275,11 +1251,40 @@ def _run_tests(all_tests: T.List[T.Tuple[str, T.List[TestDef], bool]], continue # Handle skipped tests - if (result is None) or (('MESON_SKIP_TEST' in result.stdo) and (skippable(t.category, t.path.as_posix()))): + if result is None: + # skipped due to skipped category skip or 'tools:' or 'skip_on_env:' + is_skipped = True + skip_as_expected = True + else: + # skipped due to test outputting 'MESON_SKIP_TEST' + is_skipped = 'MESON_SKIP_TEST' in result.stdo + if not skip_dont_care(t): + skip_as_expected = (is_skipped == t.skip_expected) + else: + skip_as_expected = True + + if is_skipped: + skipped_tests += 1 + + if is_skipped and skip_as_expected: f.update_log(TestStatus.SKIP) current_test = ET.SubElement(current_suite, 'testcase', {'name': testname, 'classname': t.category}) ET.SubElement(current_test, 'skipped', {}) - skipped_tests += 1 + continue + + if not skip_as_expected: + failing_tests += 1 + if is_skipped: + skip_msg = 'Test asked to be skipped, but was not expected to' + status = TestStatus.UNEXSKIP + else: + skip_msg = 'Test ran, but was expected to be skipped' + status = TestStatus.UNEXRUN + result.msg = "%s for MESON_CI_JOBNAME '%s'" % (skip_msg, ci_jobname) + + f.update_log(status) + current_test = ET.SubElement(current_suite, 'testcase', {'name': testname, 'classname': t.category}) + ET.SubElement(current_test, 'failure', {'message': result.msg}) continue # Handle Failed tests @@ -1381,33 +1386,32 @@ def check_meson_commands_work(use_tmpdir: bool, extra_args: T.List[str]) -> None def detect_system_compiler(options: 'CompilerArgumentType') -> None: global host_c_compiler, compiler_id_map - with TemporaryDirectoryWinProof(prefix='b ', dir=None if options.use_tmpdir else '.') as build_dir: - fake_opts = get_fake_options('/') - if options.cross_file: - fake_opts.cross_file = [options.cross_file] - if options.native_file: - fake_opts.native_file = [options.native_file] + fake_opts = get_fake_options('/') + if options.cross_file: + fake_opts.cross_file = [options.cross_file] + if options.native_file: + fake_opts.native_file = [options.native_file] + + env = environment.Environment(None, None, fake_opts) - env = environment.Environment(None, build_dir, fake_opts) + print_compilers(env, MachineChoice.HOST) + if options.cross_file: + print_compilers(env, MachineChoice.BUILD) - print_compilers(env, MachineChoice.HOST) - if options.cross_file: - print_compilers(env, MachineChoice.BUILD) + for lang in sorted(compilers.all_languages): + try: + comp = compiler_from_language(env, lang, MachineChoice.HOST) + # note compiler id for later use with test.json matrix + compiler_id_map[lang] = comp.get_id() + except mesonlib.MesonException: + comp = None - for lang in sorted(compilers.all_languages): - try: - comp = compiler_from_language(env, lang, MachineChoice.HOST) - # note compiler id for later use with test.json matrix - compiler_id_map[lang] = comp.get_id() - except mesonlib.MesonException: - comp = None - - # note C compiler for later use by platform_fix_name() - if lang == 'c': - if comp: - host_c_compiler = comp.get_id() - else: - raise RuntimeError("Could not find C compiler.") + # note C compiler for later use by platform_fix_name() + if lang == 'c': + if comp: + host_c_compiler = comp.get_id() + else: + raise RuntimeError("Could not find C compiler.") def print_compilers(env: 'Environment', machine: MachineChoice) -> None: diff --git a/run_single_test.py b/run_single_test.py index 4d70507..0a93573 100755 --- a/run_single_test.py +++ b/run_single_test.py @@ -13,7 +13,7 @@ import pathlib import typing as T from mesonbuild import mlog -from run_project_tests import TestDef, load_test_json, run_test, BuildStep, skippable +from run_project_tests import TestDef, load_test_json, run_test, BuildStep from run_project_tests import setup_commands, detect_system_compiler, print_tool_versions if T.TYPE_CHECKING: @@ -50,7 +50,7 @@ def main() -> None: results = [run_test(t, t.args, '', True) for t in tests] failed = False for test, result in zip(tests, results): - if (result is None) or (('MESON_SKIP_TEST' in result.stdo) and (skippable(str(args.case.parent), test.path.as_posix()))): + if (result is None) or ('MESON_SKIP_TEST' in result.stdo): msg = mlog.yellow('SKIP:') elif result.msg: msg = mlog.red('FAIL:') diff --git a/run_unittests.py b/run_unittests.py index 05c63d5..200c4ed 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -2756,7 +2756,7 @@ class AllPlatformTests(BasePlatformTests): self.run_tests() def test_implicit_forcefallback(self): - testdir = os.path.join(self.unit_test_dir, '95 implicit force fallback') + testdir = os.path.join(self.unit_test_dir, '96 implicit force fallback') with self.assertRaises(subprocess.CalledProcessError) as cm: self.init(testdir) self.init(testdir, extra_args=['--wrap-mode=forcefallback']) @@ -4016,9 +4016,9 @@ class AllPlatformTests(BasePlatformTests): for (t, f) in [ ('10 out of bounds', 'meson.build'), ('18 wrong plusassign', 'meson.build'), - ('61 bad option argument', 'meson_options.txt'), - ('102 subdir parse error', os.path.join('subdir', 'meson.build')), - ('103 invalid option file', 'meson_options.txt'), + ('60 bad option argument', 'meson_options.txt'), + ('98 subdir parse error', os.path.join('subdir', 'meson.build')), + ('99 invalid option file', 'meson_options.txt'), ]: tdir = os.path.join(self.src_root, 'test cases', 'failing', t) diff --git a/test cases/common/241 dependency native host == build/meson.build b/test cases/common/240 dependency native host == build/meson.build index bdcd93c..bdcd93c 100644 --- a/test cases/common/241 dependency native host == build/meson.build +++ b/test cases/common/240 dependency native host == build/meson.build diff --git a/test cases/common/241 dependency native host == build/test.json b/test cases/common/240 dependency native host == build/test.json index 5e2a715..5e2a715 100644 --- a/test cases/common/241 dependency native host == build/test.json +++ b/test cases/common/240 dependency native host == build/test.json diff --git a/test cases/common/242 set and get variable/meson.build b/test cases/common/241 set and get variable/meson.build index 7c8dcf7..4ecdb35 100644 --- a/test cases/common/242 set and get variable/meson.build +++ b/test cases/common/241 set and get variable/meson.build @@ -41,6 +41,8 @@ assert(get_variable('var9') == 'test2.txt') assert(not is_disabler(get_variable('var0'))) assert(not is_disabler(get_variable('var0', var8))) assert(not is_disabler(get_variable('----', var8))) +assert(not is_disabler(get_variable('----', [var8]))) +assert(not is_disabler(get_variable('----', {'asd': var8}))) # test dict get dict = {'a': var2} diff --git a/test cases/common/242 set and get variable/test1.txt b/test cases/common/241 set and get variable/test1.txt index e69de29..e69de29 100644 --- a/test cases/common/242 set and get variable/test1.txt +++ b/test cases/common/241 set and get variable/test1.txt diff --git a/test cases/common/242 set and get variable/test2.txt b/test cases/common/241 set and get variable/test2.txt index e69de29..e69de29 100644 --- a/test cases/common/242 set and get variable/test2.txt +++ b/test cases/common/241 set and get variable/test2.txt diff --git a/test cases/common/243 custom target feed/data_source.txt b/test cases/common/242 custom target feed/data_source.txt index 0c23cc0..0c23cc0 100644 --- a/test cases/common/243 custom target feed/data_source.txt +++ b/test cases/common/242 custom target feed/data_source.txt diff --git a/test cases/common/243 custom target feed/meson.build b/test cases/common/242 custom target feed/meson.build index 1cda37d..1cda37d 100644 --- a/test cases/common/243 custom target feed/meson.build +++ b/test cases/common/242 custom target feed/meson.build diff --git a/test cases/common/243 custom target feed/my_compiler.py b/test cases/common/242 custom target feed/my_compiler.py index 97d4208..97d4208 100755 --- a/test cases/common/243 custom target feed/my_compiler.py +++ b/test cases/common/242 custom target feed/my_compiler.py diff --git a/test cases/common/243 custom target feed/test.json b/test cases/common/242 custom target feed/test.json index ba66b02..ba66b02 100644 --- a/test cases/common/243 custom target feed/test.json +++ b/test cases/common/242 custom target feed/test.json diff --git a/test cases/failing/101 no native compiler/main.c b/test cases/failing/100 no lang/main.c index 9b6bdc2..9b6bdc2 100644 --- a/test cases/failing/101 no native compiler/main.c +++ b/test cases/failing/100 no lang/main.c diff --git a/test cases/failing/104 no lang/meson.build b/test cases/failing/100 no lang/meson.build index 85c5db8..85c5db8 100644 --- a/test cases/failing/104 no lang/meson.build +++ b/test cases/failing/100 no lang/meson.build diff --git a/test cases/failing/104 no lang/test.json b/test cases/failing/100 no lang/test.json index 62999be..58dc1ac 100644 --- a/test cases/failing/104 no lang/test.json +++ b/test cases/failing/100 no lang/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/104 no lang/meson.build:2:0: ERROR: No host machine compiler for \"main.c\"" + "line": "test cases/failing/100 no lang/meson.build:2:0: ERROR: No host machine compiler for \"main.c\"" } ] } diff --git a/test cases/failing/105 no glib-compile-resources/meson.build b/test cases/failing/101 no glib-compile-resources/meson.build index aae0569..aae0569 100644 --- a/test cases/failing/105 no glib-compile-resources/meson.build +++ b/test cases/failing/101 no glib-compile-resources/meson.build diff --git a/test cases/failing/105 no glib-compile-resources/test.json b/test cases/failing/101 no glib-compile-resources/test.json index 4bc7d90..d81b0c0 100644 --- a/test cases/failing/105 no glib-compile-resources/test.json +++ b/test cases/failing/101 no glib-compile-resources/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/105 no glib-compile-resources/meson.build:8:0: ERROR: Program 'glib-compile-resources' not found" + "line": "test cases/failing/101 no glib-compile-resources/meson.build:8:0: ERROR: Program 'glib-compile-resources' not found" } ] } diff --git a/test cases/failing/105 no glib-compile-resources/trivial.gresource.xml b/test cases/failing/101 no glib-compile-resources/trivial.gresource.xml index 1447b98..1447b98 100644 --- a/test cases/failing/105 no glib-compile-resources/trivial.gresource.xml +++ b/test cases/failing/101 no glib-compile-resources/trivial.gresource.xml diff --git a/test cases/failing/101 no native compiler/test.json b/test cases/failing/101 no native compiler/test.json deleted file mode 100644 index c7b5d1c..0000000 --- a/test cases/failing/101 no native compiler/test.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "stdout": [ - { - "line": "test cases/failing/101 no native compiler/meson.build:12:0: ERROR: No host machine compiler for \"main.c\"" - } - ] -} diff --git a/test cases/failing/107 number in combo/meson.build b/test cases/failing/102 number in combo/meson.build index 1a647df..1a647df 100644 --- a/test cases/failing/107 number in combo/meson.build +++ b/test cases/failing/102 number in combo/meson.build diff --git a/test cases/failing/107 number in combo/nativefile.ini b/test cases/failing/102 number in combo/nativefile.ini index 55f10fc..55f10fc 100644 --- a/test cases/failing/107 number in combo/nativefile.ini +++ b/test cases/failing/102 number in combo/nativefile.ini diff --git a/test cases/failing/107 number in combo/test.json b/test cases/failing/102 number in combo/test.json index f5aeb4e..8e70a60 100644 --- a/test cases/failing/107 number in combo/test.json +++ b/test cases/failing/102 number in combo/test.json @@ -1,5 +1,5 @@ { "stdout": [ - { "line": "test cases/failing/107 number in combo/meson.build:1:0: ERROR: Value \"1\" (of type \"number\") for combo option \"Optimization level\" is not one of the choices. Possible choices are (as string): \"0\", \"g\", \"1\", \"2\", \"3\", \"s\"." } + { "line": "test cases/failing/102 number in combo/meson.build:1:0: ERROR: Value \"1\" (of type \"number\") for combo option \"Optimization level\" is not one of the choices. Possible choices are (as string): \"0\", \"g\", \"1\", \"2\", \"3\", \"s\"." } ] } diff --git a/test cases/failing/102 subdir parse error/test.json b/test cases/failing/102 subdir parse error/test.json deleted file mode 100644 index 06fd4d3..0000000 --- a/test cases/failing/102 subdir parse error/test.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "stdout": [ - { - "line": "test cases/failing/102 subdir parse error/subdir/meson.build:1:0: ERROR: Plusassignment target must be an id." - } - ] -} diff --git a/test cases/failing/108 bool in combo/meson.build b/test cases/failing/103 bool in combo/meson.build index c5efd67..c5efd67 100644 --- a/test cases/failing/108 bool in combo/meson.build +++ b/test cases/failing/103 bool in combo/meson.build diff --git a/test cases/failing/108 bool in combo/meson_options.txt b/test cases/failing/103 bool in combo/meson_options.txt index 0c8f5de..0c8f5de 100644 --- a/test cases/failing/108 bool in combo/meson_options.txt +++ b/test cases/failing/103 bool in combo/meson_options.txt diff --git a/test cases/failing/108 bool in combo/nativefile.ini b/test cases/failing/103 bool in combo/nativefile.ini index b423957..b423957 100644 --- a/test cases/failing/108 bool in combo/nativefile.ini +++ b/test cases/failing/103 bool in combo/nativefile.ini diff --git a/test cases/failing/108 bool in combo/test.json b/test cases/failing/103 bool in combo/test.json index 729ad3d..48d4cc3 100644 --- a/test cases/failing/108 bool in combo/test.json +++ b/test cases/failing/103 bool in combo/test.json @@ -1,5 +1,5 @@ { "stdout": [ - { "line": "test cases/failing/108 bool in combo/meson.build:1:0: ERROR: Value \"True\" (of type \"boolean\") for combo option \"opt\" is not one of the choices. Possible choices are (as string): \"true\", \"false\"." } + { "line": "test cases/failing/103 bool in combo/meson.build:1:0: ERROR: Value \"True\" (of type \"boolean\") for combo option \"opt\" is not one of the choices. Possible choices are (as string): \"true\", \"false\"." } ] } diff --git a/test cases/failing/103 invalid option file/test.json b/test cases/failing/103 invalid option file/test.json deleted file mode 100644 index 20dbec3..0000000 --- a/test cases/failing/103 invalid option file/test.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "stdout": [ - { - "line": "test cases/failing/103 invalid option file/meson_options.txt:1:0: ERROR: lexer" - } - ] -} diff --git a/test cases/failing/109 compiler no lang/meson.build b/test cases/failing/104 compiler no lang/meson.build index 366bbdd..366bbdd 100644 --- a/test cases/failing/109 compiler no lang/meson.build +++ b/test cases/failing/104 compiler no lang/meson.build diff --git a/test cases/failing/109 compiler no lang/test.json b/test cases/failing/104 compiler no lang/test.json index c613d5d..d8cc96e 100644 --- a/test cases/failing/109 compiler no lang/test.json +++ b/test cases/failing/104 compiler no lang/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/109 compiler no lang/meson.build:2:6: ERROR: Tried to access compiler for language \"c\", not specified for host machine." + "line": "test cases/failing/104 compiler no lang/meson.build:2:6: ERROR: Tried to access compiler for language \"c\", not specified for host machine." } ] } diff --git a/test cases/failing/110 no fallback/meson.build b/test cases/failing/105 no fallback/meson.build index 0101bb8..0101bb8 100644 --- a/test cases/failing/110 no fallback/meson.build +++ b/test cases/failing/105 no fallback/meson.build diff --git a/test cases/failing/110 no fallback/subprojects/foob/meson.build b/test cases/failing/105 no fallback/subprojects/foob/meson.build index b2c4814..b2c4814 100644 --- a/test cases/failing/110 no fallback/subprojects/foob/meson.build +++ b/test cases/failing/105 no fallback/subprojects/foob/meson.build diff --git a/test cases/failing/110 no fallback/test.json b/test cases/failing/105 no fallback/test.json index e034061..e034061 100644 --- a/test cases/failing/110 no fallback/test.json +++ b/test cases/failing/105 no fallback/test.json diff --git a/test cases/failing/111 feature require/meson.build b/test cases/failing/106 feature require/meson.build index d976ae8..d976ae8 100644 --- a/test cases/failing/111 feature require/meson.build +++ b/test cases/failing/106 feature require/meson.build diff --git a/test cases/failing/111 feature require/meson_options.txt b/test cases/failing/106 feature require/meson_options.txt index d6f2ce6..d6f2ce6 100644 --- a/test cases/failing/111 feature require/meson_options.txt +++ b/test cases/failing/106 feature require/meson_options.txt diff --git a/test cases/failing/111 feature require/test.json b/test cases/failing/106 feature require/test.json index 7c4640d..7c4640d 100644 --- a/test cases/failing/111 feature require/test.json +++ b/test cases/failing/106 feature require/test.json diff --git a/test cases/failing/111 no build get_external_property/meson.build b/test cases/failing/107 no build get_external_property/meson.build index 8a4215c..8a4215c 100644 --- a/test cases/failing/111 no build get_external_property/meson.build +++ b/test cases/failing/107 no build get_external_property/meson.build diff --git a/test cases/failing/111 no build get_external_property/test.json b/test cases/failing/107 no build get_external_property/test.json index 8b004be..b95427e 100644 --- a/test cases/failing/111 no build get_external_property/test.json +++ b/test cases/failing/107 no build get_external_property/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/111 no build get_external_property/meson.build:3:0: ERROR: Unknown property for build machine: nonexisting" + "line": "test cases/failing/107 no build get_external_property/meson.build:3:0: ERROR: Unknown property for build machine: nonexisting" } ] } diff --git a/test cases/failing/112 enter subdir twice/meson.build b/test cases/failing/108 enter subdir twice/meson.build index 9343233..9343233 100644 --- a/test cases/failing/112 enter subdir twice/meson.build +++ b/test cases/failing/108 enter subdir twice/meson.build diff --git a/test cases/failing/112 enter subdir twice/sub/meson.build b/test cases/failing/108 enter subdir twice/sub/meson.build index d036a3f..d036a3f 100644 --- a/test cases/failing/112 enter subdir twice/sub/meson.build +++ b/test cases/failing/108 enter subdir twice/sub/meson.build diff --git a/test cases/failing/112 enter subdir twice/test.json b/test cases/failing/108 enter subdir twice/test.json index 9443b2f..0a8e127 100644 --- a/test cases/failing/112 enter subdir twice/test.json +++ b/test cases/failing/108 enter subdir twice/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/112 enter subdir twice/meson.build:3:0: ERROR: Tried to enter directory \"sub\", which has already been visited." + "line": "test cases/failing/108 enter subdir twice/meson.build:3:0: ERROR: Tried to enter directory \"sub\", which has already been visited." } ] } diff --git a/test cases/failing/113 invalid fstring/meson.build b/test cases/failing/109 invalid fstring/meson.build index dd22f56..dd22f56 100644 --- a/test cases/failing/113 invalid fstring/meson.build +++ b/test cases/failing/109 invalid fstring/meson.build diff --git a/test cases/failing/113 invalid fstring/test.json b/test cases/failing/109 invalid fstring/test.json index 17442fd..71d8f59 100644 --- a/test cases/failing/113 invalid fstring/test.json +++ b/test cases/failing/109 invalid fstring/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/113 invalid fstring/meson.build:4:0: ERROR: Identifier \"dict\" does not name a formattable variable (has to be an integer, a string, a floating point number or a boolean)." + "line": "test cases/failing/109 invalid fstring/meson.build:4:0: ERROR: Identifier \"dict\" does not name a formattable variable (has to be an integer, a string, a floating point number or a boolean)." } ] } diff --git a/test cases/failing/114 invalid fstring/meson.build b/test cases/failing/110 invalid fstring/meson.build index 973df30..973df30 100644 --- a/test cases/failing/114 invalid fstring/meson.build +++ b/test cases/failing/110 invalid fstring/meson.build diff --git a/test cases/failing/114 invalid fstring/test.json b/test cases/failing/110 invalid fstring/test.json index 8ce34b0..bfd0e2d 100644 --- a/test cases/failing/114 invalid fstring/test.json +++ b/test cases/failing/110 invalid fstring/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/114 invalid fstring/meson.build:3:0: ERROR: Identifier \"foo\" does not name a variable." + "line": "test cases/failing/110 invalid fstring/meson.build:3:0: ERROR: Identifier \"foo\" does not name a variable." } ] } diff --git a/test cases/failing/115 compiler argument checking/meson.build b/test cases/failing/111 compiler argument checking/meson.build index bb1f447..bb1f447 100644 --- a/test cases/failing/115 compiler argument checking/meson.build +++ b/test cases/failing/111 compiler argument checking/meson.build diff --git a/test cases/failing/115 compiler argument checking/test.json b/test cases/failing/111 compiler argument checking/test.json index 93f9476..f41f2d2 100644 --- a/test cases/failing/115 compiler argument checking/test.json +++ b/test cases/failing/111 compiler argument checking/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/115 compiler argument checking/meson.build:4:0: ERROR: Compiler for C does not support \"-meson-goober-arg-for-testing\"" + "line": "test cases/failing/111 compiler argument checking/meson.build:4:0: ERROR: Compiler for C does not support \"-meson-goober-arg-for-testing\"" } ] } diff --git a/test cases/failing/115 empty fallback/meson.build b/test cases/failing/112 empty fallback/meson.build index f4eb5fe..f4eb5fe 100644 --- a/test cases/failing/115 empty fallback/meson.build +++ b/test cases/failing/112 empty fallback/meson.build diff --git a/test cases/failing/115 empty fallback/subprojects/foo/meson.build b/test cases/failing/112 empty fallback/subprojects/foo/meson.build index c9e134b..c9e134b 100644 --- a/test cases/failing/115 empty fallback/subprojects/foo/meson.build +++ b/test cases/failing/112 empty fallback/subprojects/foo/meson.build diff --git a/test cases/failing/115 empty fallback/test.json b/test cases/failing/112 empty fallback/test.json index dcfde45..89520ef 100644 --- a/test cases/failing/115 empty fallback/test.json +++ b/test cases/failing/112 empty fallback/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/115 empty fallback/meson.build:6:0: ERROR: Dependency \"foo\" not found, tried pkgconfig and cmake" + "line": "test cases/failing/112 empty fallback/meson.build:6:0: ERROR: Dependency \"foo\" not found, tried pkgconfig and cmake" } ] } diff --git a/test cases/failing/116 cmake executable dependency/meson.build b/test cases/failing/113 cmake executable dependency/meson.build index bfb03ef..bfb03ef 100644 --- a/test cases/failing/116 cmake executable dependency/meson.build +++ b/test cases/failing/113 cmake executable dependency/meson.build diff --git a/test cases/failing/116 cmake executable dependency/subprojects/cmlib/CMakeLists.txt b/test cases/failing/113 cmake executable dependency/subprojects/cmlib/CMakeLists.txt index 0067879..0067879 100644 --- a/test cases/failing/116 cmake executable dependency/subprojects/cmlib/CMakeLists.txt +++ b/test cases/failing/113 cmake executable dependency/subprojects/cmlib/CMakeLists.txt diff --git a/test cases/failing/104 no lang/main.c b/test cases/failing/113 cmake executable dependency/subprojects/cmlib/main.c index 9b6bdc2..9b6bdc2 100644 --- a/test cases/failing/104 no lang/main.c +++ b/test cases/failing/113 cmake executable dependency/subprojects/cmlib/main.c diff --git a/test cases/failing/116 cmake executable dependency/test.json b/test cases/failing/113 cmake executable dependency/test.json index d11cfa7..1cb4a0f 100644 --- a/test cases/failing/116 cmake executable dependency/test.json +++ b/test cases/failing/113 cmake executable dependency/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/116 cmake executable dependency/meson.build:9:0: ERROR: main is an executable and does not support the dependency() method. Use target() instead." + "line": "test cases/failing/113 cmake executable dependency/meson.build:9:0: ERROR: main is an executable and does not support the dependency() method. Use target() instead." } ] } diff --git a/test cases/failing/58 link with executable/meson.build b/test cases/failing/57 link with executable/meson.build index 186b3e5..186b3e5 100644 --- a/test cases/failing/58 link with executable/meson.build +++ b/test cases/failing/57 link with executable/meson.build diff --git a/test cases/failing/58 link with executable/module.c b/test cases/failing/57 link with executable/module.c index dc0124a..dc0124a 100644 --- a/test cases/failing/58 link with executable/module.c +++ b/test cases/failing/57 link with executable/module.c diff --git a/test cases/failing/58 link with executable/prog.c b/test cases/failing/57 link with executable/prog.c index f3836d7..f3836d7 100644 --- a/test cases/failing/58 link with executable/prog.c +++ b/test cases/failing/57 link with executable/prog.c diff --git a/test cases/failing/58 link with executable/test.json b/test cases/failing/57 link with executable/test.json index d3975c1..c835a90 100644 --- a/test cases/failing/58 link with executable/test.json +++ b/test cases/failing/57 link with executable/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/58 link with executable/meson.build:4:0: ERROR: Link target 'prog' is not linkable." + "line": "test cases/failing/57 link with executable/meson.build:4:0: ERROR: Link target 'prog' is not linkable." } ] } diff --git a/test cases/failing/59 assign custom target index/meson.build b/test cases/failing/58 assign custom target index/meson.build index 7f2a820..7f2a820 100644 --- a/test cases/failing/59 assign custom target index/meson.build +++ b/test cases/failing/58 assign custom target index/meson.build diff --git a/test cases/failing/59 assign custom target index/test.json b/test cases/failing/58 assign custom target index/test.json index 07ecb91..b5aa326 100644 --- a/test cases/failing/59 assign custom target index/test.json +++ b/test cases/failing/58 assign custom target index/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/59 assign custom target index/meson.build:24:0: ERROR: Assignment target must be an id." + "line": "test cases/failing/58 assign custom target index/meson.build:24:0: ERROR: Assignment target must be an id." } ] } diff --git a/test cases/failing/60 getoption prefix/meson.build b/test cases/failing/59 getoption prefix/meson.build index 8f85cff..8f85cff 100644 --- a/test cases/failing/60 getoption prefix/meson.build +++ b/test cases/failing/59 getoption prefix/meson.build diff --git a/test cases/failing/60 getoption prefix/subprojects/abc/meson.build b/test cases/failing/59 getoption prefix/subprojects/abc/meson.build index aa9c3df..aa9c3df 100644 --- a/test cases/failing/60 getoption prefix/subprojects/abc/meson.build +++ b/test cases/failing/59 getoption prefix/subprojects/abc/meson.build diff --git a/test cases/failing/60 getoption prefix/subprojects/abc/meson_options.txt b/test cases/failing/59 getoption prefix/subprojects/abc/meson_options.txt index 89e624e..89e624e 100644 --- a/test cases/failing/60 getoption prefix/subprojects/abc/meson_options.txt +++ b/test cases/failing/59 getoption prefix/subprojects/abc/meson_options.txt diff --git a/test cases/failing/60 getoption prefix/test.json b/test cases/failing/59 getoption prefix/test.json index 03bf419..4485e04 100644 --- a/test cases/failing/60 getoption prefix/test.json +++ b/test cases/failing/59 getoption prefix/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/60 getoption prefix/meson.build:5:0: ERROR: Having a colon in option name is forbidden, projects are not allowed to directly access options of other subprojects." + "line": "test cases/failing/59 getoption prefix/meson.build:5:0: ERROR: Having a colon in option name is forbidden, projects are not allowed to directly access options of other subprojects." } ] } diff --git a/test cases/failing/61 bad option argument/meson.build b/test cases/failing/60 bad option argument/meson.build index 5219cfb..5219cfb 100644 --- a/test cases/failing/61 bad option argument/meson.build +++ b/test cases/failing/60 bad option argument/meson.build diff --git a/test cases/failing/61 bad option argument/meson_options.txt b/test cases/failing/60 bad option argument/meson_options.txt index de1fff6..de1fff6 100644 --- a/test cases/failing/61 bad option argument/meson_options.txt +++ b/test cases/failing/60 bad option argument/meson_options.txt diff --git a/test cases/failing/61 bad option argument/test.json b/test cases/failing/60 bad option argument/test.json index 4002005..a2b2748 100644 --- a/test cases/failing/61 bad option argument/test.json +++ b/test cases/failing/60 bad option argument/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/61 bad option argument/meson_options.txt:1:0: ERROR: Invalid kwargs for option \"name\": \"vaule\"" + "line": "test cases/failing/60 bad option argument/meson_options.txt:1:0: ERROR: Invalid kwargs for option \"name\": \"vaule\"" } ] } diff --git a/test cases/failing/62 subproj filegrab/meson.build b/test cases/failing/61 subproj filegrab/meson.build index f38d6c7..f38d6c7 100644 --- a/test cases/failing/62 subproj filegrab/meson.build +++ b/test cases/failing/61 subproj filegrab/meson.build diff --git a/test cases/failing/62 subproj filegrab/prog.c b/test cases/failing/61 subproj filegrab/prog.c index 0314ff1..0314ff1 100644 --- a/test cases/failing/62 subproj filegrab/prog.c +++ b/test cases/failing/61 subproj filegrab/prog.c diff --git a/test cases/failing/62 subproj filegrab/subprojects/a/meson.build b/test cases/failing/61 subproj filegrab/subprojects/a/meson.build index 80b9888..80b9888 100644 --- a/test cases/failing/62 subproj filegrab/subprojects/a/meson.build +++ b/test cases/failing/61 subproj filegrab/subprojects/a/meson.build diff --git a/test cases/failing/62 subproj filegrab/test.json b/test cases/failing/61 subproj filegrab/test.json index 282cb73..600e0d5 100644 --- a/test cases/failing/62 subproj filegrab/test.json +++ b/test cases/failing/61 subproj filegrab/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/62 subproj filegrab/subprojects/a/meson.build:3:0: ERROR: Sandbox violation: Tried to grab file prog.c outside current (sub)project." + "line": "test cases/failing/61 subproj filegrab/subprojects/a/meson.build:3:0: ERROR: Sandbox violation: Tried to grab file prog.c outside current (sub)project." } ] } diff --git a/test cases/failing/63 grab subproj/meson.build b/test cases/failing/62 grab subproj/meson.build index 30fc690..30fc690 100644 --- a/test cases/failing/63 grab subproj/meson.build +++ b/test cases/failing/62 grab subproj/meson.build diff --git a/test cases/failing/63 grab subproj/subprojects/foo/meson.build b/test cases/failing/62 grab subproj/subprojects/foo/meson.build index b346f6d..b346f6d 100644 --- a/test cases/failing/63 grab subproj/subprojects/foo/meson.build +++ b/test cases/failing/62 grab subproj/subprojects/foo/meson.build diff --git a/test cases/failing/63 grab subproj/subprojects/foo/sub.c b/test cases/failing/62 grab subproj/subprojects/foo/sub.c index a94b1f5..a94b1f5 100644 --- a/test cases/failing/63 grab subproj/subprojects/foo/sub.c +++ b/test cases/failing/62 grab subproj/subprojects/foo/sub.c diff --git a/test cases/failing/63 grab subproj/test.json b/test cases/failing/62 grab subproj/test.json index 37ebb35..1503ad7 100644 --- a/test cases/failing/63 grab subproj/test.json +++ b/test cases/failing/62 grab subproj/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/63 grab subproj/meson.build:7:0: ERROR: Sandbox violation: Tried to grab file sub.c from a nested subproject." + "line": "test cases/failing/62 grab subproj/meson.build:7:0: ERROR: Sandbox violation: Tried to grab file sub.c from a nested subproject." } ] } diff --git a/test cases/failing/64 grab sibling/meson.build b/test cases/failing/63 grab sibling/meson.build index 60b926a..60b926a 100644 --- a/test cases/failing/64 grab sibling/meson.build +++ b/test cases/failing/63 grab sibling/meson.build diff --git a/test cases/failing/64 grab sibling/subprojects/a/meson.build b/test cases/failing/63 grab sibling/subprojects/a/meson.build index 6dd9f61..6dd9f61 100644 --- a/test cases/failing/64 grab sibling/subprojects/a/meson.build +++ b/test cases/failing/63 grab sibling/subprojects/a/meson.build diff --git a/test cases/failing/64 grab sibling/subprojects/b/meson.build b/test cases/failing/63 grab sibling/subprojects/b/meson.build index 7c70fe5..7c70fe5 100644 --- a/test cases/failing/64 grab sibling/subprojects/b/meson.build +++ b/test cases/failing/63 grab sibling/subprojects/b/meson.build diff --git a/test cases/failing/64 grab sibling/subprojects/b/sneaky.c b/test cases/failing/63 grab sibling/subprojects/b/sneaky.c index 46718c6..46718c6 100644 --- a/test cases/failing/64 grab sibling/subprojects/b/sneaky.c +++ b/test cases/failing/63 grab sibling/subprojects/b/sneaky.c diff --git a/test cases/failing/64 grab sibling/test.json b/test cases/failing/63 grab sibling/test.json index bd609ec..91715c7 100644 --- a/test cases/failing/64 grab sibling/test.json +++ b/test cases/failing/63 grab sibling/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/64 grab sibling/subprojects/a/meson.build:3:0: ERROR: Sandbox violation: Tried to grab file sneaky.c outside current (sub)project." + "line": "test cases/failing/63 grab sibling/subprojects/a/meson.build:3:0: ERROR: Sandbox violation: Tried to grab file sneaky.c outside current (sub)project." } ] } diff --git a/test cases/failing/65 string as link target/meson.build b/test cases/failing/64 string as link target/meson.build index cb83fff..cb83fff 100644 --- a/test cases/failing/65 string as link target/meson.build +++ b/test cases/failing/64 string as link target/meson.build diff --git a/test cases/failing/65 string as link target/prog.c b/test cases/failing/64 string as link target/prog.c index 0314ff1..0314ff1 100644 --- a/test cases/failing/65 string as link target/prog.c +++ b/test cases/failing/64 string as link target/prog.c diff --git a/test cases/failing/65 string as link target/test.json b/test cases/failing/64 string as link target/test.json index e212482..b07a2ea 100644 --- a/test cases/failing/65 string as link target/test.json +++ b/test cases/failing/64 string as link target/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/65 string as link target/meson.build:2:0: ERROR: '' is not a target." + "line": "test cases/failing/64 string as link target/meson.build:2:0: ERROR: '' is not a target." } ] } diff --git a/test cases/failing/66 dependency not-found and required/meson.build b/test cases/failing/65 dependency not-found and required/meson.build index 1ce5747..1ce5747 100644 --- a/test cases/failing/66 dependency not-found and required/meson.build +++ b/test cases/failing/65 dependency not-found and required/meson.build diff --git a/test cases/failing/66 dependency not-found and required/test.json b/test cases/failing/65 dependency not-found and required/test.json index d9fbc19..ff20969 100644 --- a/test cases/failing/66 dependency not-found and required/test.json +++ b/test cases/failing/65 dependency not-found and required/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/66 dependency not-found and required/meson.build:2:0: ERROR: Dependency is required but has no candidates." + "line": "test cases/failing/65 dependency not-found and required/meson.build:2:0: ERROR: Dependency is required but has no candidates." } ] } diff --git a/test cases/failing/67 subproj different versions/main.c b/test cases/failing/66 subproj different versions/main.c index 8793c62..8793c62 100644 --- a/test cases/failing/67 subproj different versions/main.c +++ b/test cases/failing/66 subproj different versions/main.c diff --git a/test cases/failing/67 subproj different versions/meson.build b/test cases/failing/66 subproj different versions/meson.build index e964e42..e964e42 100644 --- a/test cases/failing/67 subproj different versions/meson.build +++ b/test cases/failing/66 subproj different versions/meson.build diff --git a/test cases/failing/67 subproj different versions/subprojects/a/a.c b/test cases/failing/66 subproj different versions/subprojects/a/a.c index cd41a65..cd41a65 100644 --- a/test cases/failing/67 subproj different versions/subprojects/a/a.c +++ b/test cases/failing/66 subproj different versions/subprojects/a/a.c diff --git a/test cases/failing/67 subproj different versions/subprojects/a/a.h b/test cases/failing/66 subproj different versions/subprojects/a/a.h index 8f1d49e..8f1d49e 100644 --- a/test cases/failing/67 subproj different versions/subprojects/a/a.h +++ b/test cases/failing/66 subproj different versions/subprojects/a/a.h diff --git a/test cases/failing/67 subproj different versions/subprojects/a/meson.build b/test cases/failing/66 subproj different versions/subprojects/a/meson.build index e84182a..e84182a 100644 --- a/test cases/failing/67 subproj different versions/subprojects/a/meson.build +++ b/test cases/failing/66 subproj different versions/subprojects/a/meson.build diff --git a/test cases/failing/67 subproj different versions/subprojects/b/b.c b/test cases/failing/66 subproj different versions/subprojects/b/b.c index f85f8c3..f85f8c3 100644 --- a/test cases/failing/67 subproj different versions/subprojects/b/b.c +++ b/test cases/failing/66 subproj different versions/subprojects/b/b.c diff --git a/test cases/failing/67 subproj different versions/subprojects/b/b.h b/test cases/failing/66 subproj different versions/subprojects/b/b.h index eced786..eced786 100644 --- a/test cases/failing/67 subproj different versions/subprojects/b/b.h +++ b/test cases/failing/66 subproj different versions/subprojects/b/b.h diff --git a/test cases/failing/67 subproj different versions/subprojects/b/meson.build b/test cases/failing/66 subproj different versions/subprojects/b/meson.build index 0398340..0398340 100644 --- a/test cases/failing/67 subproj different versions/subprojects/b/meson.build +++ b/test cases/failing/66 subproj different versions/subprojects/b/meson.build diff --git a/test cases/failing/67 subproj different versions/subprojects/c/c.h b/test cases/failing/66 subproj different versions/subprojects/c/c.h index 2b15f60..2b15f60 100644 --- a/test cases/failing/67 subproj different versions/subprojects/c/c.h +++ b/test cases/failing/66 subproj different versions/subprojects/c/c.h diff --git a/test cases/failing/67 subproj different versions/subprojects/c/meson.build b/test cases/failing/66 subproj different versions/subprojects/c/meson.build index 7184933..7184933 100644 --- a/test cases/failing/67 subproj different versions/subprojects/c/meson.build +++ b/test cases/failing/66 subproj different versions/subprojects/c/meson.build diff --git a/test cases/failing/67 subproj different versions/test.json b/test cases/failing/66 subproj different versions/test.json index 3b34c0b..19e7b4a 100644 --- a/test cases/failing/67 subproj different versions/test.json +++ b/test cases/failing/66 subproj different versions/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/67 subproj different versions/subprojects/b/meson.build:3:0: ERROR: Dependency 'c' is required but not found." + "line": "test cases/failing/66 subproj different versions/subprojects/b/meson.build:3:0: ERROR: Dependency 'c' is required but not found." } ] } diff --git a/test cases/failing/68 wrong boost module/meson.build b/test cases/failing/67 wrong boost module/meson.build index 937e587..937e587 100644 --- a/test cases/failing/68 wrong boost module/meson.build +++ b/test cases/failing/67 wrong boost module/meson.build diff --git a/test cases/failing/68 wrong boost module/test.json b/test cases/failing/67 wrong boost module/test.json index 9edd452..5f9b21f 100644 --- a/test cases/failing/68 wrong boost module/test.json +++ b/test cases/failing/67 wrong boost module/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/68 wrong boost module/meson.build:9:0: ERROR: Dependency \"boost\" not found, tried system" + "line": "test cases/failing/67 wrong boost module/meson.build:9:0: ERROR: Dependency \"boost\" not found, tried system" } ] } diff --git a/test cases/failing/69 install_data rename bad size/file1.txt b/test cases/failing/68 install_data rename bad size/file1.txt index e69de29..e69de29 100644 --- a/test cases/failing/69 install_data rename bad size/file1.txt +++ b/test cases/failing/68 install_data rename bad size/file1.txt diff --git a/test cases/failing/69 install_data rename bad size/file2.txt b/test cases/failing/68 install_data rename bad size/file2.txt index e69de29..e69de29 100644 --- a/test cases/failing/69 install_data rename bad size/file2.txt +++ b/test cases/failing/68 install_data rename bad size/file2.txt diff --git a/test cases/failing/69 install_data rename bad size/meson.build b/test cases/failing/68 install_data rename bad size/meson.build index c7cde08..c7cde08 100644 --- a/test cases/failing/69 install_data rename bad size/meson.build +++ b/test cases/failing/68 install_data rename bad size/meson.build diff --git a/test cases/failing/69 install_data rename bad size/test.json b/test cases/failing/68 install_data rename bad size/test.json index b99688a..a3cbb1b 100644 --- a/test cases/failing/69 install_data rename bad size/test.json +++ b/test cases/failing/68 install_data rename bad size/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/69 install_data rename bad size/meson.build:3:0: ERROR: \"rename\" and \"sources\" argument lists must be the same length if \"rename\" is given. Rename has 1 elements and sources has 2." + "line": "test cases/failing/68 install_data rename bad size/meson.build:3:0: ERROR: \"rename\" and \"sources\" argument lists must be the same length if \"rename\" is given. Rename has 1 elements and sources has 2." } ] } diff --git a/test cases/failing/70 skip only subdir/meson.build b/test cases/failing/69 skip only subdir/meson.build index 4832bd4..4832bd4 100644 --- a/test cases/failing/70 skip only subdir/meson.build +++ b/test cases/failing/69 skip only subdir/meson.build diff --git a/test cases/failing/70 skip only subdir/subdir/meson.build b/test cases/failing/69 skip only subdir/subdir/meson.build index 1ba447b..1ba447b 100644 --- a/test cases/failing/70 skip only subdir/subdir/meson.build +++ b/test cases/failing/69 skip only subdir/subdir/meson.build diff --git a/test cases/failing/70 skip only subdir/test.json b/test cases/failing/69 skip only subdir/test.json index 3b40b66..134971a 100644 --- a/test cases/failing/70 skip only subdir/test.json +++ b/test cases/failing/69 skip only subdir/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/70 skip only subdir/meson.build:8:0: ERROR: File main.cpp does not exist." + "line": "test cases/failing/69 skip only subdir/meson.build:8:0: ERROR: File main.cpp does not exist." } ] } diff --git a/test cases/failing/71 dual override/meson.build b/test cases/failing/70 dual override/meson.build index e5f86ba..e5f86ba 100644 --- a/test cases/failing/71 dual override/meson.build +++ b/test cases/failing/70 dual override/meson.build diff --git a/test cases/failing/71 dual override/overrides.py b/test cases/failing/70 dual override/overrides.py index 49e9b7a..49e9b7a 100644 --- a/test cases/failing/71 dual override/overrides.py +++ b/test cases/failing/70 dual override/overrides.py diff --git a/test cases/failing/71 dual override/test.json b/test cases/failing/70 dual override/test.json index 66409e6..e955dc0 100644 --- a/test cases/failing/71 dual override/test.json +++ b/test cases/failing/70 dual override/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/71 dual override/meson.build:5:6: ERROR: Tried to override executable \"override\" which has already been overridden." + "line": "test cases/failing/70 dual override/meson.build:5:6: ERROR: Tried to override executable \"override\" which has already been overridden." } ] } diff --git a/test cases/failing/72 override used/meson.build b/test cases/failing/71 override used/meson.build index 61885bb..61885bb 100644 --- a/test cases/failing/72 override used/meson.build +++ b/test cases/failing/71 override used/meson.build diff --git a/test cases/failing/72 override used/other.py b/test cases/failing/71 override used/other.py index f62ba96..f62ba96 100755 --- a/test cases/failing/72 override used/other.py +++ b/test cases/failing/71 override used/other.py diff --git a/test cases/failing/72 override used/something.py b/test cases/failing/71 override used/something.py index 64c9454..64c9454 100755 --- a/test cases/failing/72 override used/something.py +++ b/test cases/failing/71 override used/something.py diff --git a/test cases/failing/72 override used/test.json b/test cases/failing/71 override used/test.json index 29a58f1..6c734e4 100644 --- a/test cases/failing/72 override used/test.json +++ b/test cases/failing/71 override used/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/72 override used/meson.build:5:6: ERROR: Tried to override finding of executable \"something.py\" which has already been found." + "line": "test cases/failing/71 override used/meson.build:5:6: ERROR: Tried to override finding of executable \"something.py\" which has already been found." } ] } diff --git a/test cases/failing/73 run_command unclean exit/meson.build b/test cases/failing/72 run_command unclean exit/meson.build index 4bc02ae..4bc02ae 100644 --- a/test cases/failing/73 run_command unclean exit/meson.build +++ b/test cases/failing/72 run_command unclean exit/meson.build diff --git a/test cases/failing/73 run_command unclean exit/returncode.py b/test cases/failing/72 run_command unclean exit/returncode.py index 84dbc5d..84dbc5d 100755 --- a/test cases/failing/73 run_command unclean exit/returncode.py +++ b/test cases/failing/72 run_command unclean exit/returncode.py diff --git a/test cases/failing/73 run_command unclean exit/test.json b/test cases/failing/72 run_command unclean exit/test.json index beda187..67a80f4 100644 --- a/test cases/failing/73 run_command unclean exit/test.json +++ b/test cases/failing/72 run_command unclean exit/test.json @@ -2,7 +2,7 @@ "stdout": [ { "match": "re", - "line": "test cases/failing/73 run_command unclean exit/meson\\.build:4:0: ERROR: Command \".*[\\\\/]test cases[\\\\/]failing[\\\\/]73 run_command unclean exit[\\\\/]\\.[\\\\/]returncode\\.py 1\" failed with status 1\\." + "line": "test cases/failing/72 run_command unclean exit/meson\\.build:4:0: ERROR: Command \".*[\\\\/]test cases[\\\\/]failing[\\\\/]72 run_command unclean exit[\\\\/]\\.[\\\\/]returncode\\.py 1\" failed with status 1\\." } ] } diff --git a/test cases/failing/74 int literal leading zero/meson.build b/test cases/failing/73 int literal leading zero/meson.build index 7ad64ae..7ad64ae 100644 --- a/test cases/failing/74 int literal leading zero/meson.build +++ b/test cases/failing/73 int literal leading zero/meson.build diff --git a/test cases/failing/74 int literal leading zero/test.json b/test cases/failing/73 int literal leading zero/test.json index 78a735e..bc41165 100644 --- a/test cases/failing/74 int literal leading zero/test.json +++ b/test cases/failing/73 int literal leading zero/test.json @@ -2,7 +2,7 @@ "stdout": [ { "comment": "this error message is not very informative", - "line": "test cases/failing/74 int literal leading zero/meson.build:5:13: ERROR: Expecting eof got number." + "line": "test cases/failing/73 int literal leading zero/meson.build:5:13: ERROR: Expecting eof got number." } ] } diff --git a/test cases/failing/75 configuration immutable/input b/test cases/failing/74 configuration immutable/input index e69de29..e69de29 100644 --- a/test cases/failing/75 configuration immutable/input +++ b/test cases/failing/74 configuration immutable/input diff --git a/test cases/failing/75 configuration immutable/meson.build b/test cases/failing/74 configuration immutable/meson.build index b6cac41..b6cac41 100644 --- a/test cases/failing/75 configuration immutable/meson.build +++ b/test cases/failing/74 configuration immutable/meson.build diff --git a/test cases/failing/75 configuration immutable/test.json b/test cases/failing/74 configuration immutable/test.json index 3365aae..1dd172a 100644 --- a/test cases/failing/75 configuration immutable/test.json +++ b/test cases/failing/74 configuration immutable/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/75 configuration immutable/meson.build:12:16: ERROR: Can not set values on configuration object that has been used." + "line": "test cases/failing/74 configuration immutable/meson.build:12:16: ERROR: Can not set values on configuration object that has been used." } ] } diff --git a/test cases/failing/76 link with shared module on osx/meson.build b/test cases/failing/75 link with shared module on osx/meson.build index bf18b36..bf18b36 100644 --- a/test cases/failing/76 link with shared module on osx/meson.build +++ b/test cases/failing/75 link with shared module on osx/meson.build diff --git a/test cases/failing/76 link with shared module on osx/module.c b/test cases/failing/75 link with shared module on osx/module.c index 81b0d5a..81b0d5a 100644 --- a/test cases/failing/76 link with shared module on osx/module.c +++ b/test cases/failing/75 link with shared module on osx/module.c diff --git a/test cases/failing/76 link with shared module on osx/prog.c b/test cases/failing/75 link with shared module on osx/prog.c index 8164d8d..8164d8d 100644 --- a/test cases/failing/76 link with shared module on osx/prog.c +++ b/test cases/failing/75 link with shared module on osx/prog.c diff --git a/test cases/failing/76 link with shared module on osx/test.json b/test cases/failing/75 link with shared module on osx/test.json index 0a32674..7db17d8 100644 --- a/test cases/failing/76 link with shared module on osx/test.json +++ b/test cases/failing/75 link with shared module on osx/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/76 link with shared module on osx/meson.build:8:0: ERROR: target links against shared modules. This is not permitted on OSX" + "line": "test cases/failing/75 link with shared module on osx/meson.build:8:0: ERROR: target links against shared modules. This is not permitted on OSX" } ] } diff --git a/test cases/failing/77 non ascii in ascii encoded configure file/config9.h.in b/test cases/failing/76 non ascii in ascii encoded configure file/config9.h.in index 323bec6..323bec6 100644 --- a/test cases/failing/77 non ascii in ascii encoded configure file/config9.h.in +++ b/test cases/failing/76 non ascii in ascii encoded configure file/config9.h.in diff --git a/test cases/failing/77 non ascii in ascii encoded configure file/meson.build b/test cases/failing/76 non ascii in ascii encoded configure file/meson.build index 846daaf..846daaf 100644 --- a/test cases/failing/77 non ascii in ascii encoded configure file/meson.build +++ b/test cases/failing/76 non ascii in ascii encoded configure file/meson.build diff --git a/test cases/failing/77 non ascii in ascii encoded configure file/test.json b/test cases/failing/76 non ascii in ascii encoded configure file/test.json index e35b95b..44e6377 100644 --- a/test cases/failing/77 non ascii in ascii encoded configure file/test.json +++ b/test cases/failing/76 non ascii in ascii encoded configure file/test.json @@ -2,7 +2,7 @@ "stdout": [ { "match": "re", - "line": "test cases/failing/77 non ascii in ascii encoded configure file/meson\\.build:5:0: ERROR: Could not write output file .*[\\\\/]config9\\.h: 'ascii' codec can't encode character '\\\\u0434' in position 17: ordinal not in range\\(128\\)" + "line": "test cases/failing/76 non ascii in ascii encoded configure file/meson\\.build:5:0: ERROR: Could not write output file .*[\\\\/]config9\\.h: 'ascii' codec can't encode character '\\\\u0434' in position 17: ordinal not in range\\(128\\)" } ] } diff --git a/test cases/failing/78 subproj dependency not-found and required/meson.build b/test cases/failing/77 subproj dependency not-found and required/meson.build index c5a2961..c5a2961 100644 --- a/test cases/failing/78 subproj dependency not-found and required/meson.build +++ b/test cases/failing/77 subproj dependency not-found and required/meson.build diff --git a/test cases/failing/78 subproj dependency not-found and required/test.json b/test cases/failing/77 subproj dependency not-found and required/test.json index a89c0eb..5365f34 100644 --- a/test cases/failing/78 subproj dependency not-found and required/test.json +++ b/test cases/failing/77 subproj dependency not-found and required/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/78 subproj dependency not-found and required/meson.build:2:0: ERROR: Neither a subproject directory nor a missing.wrap file was found." + "line": "test cases/failing/77 subproj dependency not-found and required/meson.build:2:0: ERROR: Neither a subproject directory nor a missing.wrap file was found." } ] } diff --git a/test cases/failing/79 unfound run/meson.build b/test cases/failing/78 unfound run/meson.build index 3f37e9a..3f37e9a 100644 --- a/test cases/failing/79 unfound run/meson.build +++ b/test cases/failing/78 unfound run/meson.build diff --git a/test cases/failing/79 unfound run/test.json b/test cases/failing/78 unfound run/test.json index 6baafc0..0cdcdf2 100644 --- a/test cases/failing/79 unfound run/test.json +++ b/test cases/failing/78 unfound run/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/79 unfound run/meson.build:4:0: ERROR: Tried to use non-existing executable 'nonexisting_prog'" + "line": "test cases/failing/78 unfound run/meson.build:4:0: ERROR: Tried to use non-existing executable 'nonexisting_prog'" } ] } diff --git a/test cases/failing/80 framework dependency with version/meson.build b/test cases/failing/79 framework dependency with version/meson.build index b7e04ba..b7e04ba 100644 --- a/test cases/failing/80 framework dependency with version/meson.build +++ b/test cases/failing/79 framework dependency with version/meson.build diff --git a/test cases/failing/80 framework dependency with version/test.json b/test cases/failing/79 framework dependency with version/test.json index 5cbc129..9b0d335 100644 --- a/test cases/failing/80 framework dependency with version/test.json +++ b/test cases/failing/79 framework dependency with version/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/80 framework dependency with version/meson.build:8:0: ERROR: Unknown version of dependency 'appleframeworks', but need ['>0']." + "line": "test cases/failing/79 framework dependency with version/meson.build:8:0: ERROR: Unknown version of dependency 'appleframeworks', but need ['>0']." } ] } diff --git a/test cases/failing/81 override exe config/foo.c b/test cases/failing/80 override exe config/foo.c index 03b2213..03b2213 100644 --- a/test cases/failing/81 override exe config/foo.c +++ b/test cases/failing/80 override exe config/foo.c diff --git a/test cases/failing/81 override exe config/meson.build b/test cases/failing/80 override exe config/meson.build index 29a7416..29a7416 100644 --- a/test cases/failing/81 override exe config/meson.build +++ b/test cases/failing/80 override exe config/meson.build diff --git a/test cases/failing/81 override exe config/test.json b/test cases/failing/80 override exe config/test.json index f19785b..36c789e 100644 --- a/test cases/failing/81 override exe config/test.json +++ b/test cases/failing/80 override exe config/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/81 override exe config/meson.build:6:0: ERROR: Program 'bar' was overridden with the compiled executable 'foo' and therefore cannot be used during configuration" + "line": "test cases/failing/80 override exe config/meson.build:6:0: ERROR: Program 'bar' was overridden with the compiled executable 'foo' and therefore cannot be used during configuration" } ] } diff --git a/test cases/failing/82 gl dependency with version/meson.build b/test cases/failing/81 gl dependency with version/meson.build index 0127093..0127093 100644 --- a/test cases/failing/82 gl dependency with version/meson.build +++ b/test cases/failing/81 gl dependency with version/meson.build diff --git a/test cases/failing/82 gl dependency with version/test.json b/test cases/failing/81 gl dependency with version/test.json index 2c63a2c..86da735 100644 --- a/test cases/failing/82 gl dependency with version/test.json +++ b/test cases/failing/81 gl dependency with version/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/82 gl dependency with version/meson.build:9:0: ERROR: Unknown version of dependency 'gl', but need ['>0']." + "line": "test cases/failing/81 gl dependency with version/meson.build:9:0: ERROR: Unknown version of dependency 'gl', but need ['>0']." } ] } diff --git a/test cases/failing/83 threads dependency with version/meson.build b/test cases/failing/82 threads dependency with version/meson.build index 6023fae..6023fae 100644 --- a/test cases/failing/83 threads dependency with version/meson.build +++ b/test cases/failing/82 threads dependency with version/meson.build diff --git a/test cases/failing/83 threads dependency with version/test.json b/test cases/failing/82 threads dependency with version/test.json index b131be4..9b71468 100644 --- a/test cases/failing/83 threads dependency with version/test.json +++ b/test cases/failing/82 threads dependency with version/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/83 threads dependency with version/meson.build:3:0: ERROR: Unknown version of dependency 'threads', but need ['>0']." + "line": "test cases/failing/82 threads dependency with version/meson.build:3:0: ERROR: Unknown version of dependency 'threads', but need ['>0']." } ] } diff --git a/test cases/failing/84 gtest dependency with version/meson.build b/test cases/failing/83 gtest dependency with version/meson.build index b43a047..b43a047 100644 --- a/test cases/failing/84 gtest dependency with version/meson.build +++ b/test cases/failing/83 gtest dependency with version/meson.build diff --git a/test cases/failing/84 gtest dependency with version/test.json b/test cases/failing/83 gtest dependency with version/test.json index 6f0b41d..4a44077 100644 --- a/test cases/failing/84 gtest dependency with version/test.json +++ b/test cases/failing/83 gtest dependency with version/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/84 gtest dependency with version/meson.build:8:0: ERROR: Dependency 'gtest' is required but not found." + "line": "test cases/failing/83 gtest dependency with version/meson.build:8:0: ERROR: Dependency 'gtest' is required but not found." } ] } diff --git a/test cases/failing/85 dub libray/meson.build b/test cases/failing/84 dub libray/meson.build index 306d5b3..306d5b3 100644 --- a/test cases/failing/85 dub libray/meson.build +++ b/test cases/failing/84 dub libray/meson.build diff --git a/test cases/failing/85 dub libray/test.json b/test cases/failing/84 dub libray/test.json index a8b3e28..23fe6e5 100644 --- a/test cases/failing/85 dub libray/test.json +++ b/test cases/failing/84 dub libray/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/85 dub libray/meson.build:11:0: ERROR: Dependency \"dubtestproject\" not found" + "line": "test cases/failing/84 dub libray/meson.build:11:0: ERROR: Dependency \"dubtestproject\" not found" } ] } diff --git a/test cases/failing/86 dub executable/meson.build b/test cases/failing/85 dub executable/meson.build index 9a134ea..9a134ea 100644 --- a/test cases/failing/86 dub executable/meson.build +++ b/test cases/failing/85 dub executable/meson.build diff --git a/test cases/failing/86 dub executable/test.json b/test cases/failing/85 dub executable/test.json index f9944af..4a8674c 100644 --- a/test cases/failing/86 dub executable/test.json +++ b/test cases/failing/85 dub executable/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/86 dub executable/meson.build:11:0: ERROR: Dependency \"dubtestproject:test1\" not found" + "line": "test cases/failing/85 dub executable/meson.build:11:0: ERROR: Dependency \"dubtestproject:test1\" not found" } ] } diff --git a/test cases/failing/87 dub compiler/meson.build b/test cases/failing/86 dub compiler/meson.build index 36f1849..36f1849 100644 --- a/test cases/failing/87 dub compiler/meson.build +++ b/test cases/failing/86 dub compiler/meson.build diff --git a/test cases/failing/87 dub compiler/test.json b/test cases/failing/86 dub compiler/test.json index f28312f..ab6caff 100644 --- a/test cases/failing/87 dub compiler/test.json +++ b/test cases/failing/86 dub compiler/test.json @@ -13,7 +13,7 @@ }, "stdout": [ { - "line": "test cases/failing/87 dub compiler/meson.build:17:0: ERROR: Dependency \"dubtestproject:test2\" not found" + "line": "test cases/failing/86 dub compiler/meson.build:17:0: ERROR: Dependency \"dubtestproject:test2\" not found" } ] } diff --git a/test cases/failing/88 subproj not-found dep/meson.build b/test cases/failing/87 subproj not-found dep/meson.build index 2b17df1..2b17df1 100644 --- a/test cases/failing/88 subproj not-found dep/meson.build +++ b/test cases/failing/87 subproj not-found dep/meson.build diff --git a/test cases/failing/88 subproj not-found dep/subprojects/somesubproj/meson.build b/test cases/failing/87 subproj not-found dep/subprojects/somesubproj/meson.build index 5f451f4..5f451f4 100644 --- a/test cases/failing/88 subproj not-found dep/subprojects/somesubproj/meson.build +++ b/test cases/failing/87 subproj not-found dep/subprojects/somesubproj/meson.build diff --git a/test cases/failing/88 subproj not-found dep/test.json b/test cases/failing/87 subproj not-found dep/test.json index 7598bc2..160e9d3 100644 --- a/test cases/failing/88 subproj not-found dep/test.json +++ b/test cases/failing/87 subproj not-found dep/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/88 subproj not-found dep/meson.build:2:0: ERROR: Dependency '(anonymous)' is required but not found." + "line": "test cases/failing/87 subproj not-found dep/meson.build:2:0: ERROR: Dependency '(anonymous)' is required but not found." } ] } diff --git a/test cases/failing/89 invalid configure file/input b/test cases/failing/88 invalid configure file/input index e69de29..e69de29 100644 --- a/test cases/failing/89 invalid configure file/input +++ b/test cases/failing/88 invalid configure file/input diff --git a/test cases/failing/89 invalid configure file/meson.build b/test cases/failing/88 invalid configure file/meson.build index 08eca2b..08eca2b 100644 --- a/test cases/failing/89 invalid configure file/meson.build +++ b/test cases/failing/88 invalid configure file/meson.build diff --git a/test cases/failing/89 invalid configure file/test.json b/test cases/failing/88 invalid configure file/test.json index 921ce61..b551f61 100644 --- a/test cases/failing/89 invalid configure file/test.json +++ b/test cases/failing/88 invalid configure file/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/89 invalid configure file/meson.build:3:0: ERROR: \"install_dir\" must be specified when \"install\" in a configure_file is true" + "line": "test cases/failing/88 invalid configure file/meson.build:3:0: ERROR: \"install_dir\" must be specified when \"install\" in a configure_file is true" } ] } diff --git a/test cases/failing/90 kwarg dupe/meson.build b/test cases/failing/89 kwarg dupe/meson.build index 06821a2..06821a2 100644 --- a/test cases/failing/90 kwarg dupe/meson.build +++ b/test cases/failing/89 kwarg dupe/meson.build diff --git a/test cases/failing/90 kwarg dupe/prog.c b/test cases/failing/89 kwarg dupe/prog.c index 5f3fbe6..5f3fbe6 100644 --- a/test cases/failing/90 kwarg dupe/prog.c +++ b/test cases/failing/89 kwarg dupe/prog.c diff --git a/test cases/failing/90 kwarg dupe/test.json b/test cases/failing/89 kwarg dupe/test.json index a8df75d..ec46600 100644 --- a/test cases/failing/90 kwarg dupe/test.json +++ b/test cases/failing/89 kwarg dupe/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/90 kwarg dupe/meson.build:5:0: ERROR: Entry \"install\" defined both as a keyword argument and in a \"kwarg\" entry." + "line": "test cases/failing/89 kwarg dupe/meson.build:5:0: ERROR: Entry \"install\" defined both as a keyword argument and in a \"kwarg\" entry." } ] } diff --git a/test cases/failing/91 missing pch file/meson.build b/test cases/failing/90 missing pch file/meson.build index a67b798..a67b798 100644 --- a/test cases/failing/91 missing pch file/meson.build +++ b/test cases/failing/90 missing pch file/meson.build diff --git a/test cases/failing/91 missing pch file/prog.c b/test cases/failing/90 missing pch file/prog.c index 11b7fad..11b7fad 100644 --- a/test cases/failing/91 missing pch file/prog.c +++ b/test cases/failing/90 missing pch file/prog.c diff --git a/test cases/failing/91 missing pch file/test.json b/test cases/failing/90 missing pch file/test.json index 166f627..f55eb47 100644 --- a/test cases/failing/91 missing pch file/test.json +++ b/test cases/failing/90 missing pch file/test.json @@ -2,7 +2,7 @@ "stdout": [ { "comment": "literal 'pch/prog.h' from meson.build appears in output, irrespective of os.path.sep", - "line": "test cases/failing/91 missing pch file/meson.build:2:0: ERROR: File pch/prog.h does not exist." + "line": "test cases/failing/90 missing pch file/meson.build:2:0: ERROR: File pch/prog.h does not exist." } ] } diff --git a/test cases/failing/92 pch source different folder/include/pch.h b/test cases/failing/91 pch source different folder/include/pch.h index e69de29..e69de29 100644 --- a/test cases/failing/92 pch source different folder/include/pch.h +++ b/test cases/failing/91 pch source different folder/include/pch.h diff --git a/test cases/failing/92 pch source different folder/meson.build b/test cases/failing/91 pch source different folder/meson.build index d320717..d320717 100644 --- a/test cases/failing/92 pch source different folder/meson.build +++ b/test cases/failing/91 pch source different folder/meson.build diff --git a/test cases/failing/92 pch source different folder/prog.c b/test cases/failing/91 pch source different folder/prog.c index 3fb1295..3fb1295 100644 --- a/test cases/failing/92 pch source different folder/prog.c +++ b/test cases/failing/91 pch source different folder/prog.c diff --git a/test cases/failing/92 pch source different folder/src/pch.c b/test cases/failing/91 pch source different folder/src/pch.c index e69de29..e69de29 100644 --- a/test cases/failing/92 pch source different folder/src/pch.c +++ b/test cases/failing/91 pch source different folder/src/pch.c diff --git a/test cases/failing/92 pch source different folder/test.json b/test cases/failing/91 pch source different folder/test.json index d94db50..6309f6c 100644 --- a/test cases/failing/92 pch source different folder/test.json +++ b/test cases/failing/91 pch source different folder/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/92 pch source different folder/meson.build:4:0: ERROR: PCH files must be stored in the same folder." + "line": "test cases/failing/91 pch source different folder/meson.build:4:0: ERROR: PCH files must be stored in the same folder." } ] } diff --git a/test cases/failing/94 unknown config tool/meson.build b/test cases/failing/92 unknown config tool/meson.build index 536976e..536976e 100644 --- a/test cases/failing/94 unknown config tool/meson.build +++ b/test cases/failing/92 unknown config tool/meson.build diff --git a/test cases/failing/94 unknown config tool/test.json b/test cases/failing/92 unknown config tool/test.json index a001152..c4484f3 100644 --- a/test cases/failing/94 unknown config tool/test.json +++ b/test cases/failing/92 unknown config tool/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/94 unknown config tool/meson.build:2:0: ERROR: Dependency \"no-such-config-tool\" not found" + "line": "test cases/failing/92 unknown config tool/meson.build:2:0: ERROR: Dependency \"no-such-config-tool\" not found" } ] } diff --git a/test cases/failing/95 custom target install data/Info.plist.cpp b/test cases/failing/93 custom target install data/Info.plist.cpp index 9ca2fcb..9ca2fcb 100644 --- a/test cases/failing/95 custom target install data/Info.plist.cpp +++ b/test cases/failing/93 custom target install data/Info.plist.cpp diff --git a/test cases/failing/95 custom target install data/meson.build b/test cases/failing/93 custom target install data/meson.build index 00d348c..00d348c 100644 --- a/test cases/failing/95 custom target install data/meson.build +++ b/test cases/failing/93 custom target install data/meson.build diff --git a/test cases/failing/95 custom target install data/preproc.py b/test cases/failing/93 custom target install data/preproc.py index e6eba4c..e6eba4c 100644 --- a/test cases/failing/95 custom target install data/preproc.py +++ b/test cases/failing/93 custom target install data/preproc.py diff --git a/test cases/failing/95 custom target install data/test.json b/test cases/failing/93 custom target install data/test.json index c8004d6..caeafb1 100644 --- a/test cases/failing/95 custom target install data/test.json +++ b/test cases/failing/93 custom target install data/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/95 custom target install data/meson.build:11:0: ERROR: install_data argument 1 was of type \"CustomTarget\" but should have been one of: \"str\", \"File\"" + "line": "test cases/failing/93 custom target install data/meson.build:11:0: ERROR: install_data argument 1 was of type \"CustomTarget\" but should have been one of: \"str\", \"File\"" } ] } diff --git a/test cases/failing/96 add dict non string key/meson.build b/test cases/failing/94 add dict non string key/meson.build index c81a3f7..c81a3f7 100644 --- a/test cases/failing/96 add dict non string key/meson.build +++ b/test cases/failing/94 add dict non string key/meson.build diff --git a/test cases/failing/96 add dict non string key/test.json b/test cases/failing/94 add dict non string key/test.json index 5fd4033..09459dd 100644 --- a/test cases/failing/96 add dict non string key/test.json +++ b/test cases/failing/94 add dict non string key/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/96 add dict non string key/meson.build:9:0: ERROR: Key must be a string" + "line": "test cases/failing/94 add dict non string key/meson.build:9:0: ERROR: Key must be a string" } ] } diff --git a/test cases/failing/97 add dict duplicate keys/meson.build b/test cases/failing/95 add dict duplicate keys/meson.build index 7a9b523..7a9b523 100644 --- a/test cases/failing/97 add dict duplicate keys/meson.build +++ b/test cases/failing/95 add dict duplicate keys/meson.build diff --git a/test cases/failing/97 add dict duplicate keys/test.json b/test cases/failing/95 add dict duplicate keys/test.json index 9d01551..ae9a81f 100644 --- a/test cases/failing/97 add dict duplicate keys/test.json +++ b/test cases/failing/95 add dict duplicate keys/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/97 add dict duplicate keys/meson.build:9:0: ERROR: Duplicate dictionary key: myKey" + "line": "test cases/failing/95 add dict duplicate keys/meson.build:9:0: ERROR: Duplicate dictionary key: myKey" } ] } diff --git a/test cases/failing/99 no host get_external_property/meson.build b/test cases/failing/96 no host get_external_property/meson.build index c956754..c956754 100644 --- a/test cases/failing/99 no host get_external_property/meson.build +++ b/test cases/failing/96 no host get_external_property/meson.build diff --git a/test cases/failing/99 no host get_external_property/test.json b/test cases/failing/96 no host get_external_property/test.json index 44b5245..3376a0b 100644 --- a/test cases/failing/99 no host get_external_property/test.json +++ b/test cases/failing/96 no host get_external_property/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/99 no host get_external_property/meson.build:3:0: ERROR: Unknown property for host machine: nonexisting" + "line": "test cases/failing/96 no host get_external_property/meson.build:3:0: ERROR: Unknown property for host machine: nonexisting" } ] } diff --git a/test cases/failing/116 cmake executable dependency/subprojects/cmlib/main.c b/test cases/failing/97 no native compiler/main.c index 9b6bdc2..9b6bdc2 100644 --- a/test cases/failing/116 cmake executable dependency/subprojects/cmlib/main.c +++ b/test cases/failing/97 no native compiler/main.c diff --git a/test cases/failing/101 no native compiler/meson.build b/test cases/failing/97 no native compiler/meson.build index f0126ac..f0126ac 100644 --- a/test cases/failing/101 no native compiler/meson.build +++ b/test cases/failing/97 no native compiler/meson.build diff --git a/test cases/failing/97 no native compiler/test.json b/test cases/failing/97 no native compiler/test.json new file mode 100644 index 0000000..b79bd3b --- /dev/null +++ b/test cases/failing/97 no native compiler/test.json @@ -0,0 +1,7 @@ +{ + "stdout": [ + { + "line": "test cases/failing/97 no native compiler/meson.build:12:0: ERROR: No host machine compiler for \"main.c\"" + } + ] +} diff --git a/test cases/failing/102 subdir parse error/meson.build b/test cases/failing/98 subdir parse error/meson.build index ee5bb0c..ee5bb0c 100644 --- a/test cases/failing/102 subdir parse error/meson.build +++ b/test cases/failing/98 subdir parse error/meson.build diff --git a/test cases/failing/102 subdir parse error/subdir/meson.build b/test cases/failing/98 subdir parse error/subdir/meson.build index 3ac5ef9..3ac5ef9 100644 --- a/test cases/failing/102 subdir parse error/subdir/meson.build +++ b/test cases/failing/98 subdir parse error/subdir/meson.build diff --git a/test cases/failing/98 subdir parse error/test.json b/test cases/failing/98 subdir parse error/test.json new file mode 100644 index 0000000..8e04799 --- /dev/null +++ b/test cases/failing/98 subdir parse error/test.json @@ -0,0 +1,7 @@ +{ + "stdout": [ + { + "line": "test cases/failing/98 subdir parse error/subdir/meson.build:1:0: ERROR: Plusassignment target must be an id." + } + ] +} diff --git a/test cases/failing/103 invalid option file/meson.build b/test cases/failing/99 invalid option file/meson.build index b0347c3..b0347c3 100644 --- a/test cases/failing/103 invalid option file/meson.build +++ b/test cases/failing/99 invalid option file/meson.build diff --git a/test cases/failing/103 invalid option file/meson_options.txt b/test cases/failing/99 invalid option file/meson_options.txt index eef843b..eef843b 100644 --- a/test cases/failing/103 invalid option file/meson_options.txt +++ b/test cases/failing/99 invalid option file/meson_options.txt diff --git a/test cases/failing/99 invalid option file/test.json b/test cases/failing/99 invalid option file/test.json new file mode 100644 index 0000000..ebfddd8 --- /dev/null +++ b/test cases/failing/99 invalid option file/test.json @@ -0,0 +1,7 @@ +{ + "stdout": [ + { + "line": "test cases/failing/99 invalid option file/meson_options.txt:1:0: ERROR: lexer" + } + ] +} diff --git a/test cases/frameworks/15 llvm/meson.build b/test cases/frameworks/15 llvm/meson.build index bae83c5..3855fae 100644 --- a/test cases/frameworks/15 llvm/meson.build +++ b/test cases/frameworks/15 llvm/meson.build @@ -34,8 +34,12 @@ llvm_dep = dependency( static : static, method : method, ) -if llvm_dep.found() - executable( + +if not llvm_dep.found() + error('MESON_SKIP_TEST required llvm modules not found.') +endif + +executable( 'sum', 'sum.c', dependencies : [ @@ -45,4 +49,3 @@ if llvm_dep.found() meson.get_compiler('c').find_library('dl', required : false), ] ) -endif diff --git a/test cases/frameworks/15 llvm/test.json b/test cases/frameworks/15 llvm/test.json index 0cad05a..b861b4a 100644 --- a/test cases/frameworks/15 llvm/test.json +++ b/test cases/frameworks/15 llvm/test.json @@ -6,7 +6,7 @@ { "val": "cmake" } ], "link-static": [ - { "val": true }, + { "val": true, "skip_on_jobname": ["opensuse"] }, { "val": false } ] }, diff --git a/test cases/frameworks/16 sdl2/test.json b/test cases/frameworks/16 sdl2/test.json index 8cf8543..664dc84 100644 --- a/test cases/frameworks/16 sdl2/test.json +++ b/test cases/frameworks/16 sdl2/test.json @@ -6,7 +6,7 @@ { "val": "pkg-config" }, { "val": "config-tool" }, { "val": "sdlconfig" }, - { "val": "extraframework" } + { "val": "extraframework", "skip_on_os": ["!macos"] } ] } } diff --git a/test cases/frameworks/17 mpi/test.json b/test cases/frameworks/17 mpi/test.json index b3194ed..2ce6680 100644 --- a/test cases/frameworks/17 mpi/test.json +++ b/test cases/frameworks/17 mpi/test.json @@ -4,12 +4,14 @@ "method": [ { "val": "auto" }, { "val": "pkg-config" }, - { "val": "config-tool" }, + { "val": "config-tool", + "skip_on_jobname": ["fedora"] }, { "val": "system", "compilers": { "c" :"msvc", "cpp": "msvc" } } ] } - } + }, + "skip_on_jobname": ["opensuse"] } diff --git a/test cases/frameworks/25 hdf5/test.json b/test cases/frameworks/25 hdf5/test.json index 0de1f73..678007f 100644 --- a/test cases/frameworks/25 hdf5/test.json +++ b/test cases/frameworks/25 hdf5/test.json @@ -6,5 +6,6 @@ { "val": "config-tool" } ] } - } + }, + "skip_on_jobname": ["fedora", "opensuse"] } diff --git a/test cases/frameworks/26 netcdf/test.json b/test cases/frameworks/26 netcdf/test.json new file mode 100644 index 0000000..d2c95a8 --- /dev/null +++ b/test cases/frameworks/26 netcdf/test.json @@ -0,0 +1,3 @@ +{ + "skip_on_jobname": ["bionic", "fedora", "opensuse", "ubuntu"] +} diff --git a/test cases/frameworks/29 blocks/test.json b/test cases/frameworks/29 blocks/test.json new file mode 100644 index 0000000..b21e77b --- /dev/null +++ b/test cases/frameworks/29 blocks/test.json @@ -0,0 +1,3 @@ +{ + "skip_on_jobname": ["gcc"] +} diff --git a/test cases/frameworks/30 scalapack/test.json b/test cases/frameworks/30 scalapack/test.json new file mode 100644 index 0000000..bda5807 --- /dev/null +++ b/test cases/frameworks/30 scalapack/test.json @@ -0,0 +1,3 @@ +{ + "skip_on_jobname": ["bionic", "fedora", "opensuse"] +} diff --git a/test cases/frameworks/34 gir static lib/test.json b/test cases/frameworks/34 gir static lib/test.json index a99e5a7..96790fb 100644 --- a/test cases/frameworks/34 gir static lib/test.json +++ b/test cases/frameworks/34 gir static lib/test.json @@ -4,5 +4,6 @@ {"type": "expr", "file": "usr/lib/?libgirlib.so"}, {"type": "file", "platform": "cygwin", "file": "usr/lib/libgirlib.dll.a"}, {"type": "file", "file": "usr/share/gir-1.0/Meson-1.0.gir"} - ] + ], + "skip_on_jobname": ["bionic"] } diff --git a/test cases/frameworks/4 qt/test.json b/test cases/frameworks/4 qt/test.json index 4c70060..5144fc0 100644 --- a/test cases/frameworks/4 qt/test.json +++ b/test cases/frameworks/4 qt/test.json @@ -2,8 +2,8 @@ "matrix": { "options": { "method": [ - { "val": "config-tool" }, - { "val": "qmake" }, + { "val": "config-tool", "skip_on_jobname": ["fedora", "opensuse"] }, + { "val": "qmake", "skip_on_jobname": ["fedora", "opensuse"] }, { "val": "pkg-config" } ] } diff --git a/test cases/unit/95 implicit force fallback/meson.build b/test cases/unit/96 implicit force fallback/meson.build index 623a338..623a338 100644 --- a/test cases/unit/95 implicit force fallback/meson.build +++ b/test cases/unit/96 implicit force fallback/meson.build diff --git a/test cases/unit/95 implicit force fallback/subprojects/something/meson.build b/test cases/unit/96 implicit force fallback/subprojects/something/meson.build index 89a4727..89a4727 100644 --- a/test cases/unit/95 implicit force fallback/subprojects/something/meson.build +++ b/test cases/unit/96 implicit force fallback/subprojects/something/meson.build |