Home | History | Annotate | Download | only in c++
History log of /src/tests/usr.bin/c++/Makefile
RevisionDateAuthorComments
 1.12  18-Aug-2019  kamil Add ATF c and c++ tests for TSan, MSan, libFuzzer

These tests require Clang/LLVM 7 or newer on NetBSD.

Contributed by Yang Zheng during GSoC 2018.
 1.11  29-Jan-2019  mgorny branches: 1.11.2;
Move common UBSAN test case code into ubsan_common.subr

Reviewed by <kamil>
 1.10  29-Jan-2019  mgorny Move common ASAN test case code into asan_common.subr

Reviewed by <kamil>
 1.9  02-May-2018  kamil branches: 1.9.2;
Add new ATF Undefined Behavior Sanitizer tests

Add new cc and c++ tests to check whether UBSan works.
These tests are prepared for GCC (in base) and Clang (with external patches).

Enable these tests for all ports by default, just verify whether we are
using GCC/Clang or a compatible compiler.

Add five equivalent C and C++ tests:
- Integer addition overflow
- Integer divide by zero
- Integer negation overflow
- Integer subtraction overflow
- VLA out of bounds

All tests pass on NetBSD/amd64.

Patch submitted by <Harry Pantazis>
Minor cleanup by <myself>
 1.8  11-Apr-2018  kamil Import new C and C++ ATF tests for ASan

Add new tests:
- tests/usr.bin/cc/t_asan_poison.sh
- tests/usr.bin/c++/t_asan_poison.sh

These tests verify the following build options:
- regular
- profile
- pic
- pie
- compat32
- (static unsupported)

These tests verify whether ASan code can include compiler and sanitizer
specific header: <sanitizer/asan_interface.h>. The testing code checks
the ASAN_POISON_MEMORY_REGION() functionality, poisoning valid memory and
asserting that it triggers expected failure.

Patch submitted by <Siddharth Muralee>
 1.7  04-Apr-2018  kamil Add new ATF tests for Address Sanitzier (ASan)

Add new C and C++ tests:
- t_asan_double_free
- t_asan_global_buffer_overflow
- t_asan_heap_overflow
- t_asan_off_by_one
- t_asan_uaf

Each tests checks:
- regular build
- 32-bit
- PIC
- PIE
- profile

These tests require paxctl(8) to disable ASLR in order to work in a
predictable way. This is especially true for all !regular builds with
additional compiler flags.

There are no static variations of these tests as this mode is not supported
in upstream ASan.

Enable these tests on amd64 and i386.

This is part two patch, adding the remaining C++ changes.

Patch submitted by <Siddharth Muralee>
Additional polishing by myself.
 1.6  04-Apr-2018  kamil Correct a small regression typo in usr.bin/c++ ATF tests

TESTS_SH= changed to TESTS_SH+=
 1.5  04-Apr-2018  kamil Sort entries in ATF tests in tests/usr.bin/c++/Makefile

No functional change intended.
 1.4  24-Mar-2018  kamil Add new C++ ATF tests

Add new variations for existing C++ tests:
- Static
- Profile+32-bit
- PIC+32-bit
- PIC+Profile
- PIC+Profile+32-bit

All tests pass for NetBSD/amd64:
- t_cxxruntime
- t_hello
- t_static_destructor

+--------------------------------------------------------------+
| Options | cxxruntime | hello | static_destructor |
+--------------------------------------------------------------+
| None | Passed | Passed | Passed |
| 32-bit | Passed | Passed | Passed |
| PIC | Passed | Passed | Passed |
| PIE | Passed | Passed | Passed |
| Profile | Passed | Passed | Passed |
| Static | Passed | Passed | Passed |
| Profile+32-bit | Passed | Passed | Passed |
| PIC+32-bit | Passed | Passed | Passed |
| PIC+Profile | Passed | Passed | Passed |
| PIC+Profile+32-bit | Passed | Passed | Passed |
+--------------------------------------------------------------+

Add new C++11 std::call_once tests:
- t_call_once
- t_call_once2

Add new C++11 test with pthread_once(3) and C++ lambda:
- t_pthread_once

All tests with the profile option for std::call_once and
pthread_once(3) are marked as expected failure (NetBSD/amd64).

