summaryrefslogtreecommitdiff
path: root/run_tests.py
Commit message (Collapse)AuthorAgeFilesLines
* unit tests: Remove all instances of FakeEnvironmentNirbheek Chauhan2017-12-031-9/+0
| | | | | We don't need to use that, and it causes build failures when code actually uses the environment.
* Replaced sys.executable use with the mesonlib equivalent.Jussi Pakkanen2017-11-201-3/+4
|
* Tests can be run with an external Meson command.Jussi Pakkanen2017-11-201-2/+18
|
* Use GCC 7 for cross compilation tests.Jussi Pakkanen2017-10-281-1/+1
|
* tests: Always run ninja with -d explainNirbheek Chauhan2017-10-011-1/+1
| | | | | | | Will help us figure out the occasional ninja loops we see in our CI: https://github.com/mesonbuild/meson/pull/2394#issuecomment-333340112 https://travis-ci.org/mesonbuild/meson/jobs/281637736
* Revert "Revert "Merge pull request #1931 from centricular/use-patched-ninja""Nirbheek Chauhan2017-09-181-0/+6
| | | | | | This reverts commit 5eb64a6f3e47b570f544524ef48dc6ef0e4dce59. Let's try again, with a fixed Ninja by QuLogic.
* run_tests.py: Haiku has no nice().Jérôme Duval2017-09-141-1/+1
|
* unit tests: Select test cases inside run_unittests.pyNirbheek Chauhan2017-08-131-9/+1
| | | | | | This allows people to directly run ./run_unittests.py without having to worry about selecting the right test cases for the platform they are on.
* Merged singleexe branch.Jussi Pakkanen2017-08-061-1/+1
|\
| * Print deprecation warnings on old style commands.Jussi Pakkanen2017-08-021-1/+1
| |
* | Print system information to aid in debugging remote machines.Jussi Pakkanen2017-08-061-1/+11
|/
* Revert "Merge pull request #1931 from centricular/use-patched-ninja"Jussi Pakkanen2017-07-181-6/+0
| | | | | This reverts commit aab7ada356e02033e4030143cf363d06d975283b, reversing changes made to e1b24765afd9e7d2d8043a408d69c7ad814d3551.
* tests: Restore sleep for ninja on HFS+ (macOS)Nirbheek Chauhan2017-07-171-1/+4
| | | | | | | | | QuLogic discovered that HFS+ only stores dates in uint32 seconds since the epoch, so ninja cannot report sub-1s resolution timestamps there. Sometime in the future Apple FS will become widely-available and we will have to add a filesystem check at startup. https://developer.apple.com/legacy/library/technotes/tn/tn1150.html#HFSPlusDates
* CI: Use QuLogic's Ninja patchesNirbheek Chauhan2017-07-171-0/+3
| | | | | | | | This way we get some testing for the patches, and speed up our builds. My server is hosted on a UK Linode, so it should have good uptimes. However, we should likely move this into the Docker image at least for Linux, and perhaps put it in a CI cache for the rest.
* Add some colour to test output.Elliott Sales de Andrade2017-06-221-2/+5
| | | | Bold the section names and colourize errors&skips.
* unit tests: Add class to generate failing testsNirbheek Chauhan2017-06-091-1/+15
| | | | | | | | | It is not feasible to test all failure modes by creating projects in `test cases/failing` that would be an explosion of files, and that mechanism is too coarse anyway. We have no way to ensure that the expected error is being raised. See FailureTests.test_dependency for an example.
* dependencies: Add a new class ExternalDependencyNirbheek Chauhan2017-06-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This class now consolidates a lot of the logic that each external dependency was duplicating in its class definition. All external dependencies now set: * self.version * self.compile_args and self.link_args * self.is_found (if found) * self.sources * etc And the abstract ExternalDependency class defines the methods that will fetch those properties. Some classes still override that for various reasons, but those should also be migrated to properties as far as possible. Next step is to consolidate and standardize the way in which we call 'configuration binaries' such as sdl2-config, llvm-config, pkg-config, etc. Currently each class has to duplicate code involved with that even though the format is very similar. Currently only pkg-config supports multiple version requirements, and some classes don't even properly check the version requirement. That will also become easier now.
* Add coverage export for tests.Elliott Sales de Andrade2017-05-211-6/+23
|
* Fix cross environment pollution.Ole André Vadla Ravnås2017-05-211-1/+6
| | | | | | | Environment variables like CFLAGS and LDFLAGS should not affect the cross environment. Fixes #1772
* project tests: Also regen before buildingNirbheek Chauhan2017-05-091-0/+8
| | | | | | | | | This actually caught a cached-dependency related bug for me that the test-time regen did not. I also increased the ninja wait time to 1 second because that's actually how long you need to sleep to be guaranteed that a change will be detected. Must poke upstream about https://github.com/ninja-build/ninja/issues/371
* unit tests: exe_suffix is '.exe' on CygwinNirbheek Chauhan2017-04-091-1/+1
|
* tests: Move appveyor platform workaround to run_tests.pyNirbheek Chauhan2017-04-091-0/+15
| | | | This is also needed for the unit tests
* unit tests: Fix running specific targets with MSBuildNirbheek Chauhan2017-04-091-9/+31
| | | | | | /t:targetname syntax doesn't work, but running the vcxproj does work Also use the Backend enum everywhere.
* unit tests: Run on all backends, not just NinjaNirbheek Chauhan2017-04-091-10/+13
|
* run_project_tests: Clean on backends that can't installNirbheek Chauhan2017-04-091-1/+11
| | | | | | | | Also sets more groundwork for running unit tests with backends other that Ninja. Transferring global state to executors is totally broken in Python 3.4 so just serialize all the commands.
* tests: Factor out common code to run_testsNirbheek Chauhan2017-04-091-0/+54
| | | | | | And use generic build/clean/test/install commands in the unit tests, just like project tests. This sets the groundwork for running the unit tests with all backends.
* run_tests: Improve the backend detectionNirbheek Chauhan2017-04-091-6/+12
|
* run_tests: Don't run unit tests when the VS backend is selectedNirbheek Chauhan2017-03-301-1/+10
|
* Merge pull request #1403 from centricular/compile_resourcesJussi Pakkanen2017-02-201-1/+7
|\ | | | | Make configure_file() great again
| * run_tests.py: Nice down when running on a dev machineNirbheek Chauhan2017-02-201-1/+7
| | | | | | | | To avoid destroying productivity.
* | find_program: Correctly use scripts found in PATHNirbheek Chauhan2017-02-181-4/+6
| | | | | | | | | | | | | | | | | | | | | | We also need to check whether the program found in PATH can be executed directly by Windows or if we need to figure out what the interpreter is and add it to the list. Also add `msc` to the list of extensions that can be executed natively Includes a project test and a unit test for this and all expected behaviours on Windows.
* | Add unit tests related to absolute prefixesNirbheek Chauhan2017-02-181-1/+1
|/ | | | | | | | | | | | | Also split the unit tests into those that are actually Linux-specific and those that are not and can (and should) run on all platforms. This will give us much better coverage since a lot of these test platform-specific code in Meson that wraps features that we expose in a platform-agnostic way. Tests are for: https://github.com/mesonbuild/meson/issues/1341 https://github.com/mesonbuild/meson/issues/1345 https://github.com/mesonbuild/meson/issues/1349
* Run some unit tests on all platformsNirbheek Chauhan2017-01-301-1/+3
| | | | | InternalTests can be run on all platforms since they have nothing Linux-specific.
* Do not run arm cross compilation tests on arm.Jussi Pakkanen2016-12-311-1/+3
|
* Some merge conflicts are logical. Such as this one was.Jussi Pakkanen2016-12-211-1/+1
|
* Merge pull request #1233 from mesonbuild/wip/ignatenko/code-styleJussi Pakkanen2016-12-211-2/+1
|\ | | | | Trivial cleanups in code
| * tree-wide: remove unused importsIgor Gnatenko2016-12-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ./setup.py:17:1: F401 'os' imported but unused import os ^ ./setup.py:37:1: F401 'stat.ST_MODE' imported but unused from stat import ST_MODE ^ ./run_tests.py:17:1: F401 'os' imported but unused import subprocess, sys, os ^ ./run_tests.py:18:1: F401 'shutil' imported but unused import shutil ^ ./run_unittests.py:23:1: F401 'mesonbuild.dependencies.Qt5Dependency' imported but unused from mesonbuild.dependencies import PkgConfigDependency, Qt5Dependency ^ ./mesonbuild/build.py:15:1: F401 '.coredata' imported but unused from . import coredata ^ ./mesonbuild/interpreter.py:32:1: F401 'subprocess' imported but unused import os, sys, subprocess, shutil, uuid, re ^ ./mesonbuild/interpreter.py:32:1: F401 're' imported but unused import os, sys, subprocess, shutil, uuid, re ^ ./mesonbuild/dependencies.py:23:1: F401 'subprocess' imported but unused import os, stat, glob, subprocess, shutil ^ ./mesonbuild/mesonlib.py:17:1: F401 'sys' imported but unused import platform, subprocess, operator, os, shutil, re, sys ^ ./mesonbuild/modules/qt5.py:15:1: F401 'subprocess' imported but unused import os, subprocess ^ ./mesonbuild/modules/pkgconfig.py:15:1: F401 '..coredata' imported but unused from .. import coredata, build ^ ./mesonbuild/scripts/scanbuild.py:15:1: F401 'sys' imported but unused import sys, os ^ ./mesonbuild/scripts/meson_exe.py:20:1: F401 'subprocess' imported but unused import subprocess ^ ./mesonbuild/scripts/meson_exe.py:22:1: F401 '..mesonlib.MesonException' imported but unused from ..mesonlib import MesonException, Popen_safe ^ ./mesonbuild/scripts/symbolextractor.py:23:1: F401 'subprocess' imported but unused import os, sys, subprocess ^ ./mesonbuild/scripts/symbolextractor.py:25:1: F401 '..mesonlib.MesonException' imported but unused from ..mesonlib import MesonException, Popen_safe ^ ./mesonbuild/scripts/meson_install.py:19:1: F401 '..mesonlib.MesonException' imported but unused from ..mesonlib import MesonException, Popen_safe ^ ./mesonbuild/scripts/yelphelper.py:15:1: F401 'sys' imported but unused import sys, os ^ ./mesonbuild/scripts/yelphelper.py:20:1: F401 '..mesonlib.MesonException' imported but unused from ..mesonlib import MesonException ^ ./mesonbuild/backend/vs2010backend.py:17:1: F401 're' imported but unused import re ^ ./test cases/vala/8 generated sources/src/copy_file.py:3:1: F401 'os' imported but unused import os ^ ./test cases/common/107 postconf/postconf.py:3:1: F401 'sys' imported but unused import sys, os ^ ./test cases/common/129 object only target/obj_generator.py:5:1: F401 'shutil' imported but unused import sys, shutil, subprocess ^ ./test cases/common/57 custom target chain/usetarget/subcomp.py:3:1: F401 'os' imported but unused import sys, os ^ ./test cases/common/95 dep fallback/subprojects/boblib/genbob.py:3:1: F401 'os' imported but unused import os ^ ./test cases/common/98 gen extra/srcgen.py:4:1: F401 'os' imported but unused import os ^ ./test cases/common/113 generatorcustom/gen.py:3:1: F401 'os' imported but unused import sys, os ^ ./test cases/common/113 generatorcustom/catter.py:3:1: F401 'os' imported but unused import sys, os ^ ./test cases/common/59 object generator/obj_generator.py:5:1: F401 'shutil' imported but unused import sys, shutil, subprocess ^ Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
* | Fix cross test and run them if a cross compiler is available.Jussi Pakkanen2016-12-201-0/+3
|/
* Run unittests only with default compiler.Jussi Pakkanen2016-11-011-10/+2
|
* Some fixes to unittest running.Jussi Pakkanen2016-10-121-3/+3
|
* Review fixes.Jussi Pakkanen2016-10-091-1/+1
|
* Pass cmd line args onwards.Jussi Pakkanen2016-10-081-1/+1
|
* Store all invocation output. Not shown to users yet.Jussi Pakkanen2016-10-081-3/+7
|
* Run unittests.Jussi Pakkanen2016-10-081-480/+12
|
* run_tests: Print stdo and stde in failing test logsNirbheek Chauhan2016-10-071-2/+4
| | | | | This is a superset of the mlog output, and also contains the ninja output and the test output.
* Merge pull request #684 from mesonbuild/pdbJussi Pakkanen2016-09-111-1/+1
|\ | | | | Create pdb files with MSVC
| * run_tests.py: Ignore .pdb files while validating installNirbheek Chauhan2016-09-111-1/+1
| | | | | | | | | | Their presence depends on build options and compiler, and we don't currently have the test infrastructure to deal with this.
* | Use context manager in test cases.Elliott Sales de Andrade2016-08-301-4/+8
| |
* | Implement D supportMatthias Klumpp2016-08-191-0/+12
|/ | | | | | | | | | | This patch adds support for the D programming language[1] to Meson. The following compilers are supported: * LDC * GDC * DMD [1]: http://dlang.org/
* Added test for a prebuilt static library and a declare_dependency that uses it.Jussi Pakkanen2016-07-251-20/+45
|