summaryrefslogtreecommitdiff
path: root/mesontest.py
AgeCommit message (Collapse)Author
2018-07-19Remove long deprecated command scripts.Jussi Pakkanen
2018-03-14Turn deprecated commands into errors.Jussi Pakkanen
2017-08-02Write deprecation warnings to stderr.Jussi Pakkanen
2017-08-02Print deprecation warnings on old style commands.Jussi Pakkanen
2017-08-02Turned mesontest into on internal module.Jussi Pakkanen
2017-07-23mesontest: logfilename may be undefinedDima Krasner
Signed-off-by: Dima Krasner <dima@dimakrasner.com>
2017-07-18Close files reliably.Jussi Pakkanen
2017-07-15Print real error if mesontest used on invalid directory.Elliott Sales de Andrade
2017-07-02Removed some dead code. Closes #1949.Jussi Pakkanen
2017-06-30Don't rebuild tests during listing.Elliott Sales de Andrade
`mesontest --list` doesn't need to rebuild tests.
2017-05-26can't pass args to python3 shebangRob Doolittle
2017-05-24mesontest: use unbuffered IORob Doolittle
This helps when running mesontest as part of CI.
2017-05-17Rearrange trys to avoid possible undefined vars.Elliott Sales de Andrade
2017-05-17Remove unused variables.Elliott Sales de Andrade
2017-05-02Don't use len() to test emptiness vs not emptinessDylan Baker
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 Pakkanen
2017-04-09Check that requested executables are available. Closes #1591.Jussi Pakkanen
2017-04-06Use '.exe' extension for executables for CygwinJon Turney
Use '.exe' extension for executables for Cygwin when building and installing
2017-04-06Use extra_paths on CygwinJon Turney
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 Chauhan
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 Chauhan
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 Chauhan
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 Pakkanen
Various fixes to how mesontest handles test setups.
2017-02-19Run regen before loading test data because it might have changed.Jussi Pakkanen
2017-02-19mesontest: Use setup timeout multiplier if not specifiedNirbheek Chauhan
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 Chauhan
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 Chauhan
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 Chauhan
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 Pakkanen
tests: check custom target output is created before being used in a t…
2017-01-28[mesontest] Implement a quiet option.Hemmo Nieminen
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 Chauhan
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 Chauhan
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 Chauhan
Earlier it would mark tests as "FAIL" even if it skipped.
2017-01-18cleanup: @staticmethodMike Sinkovsky
2017-01-18cleanup: Replace assignment with augmented assignmentMike Sinkovsky
2017-01-18cleanup: Remove redundant parenthesesMike Sinkovsky
2017-01-15More readable total statistics.Jussi Pakkanen
2017-01-12mesontest: Improve test suite selection.Hemmo Nieminen
Suite option can now be given to specify in more detail which tests should be run.
2017-01-11style: [E1**] IndentationMike Sinkovsky
2017-01-03mesontest: Print test stats even if in verbose mode.Hemmo Nieminen
2017-01-03mesontest: Unify testing behaviour between the test target and mesontest.Hemmo Nieminen
Also add a test summary to the end of the test output.
2017-01-03mesontest: Show the test command in truncated test logs.Hemmo Nieminen
2017-01-03mesontest: Remove excess newline and whitespace from test logs.Hemmo Nieminen
2017-01-02Can put external programs to test suite exe wrappers directly.Jussi Pakkanen
2017-01-02Can set envvars in test setups.Jussi Pakkanen
2017-01-02Can specify test setups and run them with mesontest.Jussi Pakkanen
2017-01-01style: fix E124 violationsIgor Gnatenko
E124: closing bracket does not match visual indentation Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01style: fix E128 violationsIgor Gnatenko
E128: continuation line under-indented for visual indent Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01style: fix E222 violationsIgor Gnatenko
E222: multiple spaces after operator Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01style: fix E226 violationsIgor Gnatenko
E226: missing whitespace around arithmetic operator Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>