Results for *_once*:
+------------------------------------------------------------+
| Options | call_once | call_once2 | pthread_once |
+------------------------------------------------------------+
| None | Passed | Passed | Passed |
| 32-bit | Passed | Passed | Passed |
| PIC | Passed | Passed | Passed |
| PIE | Passed | Passed | Passed |
| Profile | Failed | Failed | Failed |
| Static | Passed | Passed | Passed |
| Profile+32-bit | Failed | Failed | Failed |
| PIC+32-bit | Passed | Passed | Passed |
| PIC+Profile | Failed | Failed | Failed |
| PIC+Profile+32-bit | Failed | Failed | Failed |
+------------------------------------------------------------+

Long term there is an option to refacotr the framework for C and C++ tests,
in order to reduce code duplication.

Patches sent by Yang Zheng <tomsun.0.7@gmail.com>
 1.3  14-May-2017  kamil branches: 1.3.2; 1.3.10;
Add new ATF C++ tests in usr.bin/c++: t_static_destructor

These tests are cloned from t_cxxruntime and check proper order of destructor
calls. They must be reported in reverse order of constructor completion.

Added tests:
- static_destructor
- static_destructor_pic
- static_destructor_pie
- static_destructor32

This test file replaces src/regress/usr.bin/c++/static_destructor.
 1.2  14-May-2017  kamil Add new ATF C++ tests in usr.bin/c++

These tests are cloned from t_hello and use c++ runtime basic functions.

Added tests:
- hello
- hello_pic
- hello_pie
- hello32
 1.1  14-May-2017  kamil Add new c++ ATF tests in usr.bin/c++: t_hello

This is a copy of t_hello from usr.bin/cc.

Added tests:
- hello
- hello_pic
- hello_pie
- hello32

These tests do not use c++ runtime library functions.

