History log of /netbsd-current/tests/usr.bin/c++/Makefile
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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.


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.11 29-Jan-2019 mgorny

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>


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
# 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>


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
# 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>


Revision tags: pgoyette-compat-0407
# 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.


Revision tags: pgoyette-compat-0330
# 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>


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3
# 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.11 29-Jan-2019 mgorny

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>


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
# 1.9 02-May-2018 kamil

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>


Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415
# 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>


Revision tags: pgoyette-compat-0407
# 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.


Revision tags: pgoyette-compat-0330
# 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>


Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3
# 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.