bitcoin/ci/test
MarcoFalke 7027c67cac
Merge #18288: build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory
870f0cd2a0 build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory (practicalswift)

Pull request description:

  Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory.

  First UBSan, then ASan followed by TSan... and now: yes, the wait is over -- **MSan is finally here!** :)

  Some historical context:
  * 2017: Continuous compilation with Clang Thread Safety analysis enabled (#10866, #10923)
  * 2018: Continuous testing with trapping on signed integer overflows (`-ftrapv`) (#12686)
  * 2018: Continuous testing of use of locale dependent functions (#13041)
  * 2018: Continuous testing of format strings (#13705)
  * 2018: Continuous compilation with MSVC `TreatWarningAsError` (#14151)
  * 2018: Continuous testing under UndefinedBehaviorSanitizer – UBSan (#14252, #14673, #17006)
  * 2018: Continuous testing under AddressSanitizer – ASan (#14794, #17205, #17674)
  * 2018: Continuous testing under ThreadSanitizer – TSan (#14829)
  * 2019: Continuous testing in an unsigned char environment (`-funsigned-char`) (#15134)
  * 2019: Continuous compile-time testing of assumptions we're making (#15391)
  * 2019: Continuous testing of fuzz test cases under Valgrind (#17633, #18159, #18166)
  * 2020: Finally... MemorySanitizer – MSAN! :)

  What is the next step? What tools should we add to CI to keep bugs from entering `master`? :)

ACKs for top commit:
  MarcoFalke:
    ACK 870f0cd2a0

Tree-SHA512: 38327c8b75679d97d469fe42e704cacd1217447a5a603701dd8a58ee50b3be2c10248f8d68a479ed081c0c4b254589d3081c9183f991640b06ef689061f75578
2020-07-02 10:26:50 -04:00
..
00_setup_env_arm.sh scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
00_setup_env_i686_centos.sh test: set a name for CI Docker containers 2020-02-10 20:03:52 +08:00
00_setup_env_mac_host.sh ci: Run all tests on native mac again 2020-07-01 17:00:37 -04:00
00_setup_env_mac.sh macos: Bump to xcode 11.3.1 and 10.15 SDK 2020-06-22 10:14:33 -04:00
00_setup_env_native_asan.sh ci: Increase test timeout for sanitizer configs 2020-06-24 09:17:37 -04:00
00_setup_env_native_fuzz_with_valgrind.sh build: turn on --enable-c++17 by --enable-fuzz 2020-06-05 11:50:34 +02:00
00_setup_env_native_fuzz.sh build: turn on --enable-c++17 by --enable-fuzz 2020-06-05 11:50:34 +02:00
00_setup_env_native_msan.sh build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory 2020-06-23 09:09:30 +00:00
00_setup_env_native_multiprocess.sh ci: Upgrade most ci configs to focal 2020-06-19 10:44:11 -04:00
00_setup_env_native_nowallet.sh ci: Add test for clang-3.8 C++11 support 2020-06-19 20:33:53 -04:00
00_setup_env_native_qt5.sh ci: Upgrade most ci configs to focal 2020-06-19 10:44:11 -04:00
00_setup_env_native_tsan.sh test: move TEST_RUNNER_EXTRA into native tsan setup 2020-06-29 22:00:27 +08:00
00_setup_env_native_valgrind.sh ci: Increase test timeout for sanitizer configs 2020-06-24 09:17:37 -04:00
00_setup_env_s390x.sh scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
00_setup_env_win64.sh ci: Upgrade most ci configs to focal 2020-06-19 10:44:11 -04:00
00_setup_env.sh tests: run test-security-check.py in CI 2020-06-16 19:52:30 +08:00
03_before_install.sh ci: Remove unused workaround 2020-05-31 18:37:56 -04:00
04_install.sh build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory 2020-06-23 09:09:30 +00:00
05_before_script.sh build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory 2020-06-23 09:09:30 +00:00
06_script_a.sh build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory 2020-06-23 09:09:30 +00:00
06_script_b.sh tests: run test-security-check.py in CI 2020-06-16 19:52:30 +08:00
wrap-qemu.sh scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
wrap-valgrind.sh scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00