aboutsummaryrefslogtreecommitdiff
path: root/mesontest.py
AgeCommit message (Collapse)AuthorFilesLines
2017-05-26can't pass args to python3 shebangRob Doolittle1-1/+1
2017-05-24mesontest: use unbuffered IORob Doolittle1-1/+1
This helps when running mesontest as part of CI.
2017-05-17Rearrange trys to avoid possible undefined vars.Elliott Sales de Andrade1-4/+4
2017-05-17Remove unused variables.Elliott Sales de Andrade1-10/+10
2017-05-02Don't use len() to test emptiness vs not emptinessDylan Baker1-2/+2
Meson has a common pattern of using 'if len(foo) == 0:' or 'if len(foo) != 0:', however, this is a common anti-pattern in python. Instead tests for emptiness/non-emptiness should be done with a simple 'if foo:' or 'if not foo:' Consider the following: >>> import timeit >>> timeit.timeit('if len([]) == 0: pass') 0.10730923599840025 >>> timeit.timeit('if not []: pass') 0.030033907998586074 >>> timeit.timeit('if len(['a', 'b', 'c', 'd']) == 0: pass') 0.1154778649979562 >>> timeit.timeit("if not ['a', 'b', 'c', 'd']: pass") 0.08259823200205574 >>> timeit.timeit('if len("") == 0: pass') 0.089759664999292 >>> timeit.timeit('if not "": pass') 0.02340641999762738 >>> timeit.timeit('if len("foo") == 0: pass') 0.08848102600313723 >>> timeit.timeit('if not "foo": pass') 0.04032287199879647 And for the one additional case of 'if len(foo.strip()) == 0', which can be replaced with 'if not foo.isspace()' >>> timeit.timeit('if len(" ".strip()) == 0: pass') 0.15294511600222904 >>> timeit.timeit('if " ".isspace(): pass') 0.09413968399894657 >>> timeit.timeit('if len(" abc".strip()) == 0: pass') 0.2023209120015963 >>> timeit.timeit('if " abc".isspace(): pass') 0.09571301700270851 In other words, it's always a win to not use len(), when you don't actually want to check the length.
2017-04-10Colorize terminal output of mesontest. Closes #1593.Jussi Pakkanen1-1/+11
2017-04-09Check that requested executables are available. Closes #1591.Jussi Pakkanen1-0/+10
2017-04-06Use '.exe' extension for executables for CygwinJon Turney1-1/+5
Use '.exe' extension for executables for Cygwin when building and installing
2017-04-06Use extra_paths on CygwinJon Turney1-1/+1
Cygwin executables are still loaded by the Windows PE loader, so PATH needs to include any extra directories where required DLLs can be found. Cygwin uses a unix style ':'-separated PATH. os.pathsep is used correctly on extra_paths in meson_exe.py, but not in mesontest.py
2017-02-23mesontest: Support passing test arguments at runtimeNirbheek Chauhan1-2/+5
This is especially useful with the glib testing framework where you can select which tests to run within a single test executable by pasing `-p /some/test/path`
2017-02-23mesontest: Fix --repeat with --gdbNirbheek Chauhan1-3/+3
It would add --args to `wrap` repeatedly for each re-run, resulting in gdb erroring out with `--args: No such file or directory.` Also don't make --gdb and --wrapper mutually exclusive. Sometimes people want to run under a wrapper *and* run it under gdb.
2017-02-23mesontest: Use shlex.split for parsing the wrapperNirbheek Chauhan1-5/+3
Allows people to pass arguments with spaces in them. Do this using argparse itself instead of doing an isinstance later.
2017-02-20Merge pull request #1402 from centricular/test-setup-fixesJussi Pakkanen1-7/+14
Various fixes to how mesontest handles test setups.
2017-02-19Run regen before loading test data because it might have changed.Jussi Pakkanen1-25/+23
2017-02-19mesontest: Use setup timeout multiplier if not specifiedNirbheek Chauhan1-1/+3
The setup's timeout multiplier will always be set, and it will default to 1.0, so just use that. Without this, the setup's timeout multiplier was always ignored.
2017-02-19mesontest: Use test setup name in logfilesNirbheek Chauhan1-6/+9
When using a setup, use the setup name as the namebase for the logfile instead of the wrapper. The wrapper may not be set, or it may be shared between test setups. Also don't try to use the wrapper if it's an empty list. Closes https://github.com/mesonbuild/meson/issues/1371
2017-02-19mesontest: Don't run tests if no tests were selectedNirbheek Chauhan1-0/+2
The output is very confusing otherwise. Before it said 'No suitable tests defined' and then showed a list of tests that passed/failed. Now it will just say 'No suitable tests defined' and exit.
2017-02-19mesontest: Set MALLOC_PERTURB_ to a random valueNirbheek Chauhan1-0/+9
This is useful enough that we can enable this for everyone. If people really don't want this, they can pass MALLOC_PERTURB_=0 in the environment or in the test.
2017-01-28Merge pull request #1335 from tp-m/test-custom-target-used-in-test-cmdJussi Pakkanen1-2/+2
tests: check custom target output is created before being used in a t…
2017-01-28[mesontest] Implement a quiet option.Hemmo Nieminen1-1/+8
Implement a quiet option that can be used to hide OK messages for successful tests to better highlight the failing ones.
2017-01-28vs: Fix running of tests to use mesontest.pyNirbheek Chauhan1-2/+2
Back in November when this broke, we didn't notice because our tests are run in-process, so we don't check that `msbuild RUN_TESTS.vcxproj` and `ninja test` actually work. Now we do.
2017-01-26mesontest: Don't add '.' at the end of some printsNirbheek Chauhan1-2/+2
Makes it difficult to copy the filename/datetime by double-clicking since that includes the '.' at the end.
2017-01-26mesontest: Don't overwrite test status on timeoutNirbheek Chauhan1-1/+2
Earlier it would mark tests as "FAIL" even if it skipped.
2017-01-18cleanup: @staticmethodMike Sinkovsky1-0/+2
2017-01-18cleanup: Replace assignment with augmented assignmentMike Sinkovsky1-1/+1
2017-01-18cleanup: Remove redundant parenthesesMike Sinkovsky1-4/+4
2017-01-15More readable total statistics.Jussi Pakkanen1-2/+6
2017-01-12mesontest: Improve test suite selection.Hemmo Nieminen1-24/+64
Suite option can now be given to specify in more detail which tests should be run.
2017-01-11style: [E1**] IndentationMike Sinkovsky1-2/+2
2017-01-03mesontest: Print test stats even if in verbose mode.Hemmo Nieminen1-10/+4
2017-01-03mesontest: Unify testing behaviour between the test target and mesontest.Hemmo Nieminen1-108/+130
Also add a test summary to the end of the test output.
2017-01-03mesontest: Show the test command in truncated test logs.Hemmo Nieminen1-3/+3
2017-01-03mesontest: Remove excess newline and whitespace from test logs.Hemmo Nieminen1-3/+1
2017-01-02Can put external programs to test suite exe wrappers directly.Jussi Pakkanen1-1/+1
2017-01-02Can set envvars in test setups.Jussi Pakkanen1-1/+7
2017-01-02Can specify test setups and run them with mesontest.Jussi Pakkanen1-2/+30
2017-01-01style: fix E124 violationsIgor Gnatenko1-2/+1
E124: closing bracket does not match visual indentation Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01style: fix E128 violationsIgor Gnatenko1-2/+2
E128: continuation line under-indented for visual indent Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01style: fix E222 violationsIgor Gnatenko1-1/+1
E222: multiple spaces after operator Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01style: fix E226 violationsIgor Gnatenko1-5/+5
E226: missing whitespace around arithmetic operator Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01style: fix E225 violationsIgor Gnatenko1-2/+2
E225: missing whitespace around operator Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2016-12-31Fix space before :.Jussi Pakkanen1-7/+7
2016-12-20Minimal fixes to make tests pass when cross compiling.Jussi Pakkanen1-1/+5
2016-12-20Fix cross test and run them if a cross compiler is available.Jussi Pakkanen1-1/+1
2016-12-11If/elif fix so running just mesontest actually runs the tests after doing a ↵Jussi Pakkanen1-2/+2
rebuild.
2016-12-11Use a big timeout when running gdb interactively and a typo fix.Jussi Pakkanen1-2/+7
2016-12-07mesontest: Fix exceptionPatrick Griffis1-0/+1
2016-12-03mesontest: Rebuild all before running testsThibault Saunier1-6/+42
Only supporting ninja backend for now.
2016-12-03Typo fix.Jussi Pakkanen1-4/+4
2016-12-03Merge pull request #1128 from thiblahute/mesontest_misc_fixesJussi Pakkanen1-24/+57
mesontest misc fixes