Protect these tests with MKCXX.
 1.3.10.4  21-May-2018  pgoyette Sync with HEAD
 1.3.10.3  16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.3.10.2  07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.3.10.1  30-Mar-2018  pgoyette Resolve conflicts between branch and HEAD
 1.3.2.2  19-May-2017  pgoyette Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)
 1.3.2.1  14-May-2017  pgoyette file Makefile was added on branch prg-localcount2 on 2017-05-19 00:22:59 +0000
 1.9.2.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.2.1  10-Jun-2019  christos Sync with HEAD
 1.11.2.1  29-Aug-2019  martin Pull up following revision(s) (requested by kamil in ticket #120):

tests/usr.bin/cc/t_msan_poison.sh: revision 1.1
tests/usr.bin/cc/t_msan_allocated_memory.sh: revision 1.2
tests/usr.bin/cc/t_msan_poison.sh: revision 1.2
tests/usr.bin/c++/t_fuzzer_oom.sh: revision 1.1
tests/usr.bin/cc/t_tsan_signal_errno.sh: revision 1.1
tests/usr.bin/c++/t_fuzzer_simple.sh: revision 1.1
tests/usr.bin/c++/t_fuzzer_oom.sh: revision 1.2
tests/usr.bin/cc/t_tsan_signal_errno.sh: revision 1.2
tests/usr.bin/cc/t_tsan_heap_use_after_free.sh: revision 1.1
tests/usr.bin/c++/t_fuzzer_simple.sh: revision 1.2
tests/usr.bin/cc/t_tsan_heap_use_after_free.sh: revision 1.2
tests/usr.bin/c++/t_tsan_thread_leak.sh: revision 1.1
tests/usr.bin/c++/t_tsan_thread_leak.sh: revision 1.2
tests/usr.bin/cc/t_fuzzer_oom.sh: revision 1.1
distrib/sets/lists/tests/mi: revision 1.819
tests/usr.bin/cc/t_fuzzer_oom.sh: revision 1.2
tests/usr.bin/cc/t_fuzzer_timeout.sh: revision 1.1
tests/usr.bin/cc/t_msan_unpoison.sh: revision 1.1
tests/usr.bin/cc/t_fuzzer_timeout.sh: revision 1.2
tests/usr.bin/cc/t_msan_unpoison.sh: revision 1.2
tests/usr.bin/c++/t_msan_heap.sh: revision 1.1
tests/usr.bin/cc/t_tsan_locked_mutex_destroy.sh: revision 1.1
tests/usr.bin/c++/t_msan_heap.sh: revision 1.2
tests/usr.bin/cc/t_tsan_locked_mutex_destroy.sh: revision 1.2
tests/usr.bin/cc/Makefile: revision 1.8
tests/usr.bin/c++/t_msan_free.sh: revision 1.1
tests/usr.bin/c++/t_msan_unpoison.sh: revision 1.1
tests/usr.bin/c++/t_msan_free.sh: revision 1.2
tests/usr.bin/c++/t_msan_unpoison.sh: revision 1.2
tests/usr.bin/c++/t_tsan_heap_use_after_free.sh: revision 1.1
tests/usr.bin/cc/t_tsan_lock_order_inversion.sh: revision 1.1
tests/usr.bin/c++/t_tsan_heap_use_after_free.sh: revision 1.2
tests/usr.bin/c++/t_msan_poison.sh: revision 1.1
tests/usr.bin/c++/t_msan_partial_poison.sh: revision 1.1
tests/usr.bin/cc/t_tsan_lock_order_inversion.sh: revision 1.2
tests/usr.bin/c++/t_msan_poison.sh: revision 1.2
tests/usr.bin/c++/t_msan_partial_poison.sh: revision 1.2
tests/usr.bin/c++/t_msan_realloc.sh: revision 1.1
tests/usr.bin/cc/t_msan_shadow.sh: revision 1.1
tests/usr.bin/cc/t_msan_partial_poison.sh: revision 1.1
tests/usr.bin/c++/t_msan_realloc.sh: revision 1.2
tests/usr.bin/c++/t_msan_allocated_memory.sh: revision 1.1
tests/usr.bin/cc/t_msan_shadow.sh: revision 1.2
tests/usr.bin/cc/t_msan_partial_poison.sh: revision 1.2
tests/usr.bin/c++/t_msan_allocated_memory.sh: revision 1.2
tests/usr.bin/cc/t_msan_free.sh: revision 1.1
tests/usr.bin/cc/t_msan_free.sh: revision 1.2
tests/usr.bin/c++/t_tsan_locked_mutex_destroy.sh: revision 1.1
tests/usr.bin/c++/t_fuzzer_timeout.sh: revision 1.1
tests/usr.bin/cc/t_msan_heap.sh: revision 1.1
tests/usr.bin/c++/t_tsan_locked_mutex_destroy.sh: revision 1.2
tests/usr.bin/c++/t_fuzzer_timeout.sh: revision 1.2
tests/usr.bin/cc/t_tsan_thread_leak.sh: revision 1.1
tests/usr.bin/cc/t_msan_heap.sh: revision 1.2
tests/usr.bin/cc/t_tsan_thread_leak.sh: revision 1.2
tests/usr.bin/cc/t_tsan_data_race.sh: revision 1.1
tests/usr.bin/cc/t_tsan_data_race.sh: revision 1.2
tests/usr.bin/c++/t_tsan_lock_order_inversion.sh: revision 1.1
tests/usr.bin/c++/t_tsan_signal_errno.sh: revision 1.1
tests/usr.bin/c++/t_tsan_lock_order_inversion.sh: revision 1.2
tests/usr.bin/c++/Makefile: revision 1.12
tests/usr.bin/c++/t_tsan_signal_errno.sh: revision 1.2
tests/usr.bin/cc/t_msan_check_mem.sh: revision 1.1
tests/usr.bin/cc/t_msan_check_mem.sh: revision 1.2
tests/usr.bin/cc/t_msan_realloc.sh: revision 1.1
tests/usr.bin/c++/t_tsan_vptr_race.sh: revision 1.1
tests/usr.bin/cc/t_msan_realloc.sh: revision 1.2
tests/usr.bin/c++/t_tsan_vptr_race.sh: revision 1.2
tests/usr.bin/c++/t_msan_shadow.sh: revision 1.1
tests/usr.bin/c++/t_msan_shadow.sh: revision 1.2
tests/usr.bin/c++/t_msan_stack.sh: revision 1.1
tests/usr.bin/c++/t_tsan_data_race.sh: revision 1.1
tests/usr.bin/c++/t_msan_stack.sh: revision 1.2
tests/usr.bin/cc/t_fuzzer_simple.sh: revision 1.1
tests/usr.bin/c++/t_tsan_data_race.sh: revision 1.2
tests/usr.bin/cc/t_fuzzer_simple.sh: revision 1.2
tests/usr.bin/c++/t_msan_check_mem.sh: revision 1.1
tests/usr.bin/cc/t_msan_stack.sh: revision 1.1
tests/usr.bin/c++/t_msan_check_mem.sh: revision 1.2
tests/usr.bin/cc/t_msan_stack.sh: revision 1.2
tests/usr.bin/cc/t_msan_allocated_memory.sh: revision 1.1

Add ATF c and c++ tests for TSan, MSan, libFuzzer

These tests require Clang/LLVM 7 or newer on NetBSD.

Contributed by Yang Zheng during GSoC 2018.

-

Define target_not_supported_body() in TSan, MSan and libFuzzer tests

RSS XML Feed