Martin Storsjö
f4f25e241b
run-tests: Verify that sanitizers and buffer/stack protections work as they should
2022-09-16 20:23:32 +03:00
Martin Storsjö
b395a2f26b
run-tests: Build and run crt-test with fortification
2022-09-16 20:23:32 +03:00
Martin Storsjö
4c29469eac
test: Add a test for fortification of string functions
...
We currently only run the testcase where it doesn't trigger the
failed checks though.
2022-09-16 19:43:40 +03:00
Martin Storsjö
2013c9c165
run-tests: Swap the nesting of a loop/condition
...
There's no point in running the whole loop if each iteration is
going to be skipped.
2022-09-16 19:43:40 +03:00
Martin Storsjö
332193b7ec
run-tests: Build the ubsan test case with -fno-sanitize-recover=all
...
This allows easier programmatic checking that the sanitizer actually
caught the tested issue, when triggering the issue.
2022-09-16 19:42:21 +03:00
Martin Storsjö
fa02f14aea
run-tests: Actually try to run the asan-instrumented test binaries
...
Previously we would just run the plain version of them.
2022-09-15 13:55:15 +03:00
Martin Storsjö
5456a77fe3
run-tests: Wipe out an older libunwind.dll in the same way as libc++.dll
...
Ideally we'd wipe the whole test/<arch> directory before running
the tests (we do that if CLEAN is set), but here we only wipe out
the specific ones that can affect how new tests are built and linked.
2022-09-15 13:54:51 +03:00
Martin Storsjö
b6429b6632
run-tests: Move resetting of the TESTS_EXTRA variable earlier in the loop
...
A test that was added to TESTS_EXTRA in
e934c04ef4 wasn't actually ever
executed; this makes it be executed as expected.
2022-09-14 10:03:36 +03:00
Martin Storsjö
00abcdbe6a
run-tests: Remove is-ucrt.c after testing
2022-04-08 09:44:56 +03:00
Martin Storsjö
e2ad2d4b64
run-tests: Don't assume running on x86
...
Also use $COPY_X86 for consistency.
2021-07-01 22:36:54 +03:00
Martin Storsjö
1629861108
run-tests: Move a comment closer to the line it refers to
2021-07-01 22:36:54 +03:00
Martin Storsjö
0200472671
test: Add a testcase for cleanup of C++ destructors while doing longjmp
...
For x86_64 and aarch64, this requires https://reviews.llvm.org/D89231 .
The C++ destructors aren't executed while doing the longjmp (contrary
to how it works MSVC's C++ exceptions), but it no longer crashes.
2021-04-15 11:36:20 +03:00
Martin Storsjö
790bc40855
test: Add a testcase for throwing/catching C++ exceptions across DLLs
2021-02-19 16:19:47 +02:00
Martin Storsjö
5533a5ad53
run-tests: Fix running with a relative path to the toolchain
...
This fixes github issue #181 .
2021-01-25 14:45:34 +02:00
Martin Storsjö
2377f1a839
test: Explicitly test linking the C++ runtime statically
2020-10-23 12:17:35 +03:00
Martin Storsjö
9031eb6791
Build the OpenMP runtime in docker based builds
...
LLVM's OpenMP implementation only supports Windows on x86, and it
requires a MASM-compatible assembler to build it. Build UASM
for this purpose, for now. (UASM isn't available packaged in
debian/ubuntu repos.) In the future, llvm-ml should be able
to handle it instead, but it's not currently mature enough.
Not including it in the regular build-all.sh for now, as UASM
isn't generally available.
2020-10-15 23:23:05 +03:00
Martin Storsjö
c82a6f2340
test: Add a testcase for the global termminate handler
2020-09-16 00:07:46 +03:00
Martin Storsjö
308f7227c5
test: Add an idl testcase
2020-09-16 00:03:57 +03:00
Martin Storsjö
63add77368
run-tests: Run exception tests on wine on aarch64 as well
...
Current git versions of wine can handle the exception unwinding
properly.
2020-09-16 00:03:57 +03:00
Martin Storsjö
e934c04ef4
run-tests: Execute the uwp test executables now that they don't rely on vcruntime140_app
2020-06-16 11:32:17 +03:00
Martin Storsjö
8e461131cf
Clean the build dirs before building, if the env var CLEAN is set
2020-03-25 23:24:31 +02:00
Martin Storsjö
3110e27f64
run-tests: Transfer all tested files in one go
...
This should speed up testing a bit, especially if $COPY has a long
startup overhead.
2020-03-05 16:00:06 +02:00
Martin Storsjö
20d3b32b30
run-tests: Silence errors from trying to build uwp-error which intentionally should fail in certain configurations
2020-03-05 15:39:30 +02:00
Martin Storsjö
551b046498
run-tests: Don't build all tests for mingw32uwp, restrict it to the specific uwp-error test
...
Build one single test to verify that building generic code for mingw32uwp
works, but skip building all of the tests for this target.
Keep building the uwp-error test for all targets, to verify that it
builds successfully for mingw32 but fails for mingw32uwp.
This reduces the runtime for the tests by around a third.
2020-03-05 15:39:30 +02:00
Martin Storsjö
c1882530c3
Add copyright and license headers to all shell script files, for clarity
2020-03-05 11:31:31 +02:00
Martin Storsjö
f023c3416f
run-tests: Test building and running crt-test with -D__USE_MINGW_ANSI_STDIO=1
2019-12-20 09:39:08 +02:00
Martin Storsjö
f7fd04dd42
run-tests: Print a message if all tests ran successfully
2019-12-18 11:32:31 +02:00
Martin Storsjö
ca329c1cd4
run-tests: Check for the _UCRT define that latest upstream mingw-w64 defines
...
The __MSVCRT_VERSION__ define has been changed and now is set to
0xE00 for UCRT, but the _UCRT define has been added.
2019-05-07 09:04:06 +03:00
Martin Storsjö
82324fcff5
run-tests: Build optimized versions of the exception handling tests
...
Exception handling codegen can be greatly affected by optimization.
2019-04-30 00:03:28 +03:00
Martin Storsjö
8cf83f259e
Add the testcase from llvm PR40322
2019-04-30 00:03:19 +03:00
Martin Storsjö
1dd468bb4a
run-tests: Only run aarch64 exception tests if running on native windows
2019-04-19 00:09:06 +03:00
Steve Lhomme
cd73ed8308
wrappers: link with the Windows Store specific runtime for UWP
2019-04-18 12:35:25 +03:00
Steve Lhomme
707fda6348
tests: add a test to make sure compiling forbidden UWP APIs fails
...
When building for UWP and works otherwise
2019-04-18 12:23:28 +03:00
Steve Lhomme
591a5c2ddc
tests: also test UWP targets
...
the tests with LoadLibrary will not work on these, so skip them
2019-04-18 11:30:59 +03:00
Martin Storsjö
47acbb667e
run-tests: Handle uname MSYS* in the same way as MINGW*
2019-04-18 10:16:41 +03:00
Martin Storsjö
8c5bac6cb7
run-tests: Actually run the asan test binary when running on native windows
2019-04-18 10:15:26 +03:00
Martin Storsjö
2e31d11bfd
run-tests: Make sure to actually run tests when run on native windows
2019-04-18 10:09:00 +03:00
Steve Lhomme
975ed24984
tests: set the output folder in one variable
...
And use it everywhere
2019-03-12 10:42:43 +02:00
Steve Lhomme
3de09f9e25
tests: don't run using wine on mingw
2019-03-12 10:41:42 +02:00
Martin Storsjö
c9817eca35
Add a testcase for ubsan
2018-10-17 22:45:54 +03:00
Martin Storsjö
3c6e1fe8bc
Make a shell script case more compact
2018-10-13 23:57:41 +03:00
Martin Storsjö
a38e52fff5
Build address sanitizer
2018-10-02 14:53:53 +03:00
Martin Storsjö
6d7cef9e9e
test: Rename ssp.c to stacksmash.c
2018-10-02 14:53:53 +03:00
Martin Storsjö
f0aa7c4c10
Revert "Use dwarf exceptions on i686 as well"
...
This reverts commit ca43ab5ccd .
It was reported in https://github.com/mstorsjo/llvm-mingw/issues/8 that
the dwarf unwinding on i686 doesn't always work.
This commit adds a testcase for the case that didn't work previously.
2018-10-01 14:28:30 +03:00
Martin Storsjö
523892f626
Adjust run-tests.sh to pick up shared versions of libc++/libunwind/libssp
2018-09-05 12:28:33 +03:00
Martin Storsjö
37f8ba8516
Add tests for the autoimport feature
2018-09-05 12:21:46 +03:00
Martin Storsjö
4a1c91c208
Add a testcase for libssp
2018-08-13 23:50:01 +03:00
Martin Storsjö
0448bd616a
Build tests in a separate subdirectory for each arch
...
This eases cases when testcases contain DLLs, whose names won't
contain the arch name.
2018-08-13 23:49:08 +03:00
Martin Storsjö
26ab7a4424
Add a test app for thread local variables with destructors
2018-08-03 10:19:50 +03:00
Martin Storsjö
3b3924e4b1
test: Add a testcase for setjmp
2018-06-05 23:40:25 +03:00