mirkoboehm / qmaketestrunner Goto Github PK
View Code? Open in Web Editor NEWQMakeTestRunner assists in setting library paths when running unit tests in products built with QMake.
QMakeTestRunner assists in setting library paths when running unit tests in products built with QMake.
It's common to run only one test for development purposes. The way to specify tests to run is to pass them as arguments to QTest. The following example would run only testFoo from tst_something:
./tst_something testFoo
The test can be passed with TESTARGS variable.
cd subtestdir/
make check TESTARGS="testFoo"
Of course, this is not working properly if LD_LIBRARY_PATH is required, such that QMakeTestRunner is required. There are couple of issues
First, the variable TESTARGS is not forwarded to the underlying check command, and then it's not possible to run only one test.
Also, when specifying TESTARGS at top-level, every tests are called with the same arguments, and since testFoo may be defined in only one test class, it fails to find the test function.
Then, while make check works in subproject, make test target is undefined:
cd mysubtestdir/
make test TESTARGS="testFoo"
make: *** No rule to make target `test'. Stop.
One solution would be to create a test-shell target that spawns a shell with correct environment, then the dev could run individual test under subdirectory or with make check. (a bit like virtualenv does, or the django shell).
This solution won't fit well under qtcreator. Could it be possible de define variables such that CTRL-R would run only one test under QMakeTestRunner?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.