aboutsummaryrefslogtreecommitdiff
path: root/tests/fruit_test_common.py
AgeCommit message (Collapse)Author
2020-03-09Remove a redundant line from testing code.Marco Poletti
2020-03-09Fix test helpers for MSVC, there was a bug that caused most tests to fail.Marco Poletti
2019-12-23Fix some testing code that handles compilation failures when using MSVC.Marco Poletti
2019-12-22Use os.getcwd() instead of env["PWD"] in testing code so that tests also ↵Marco Poletti
work on Windows.
2019-07-20Migrate tests to absl.testing, mainly to make Bazel test sharding work.Marco Poletti
2019-07-20Print the env for commands executed in tests, to help debugging env-related ↵Marco Poletti
issues. This is mainly useful for Bazel due to sandboxing.
2018-09-01Update the test infrastructure to allow type variable replacements in ↵Marco Poletti
generic errors. These are now emitted by the latest MSVC in some cases.
2018-04-22Disable the check on the error message's line number in the test where we ↵Marco Poletti
expect warnings.
2018-04-22Ignore warnings in a test about a base class with no virtual destructor. ↵Marco Poletti
Some versions of Clang can detect this warning before the Fruit static assert does.
2017-07-30(Another attempt to) accept MSVC-style errors in tests.Marco Poletti
2017-07-30Allow Component, NormalizedComponent, Injector and Provider to specify that ↵Marco Poletti
they only require/provide a const T (instead of requiring/providing a T). This is in preparation for allowing const bindings.
2017-07-15Remove support for GCC 4.8.x, GCC 5.0.0 is now the minimum supported ↵Marco Poletti
version. GCC 4.8.x segfaults when compiling Fruit after the latest changes, and it's quite old at this point.
2017-07-13Add support for collecting test coverage, and document how to do it.Marco Poletti
2017-07-02Run tests with -Werror (/WX for Visual Studio), even in release mode. Before ↵Marco Poletti
this change, we weren't able to test that the deprecation warnings are emitted when they should be (unless compiling in debug mode).
2017-07-02Fix a bug in the Fruit testing code that potentially caused some deprecation ↵Marco Poletti
to be ignored in tests.
2017-06-18Implement de-duping and loop checking for the new-style install() method.Marco Poletti
2017-06-17Make Fruit tests work again when using MinGW on Windows.Marco Poletti
Before this commit they were failing with a "fruit.dll not found" error in that case.
2017-06-17Fix a typo in fruit's testing code that was causing test failures when ↵Marco Poletti
testing under Valgrind.
2017-06-17Avoid copying testing files to the build directory.Marco Poletti
These copies could cause confusion while developing Fruit if CMake doesn't re-run and the copy in the build directory becomes stale. After this commit, tests must be run from the tests/ subdirectory of the build root, not from the build root itself.
2017-06-17Various test fixes:Marco Poletti
* Run tests expected to fail under Valgrind too * When compiling/executing something, print the executable and arguments first, so that it's easy to reproduce the issue manually * Print stdout/stderr when a compilation/execution succeeds too, to help debugging (especially for cases where we expected an error) * Add the built Fruit library's directory to PATH on Windows, fixing "fruit.dll not found" errors.
2017-06-12Migrate all Fruit tests to pytest, to improve parallelization. After this ↵Marco Poletti
change, it's no longer possible to run Fruit tests via CTest.
2017-06-11Mark the old PartialComponent::install() method as deprecated.Marco Poletti
2017-06-11Add a new PartialComponent#install() method that takes a function + args. ↵Marco Poletti
This has the potential of being much more efficient than the one that takes a Component; however for now it's just implemented as a wrapper around the old install() method.
2017-04-15Disable the pytest cache when running tests under bazel, it causes errors ↵Marco Poletti
(read-only file system) when running tests with sandboxing enabled.
2017-04-09Migrate Fruit's end-to-end tests from nose2 to pytest, improving ↵Marco Poletti
parallelization.
2017-04-08Go ahead when we fail to clean up temporary files in tests. This should fix ↵Marco Poletti
the flakiness of the CI tests on Windows.
2017-03-19Add support for building Fruit as a dynamic library (dll) with MSVC.Marco Poletti
This uses WINDOWS_EXPORT_ALL_SYMBOLS, which exports more than the strictly needed set of symbols; however it's much less intrusive than the alternative (annotating all public symbols).
2017-03-12Support building Fruit with MSVC.Marco Poletti
Current limitations: * Tests must be run from the command-line, using the "Native Tools Command Prompt" that comes with MSVC. Running tests from within MSVC doesn't work. * Tests must be run serially (-j 1), otherwise there might be test failures with errors like "fatal error C1033: cannot open program database 'C:\Some\Path\vc140.pdb'" * Building Fruit as a shared library (.dll) is not yet supported, Fruit can only be built as a static library (.lib).
2017-03-04Support compiling Fruit (and running tests) under Windows, using MinGW's GCC.Marco Poletti
MSVC is still not supported, it needs more work.
2017-02-26Reduce the uses of *x (with x a list) in python testing code. *x only works ↵Marco Poletti
properly in recent python versions, it fails e.g. with the python3 shipped in Ubuntu 15.10.
2017-02-26Factor testing code specific to posix compilers in a PosixCompiler class. ↵Marco Poletti
This is in preparation for MSVC support.
2016-12-25Report a more informative error message when an e2e test fails to compile a ↵Marco Poletti
regex for an expected error.
2016-12-22Use precompiled headers in Fruit tests. This reduces the test time by ~50% ↵Marco Poletti
(and the configure+build+test time by ~40%).
2016-12-21Change an e2e test to be compatible with Python 3 <3.5.0 (as found in older ↵Marco Poletti
Ubuntu versions).
2016-12-10Fix a bug in the error reporting in the e2e testing code.Marco Poletti
2016-12-10Improve test coverage for bindInstance, and report more user-friendly error ↵Marco Poletti
messages in some error cases.
2016-11-20Improve testing coverage of binding clashes using parameterized tests. Also ↵Marco Poletti
fix a few cases where a clashing interface binding was ignored instead of causing an error.
2016-11-19Use proper Python indentation in Python-based e2e tests.Marco Poletti
2016-11-19Replace tests that have a non-annotated and an annotated variant with a ↵Marco Poletti
single parameterized test (per pair).
2016-11-19Add an empty main() to the test source code if it doesn't have a main, to ↵Marco Poletti
make some tests more concise. Also omit the explicit "return 0" in main, since that's added implicitly by the compiler anyway.
2016-11-18Re-add support for running e2e Fruit tests with bazel.Marco Poletti
2016-11-12Use explicit fruit:: qualifications in tests, instead of relying on using ↵Marco Poletti
declarations. This is to avoid hiding real bugs.
2016-11-12Fix the bytes->str conversion in the e2e testing code (again).Marco Poletti
2016-11-06Always print stdout/stderr as strings in e2e tests (when they fail), instead ↵Marco Poletti
of occasionally printing them as bytes.
2016-11-06Print the entire stderr/stdout in nose2-based e2e tests (except the ones ↵Marco Poletti
where a compiler error is expected).
2016-10-15Various improvements/fixes to the nose-based tests. Notably, adding nose2 to ↵Marco Poletti
the basesystem dockerfiles used in Travis CI and moved from nose2's multiprocess to running each python file sequentially and relying on ctest's parallelization.
2016-10-08Port all end-to-end C++ tests to be nose2-based python tests, so that:Marco Poletti
* A single file can contain multiple testcases (also making it easier to share common setup between testcases). * The CMakeLists.txt file doesn't need to be updated for each test case. * It will be possible to introduce parameterized tests in the future. Running these tests under Bazel is no longer supported (support might however be re-introduced in the future).