Hey folks, relative noob here.
Right now running ninja check-asan
takes about 12 minutes on my machine. I’m working on a test and want to only run that one test. I’m not seeing any easy way to run only my test. Any help on how to filter down to a single test (ex: compiler-rt/lib/asan/tests/asan_internal_interface_test.cpp
) would be appreciated.
Cheers,
Dave
The unittests use Google Test (GoogleTest User’s Guide | GoogleTest).
I don’t know the asan test structure, but you should be able to build and run a unittest binary by itself. You can also use --gtest_filter=<testname-regex>
to further filter.
e.g. for the LLVM IR tests:
# Build the IR unittest binary:
$ ninja unittests/IR/IRTests
# Run the IR unittest, filtering to only run ones with names matching "AssignmentTracking*":
$ ./unittests/IR/IRTests --gtest_filter="AssignmentTracking*"
Note: Google Test filter = AssignmentTracking*
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from AssignmentTrackingTest
[ RUN ] AssignmentTrackingTest.Utils
[ OK ] AssignmentTrackingTest.Utils (1 ms)
[ RUN ] AssignmentTrackingTest.InstrMethods
[ OK ] AssignmentTrackingTest.InstrMethods (0 ms)
[----------] 2 tests from AssignmentTrackingTest (1 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (1 ms total)
[ PASSED ] 2 tests.
Hope this helps - I’m sure someone with asan familiarity will be able to help further if not.