aboutsummaryrefslogtreecommitdiff
path: root/run_project_tests.py
AgeCommit message (Collapse)AuthorFilesLines
2018-06-06Remove had_argument_for() it is not used anymoreXavier Claessens1-2/+2
This also means we don't need to keep original command line arguments anymore.
2018-06-02Add test case for 'install_mode'Filipe Brandenburger1-0/+2
This is a simple test case, checking for installed_files.txt, which just makes sure the syntax is accepted. Manual tests confirmed the permissions were set correctly. A follow up commit adds a unit test based on this directory.
2018-06-01Set the meson command to use when we know what it isNirbheek Chauhan1-13/+7
Instead of using fragile guessing to figure out how to invoke meson, set the value when meson is run. Also rework how we pass of meson_script_launcher to regenchecker.py -- it wasn't even being used With this change, we only need to guess the meson path when running the tests, and in that case: 1. If MESON_EXE is set in the env, we know how to run meson for project tests. 2. MESON_EXE is not set, which means we run the configure in-process for project tests and need to guess what meson to run, so either - meson.py is found next to run_tests.py, or - meson, meson.py, or meson.exe is in PATH Otherwise, you can invoke meson in the following ways: 1. meson is installed, and mesonbuild is available in PYTHONPATH: - meson, meson.py, meson.exe from PATH - python3 -m mesonbuild.mesonmain - python3 /path/to/meson.py - meson is a shell wrapper to meson.real 2. meson is not installed, and is run from git: - Absolute path to meson.py - Relative path to meson.py - Symlink to meson.py All these are tested in test_meson_commands.py, except meson.exe since that involves building the meson msi and installing it.
2018-06-01configure_file: Add output_format kwarg (#3636)Mathieu Duponchelle1-0/+1
* configure_file: Add output_format kwarg * docs: Reference-manual.md output_format was added in 0.47 [skip ci]
2018-05-31Revert "mesonlib: handle meson exe wrappers"Nirbheek Chauhan1-4/+9
This reverts commit 0627e9d616dc311b7c9b0ef17301f680ac9e78a7. Breaks installation: https://github.com/mesonbuild/meson/issues/3647 Will be restored once that can be fixed.
2018-05-30mesonlib: handle meson exe wrappersMartin Kelly1-9/+4
There are cases when it is useful to wrap the main meson executable with a script that sets up environment variables, passes --cross-file, etc. For example, in a Yocto SDK, we need to point to the right meson.cross so that everything "just works", and we need to alter CC, CXX, etc. In such cases, it can happen that the "meson" found in the path is actually a wrapper script that invokes the real meson, which may be in another location (e.g. "meson.real" or similar). Currently, in such a situation, meson gets confused because it tries to invoke itself using the "meson" executable (which points to the wrapper script) instead of the actual meson (which may be called "meson.real" or similar). In fact, the wrapper script is not necessarily even Python, so the whole thing fails. Fix this by using Python imports to directly find mesonmain.py instead of trying to detect it heuristically. In addition to fixing the wrapper issue, this should make the detection logic much more robust.
2018-05-23Enable running tests that fail at 'meson test'Niklas Claesson1-1/+1
2018-04-26Prettifying some output with pathlibNiklas Claesson1-22/+29
2018-04-23Final encoding fix.Jussi Pakkanen1-1/+4
I sincerely hope sufficient amounts of goats have now been sacrificed at the altar of Debian Locales so things will actually work and I can get to sleep.
2018-04-23If printing debug printing fails, try again in pure ASCII.Jussi Pakkanen1-2/+10
2018-04-22Explicitly open log files in utf-8.Jussi Pakkanen1-2/+2
2018-04-21Fix install checks when cross-compiling.Elliott Sales de Andrade1-10/+9
It checks the build machine for the correct extensions of resulting binaries, but it should be checking the host machine.
2018-03-09Default run_project_tests backend to ninja instead of xcode on OS X.Jukka Laurila1-2/+0
The xcode backend is still incomplete and fails many tests.
2018-02-27Enable 'test cases/frameworks/10 gtk-doc' for gtkdoc >= 1.26Jon Turney1-2/+2
Enable 'test cases/frameworks/10 gtk-doc' if gtkdoc version is 1.26 or later. Old versions of gtkdoc-scan also output the version to stdout rather than stderr, so be sure to handle that...
2018-02-25Determining whether to run C# tests is so difficult it deserves its own ↵Jussi Pakkanen1-1/+23
function.
2018-02-25Add support for Visual Studio csc c# compilerThibault Saunier1-1/+1
2018-02-21Always run all framework tests on all platformsJon Turney1-14/+31
Always run all framework tests on all platforms, but allow them to be skipped when not running under CI for linux.
2018-02-20Run FPGA tests.Jussi Pakkanen1-0/+1
2018-02-15Verify that failing tests are failing with an error, not a python exceptionJon Turney1-2/+5
PR #2527 suggests "making failing tests more strict about failing gracefully". To achive this, make meson exit with distinct exit statuses for meson errors and python exceptions, and check the exit status is as expected for failing tests. I can't see how to write a test for this, within the current framework. You can test this change by reverting the fix (but not the test) from commit 1a159db8 and verifying that 'test cases/failing/66 string as link target' fails.
2018-01-30run_project_tests: Remove workaround for missing ↵Christoph Reiter1-50/+2
concurrent.futures.ProcessPoolExecutor support This removes the workaround code added in https://github.com/mesonbuild/meson/commit/52e1b0a3c909 The bug in the MSYS2 Python3 build has been fixed for some time now, see https://github.com/Alexpux/MINGW-packages/pull/2619 The original commit noted that this might be helpful for OpenBSD, but that has sem_open support since version 5.5 released 4 years ago: https://www.openbsd.org/55.html
2018-01-09Merge pull request #2803 from dcbaker/wip/freebsd-fixesJussi Pakkanen1-4/+13
various BSD fixes
2018-01-09Only run Boost tests on osx if it is actually installed.Jussi Pakkanen1-1/+5
2018-01-06tests: Split objc and objc++ testsDylan Baker1-3/+12
This allows platforms that can compile one or the other (but not both) to run the tests that they can.
2018-01-06run_project_tests: correctly search for objcpp compilerDylan Baker1-1/+1
Instead of looking for an objc compiler. Fixes objc++ tests on DragonFlyBSD (which has an objc but not an objc++ compiler) Really though, the objc and objc++ tests need to be untangled so that the objc tests can run even if an objc++ compiler is unavilable.
2018-01-06Fix installed files check for gobject-introspection tests on CygwinJon Turney1-0/+1
g-ir-scanner --no-libtool needed some fixes similar to [1] for Cygwin, as well. Now that is done, it's possible to make these tests run and pass on Cygwin. [1] https://bugzilla.gnome.org/show_bug.cgi?id=781525
2018-01-04CI: Run boost test for CygwinJon Turney1-4/+1
Also, use '^' to escape newlines in appveyor-install.bat to avoid an absurdly long line, remove some unnecessary quotation, and alphabetically sort packages Also, define the _XOPEN_SOURCE feature test macro in the boost test to avoid 'not declared in this scope' warnings for pthread_rwlock_init(), etc.
2018-01-01Run the boost test on osx on travis.Benjamin Redelings1-1/+5
2017-12-18Use deterministic builddir so CCache works across invocations.Jussi Pakkanen1-1/+10
2017-11-20Make the full test suite runnable with an external command.Jussi Pakkanen1-2/+19
2017-11-20Replaced sys.executable use with the mesonlib equivalent.Jussi Pakkanen1-1/+1
2017-11-20Tests can be run with an external Meson command.Jussi Pakkanen1-3/+3
2017-09-30Moved prebuilt static library under unit tests.Jussi Pakkanen1-53/+17
2017-09-30Moved prebuilt object test under unittests.Jussi Pakkanen1-5/+3
2017-09-20tests: Only error for lines starting with tabsNirbheek Chauhan1-1/+1
Otherwise we can't even use tabs for testing.
2017-08-31Try to use 2x the number of cores.Jussi Pakkanen1-0/+6
2017-08-02Turned mesontest into on internal module.Jussi Pakkanen1-3/+3
2017-08-02Handle objc compiler missing more reliably.Jussi Pakkanen1-2/+5
2017-07-20Support implibs for executables on WindowsJon Turney1-2/+14
Add a boolean 'implib' kwarg to executable(). If true, it is permitted to use the returned build target object in link_with: On platforms where this makes sense (e.g. Windows), an implib is generated for the executable and used when linking. Otherwise, it has no effect. (Rather than checking if it is a StaticLibrary or SharedLibary, BuildTarget subclasses gain the is_linkable_target method to test if they can appear in link_with:) Also install any executable implib in a similar way to a shared library implib, i.e. placing the implib in the appropriate place Add tests of: - a shared_module containing a reference to a symbol which is known (at link time) to be provided by the executable - trying to link with non-implib executables (should fail) - installing the implib (This last one needs a little enhancement of the installed file checking as this is the first install test we have which needs to work with either MSVC-style or GCC-style implib filenames)
2017-07-18Close files reliably.Jussi Pakkanen1-2/+7
2017-06-23Split out languages from compilers.pyAlistair Thomas1-1/+0
2017-06-22Add some colour to test output.Elliott Sales de Andrade1-7/+26
Bold the section names and colourize errors&skips.
2017-06-21Merge pull request #1924 from mesonbuild/tingping/yelp-fixesJussi Pakkanen1-1/+2
Various yelp fixes
2017-06-17tests: Always consider symlink as valid installed filePatrick Griffis1-1/+2
An installed symlink might point to a non-existing file (because DESTDIR is set) so just always accept them.
2017-06-10tests: Add Boost unit tests and project tests on WindowsNirbheek Chauhan1-3/+10
Boost tests are disabled on Windows for now because the detection is actually completely broken. Once that's fixed (after the release) we can enable it again.
2017-06-10tests: Increase dependencies coverage a bit moreNirbheek Chauhan1-1/+1
2017-06-09unit tests: Add class to generate failing testsNirbheek Chauhan1-13/+1
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.
2017-05-21Create helper function for a rmtree that works reliably on Windows.Jussi Pakkanen1-18/+5
2017-05-17Remove unused variables.Elliott Sales de Andrade1-1/+0
2017-05-17Remove unnecessary __init__ methods.Elliott Sales de Andrade1-3/+0
2017-05-13Skip ObjectiveC/C++ tests if ObjC compiler is not availableTim-Philipp Müller1-1/+21