[pstl] Remove the stdlib headers from the PSTL and move them to the tests
Summary:
PSTL should not provide those headers since they belong to the standard
library. Instead, we define a dummy standard library in the tests that
provides those headers.
Reviewers: rodgert, MikeDvorskiy
Subscribers: mgorny, jkorous, dexonsmith, libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D60535
llvm-svn: 358497
GitOrigin-RevId: 4d88b17b3f282b1023400837c3249c9f27774eca
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 3381497..dae99e1 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -18,6 +18,10 @@
DEPENDS pstl-build-tests
COMMENT "Build and run all the unit tests.")
+add_library(test_stdlib INTERFACE)
+target_include_directories(test_stdlib INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/support/stdlib")
+target_link_libraries(test_stdlib INTERFACE pstl::ParallelSTL)
+
file(GLOB_RECURSE UNIT_TESTS "*.pass.cpp")
foreach(_file IN LISTS UNIT_TESTS)
file(RELATIVE_PATH _target "${CMAKE_CURRENT_SOURCE_DIR}" "${_file}")
@@ -27,8 +31,7 @@
add_executable(${_target} EXCLUDE_FROM_ALL "${_file}")
target_include_directories(${_target} PRIVATE "${CMAKE_CURRENT_LIST_DIR}")
- target_link_libraries(${_target} PRIVATE pstl::ParallelSTL)
- target_compile_definitions(${_target} PRIVATE -DPSTL_STANDALONE_TESTS)
+ target_link_libraries(${_target} PRIVATE test_stdlib)
set_target_properties(${_target} PROPERTIES CXX_EXTENSIONS NO
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
add_test(${_target} "${CMAKE_CURRENT_BINARY_DIR}/${_target}")
diff --git a/test/pstl/header_inclusion_order_algorithm_0.pass.cpp b/test/pstl/header_inclusion_order_algorithm_0.pass.cpp
index 0b0d79b..935c7e5 100644
--- a/test/pstl/header_inclusion_order_algorithm_0.pass.cpp
+++ b/test/pstl/header_inclusion_order_algorithm_0.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
int32_t
main()
diff --git a/test/pstl/header_inclusion_order_algorithm_1.pass.cpp b/test/pstl/header_inclusion_order_algorithm_1.pass.cpp
index e346a3b..e1057e9 100644
--- a/test/pstl/header_inclusion_order_algorithm_1.pass.cpp
+++ b/test/pstl/header_inclusion_order_algorithm_1.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/algorithm"
-#include "pstl/execution"
-#else
#include <algorithm>
#include <execution>
-#endif // PSTL_STANDALONE_TESTS
int32_t
main()
diff --git a/test/pstl/header_inclusion_order_memory_0.pass.cpp b/test/pstl/header_inclusion_order_memory_0.pass.cpp
index 1a8a117..9304d0c 100644
--- a/test/pstl/header_inclusion_order_memory_0.pass.cpp
+++ b/test/pstl/header_inclusion_order_memory_0.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/memory"
-#else
#include <execution>
#include <memory>
-#endif // PSTL_STANDALONE_TESTS
int32_t
main()
diff --git a/test/pstl/header_inclusion_order_memory_1.pass.cpp b/test/pstl/header_inclusion_order_memory_1.pass.cpp
index 2e34323..ff767c7 100644
--- a/test/pstl/header_inclusion_order_memory_1.pass.cpp
+++ b/test/pstl/header_inclusion_order_memory_1.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/memory"
-#include "pstl/execution"
-#else
#include <memory>
#include <execution>
-#endif // PSTL_STANDALONE_TESTS
int32_t
main()
diff --git a/test/pstl/header_inclusion_order_numeric_0.pass.cpp b/test/pstl/header_inclusion_order_numeric_0.pass.cpp
index 1ff596e..04725e9 100644
--- a/test/pstl/header_inclusion_order_numeric_0.pass.cpp
+++ b/test/pstl/header_inclusion_order_numeric_0.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/numeric"
-#else
#include <execution>
#include <numeric>
-#endif // PSTL_STANDALONE_TESTS
int32_t
main()
diff --git a/test/pstl/header_inclusion_order_numeric_1.pass.cpp b/test/pstl/header_inclusion_order_numeric_1.pass.cpp
index 3c5b8cf..db38fbd 100644
--- a/test/pstl/header_inclusion_order_numeric_1.pass.cpp
+++ b/test/pstl/header_inclusion_order_numeric_1.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/numeric"
-#include "pstl/execution"
-#else
#include <numeric>
#include <execution>
-#endif // PSTL_STANDALONE_TESTS
int32_t
main()
diff --git a/test/std/algorithms/alg.merge/inplace_merge.pass.cpp b/test/std/algorithms/alg.merge/inplace_merge.pass.cpp
index 2ba7457..7a8d065 100644
--- a/test/std/algorithms/alg.merge/inplace_merge.pass.cpp
+++ b/test/std/algorithms/alg.merge/inplace_merge.pass.cpp
@@ -9,15 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include <algorithm>
-#include "pstl/execution"
-#include "pstl/algorithm"
-
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.merge/merge.pass.cpp b/test/std/algorithms/alg.merge/merge.pass.cpp
index 20e3a0d..b215beb 100644
--- a/test/std/algorithms/alg.merge/merge.pass.cpp
+++ b/test/std/algorithms/alg.merge/merge.pass.cpp
@@ -9,16 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include <algorithm>
-#include <functional>
-#include "pstl/execution"
-#include "pstl/algorithm"
-
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
+#include <functional>
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp b/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
index 2a915ca..d2bb83b 100644
--- a/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
@@ -10,13 +10,8 @@
// Tests for copy_if and remove_copy_if
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp b/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
index b1880f1..874595f 100644
--- a/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp b/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
index 0203fff..716f6dd 100644
--- a/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
@@ -10,19 +10,13 @@
// Tests for stable_partition and partition
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
-
-#include "support/utils.h"
-
#include <iterator>
#include <type_traits>
+#include "support/utils.h"
+
using namespace TestUtils;
template <typename T>
diff --git a/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp b/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
index e9ae0ee..dfb76e3 100644
--- a/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
@@ -10,19 +10,13 @@
// Tests for stable_partition and partition_copy
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
-
-#include "support/utils.h"
-
#include <cstdlib>
#include <iterator>
+#include "support/utils.h"
+
using namespace TestUtils;
struct test_partition_copy
diff --git a/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp b/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp
index 79b53d1..9d4615c 100644
--- a/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp
@@ -9,15 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
#include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp b/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
index c8569a6..3edd3e8 100644
--- a/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
@@ -9,15 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
#include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp b/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp
index c54d97a..18ba11b 100644
--- a/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp
@@ -11,13 +11,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/fill.pass.cpp b/test/std/algorithms/alg.modifying.operations/fill.pass.cpp
index 19bc150..d54a7de 100644
--- a/test/std/algorithms/alg.modifying.operations/fill.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/fill.pass.cpp
@@ -9,14 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/generate.pass.cpp b/test/std/algorithms/alg.modifying.operations/generate.pass.cpp
index 9862f14..9b423df 100644
--- a/test/std/algorithms/alg.modifying.operations/generate.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/generate.pass.cpp
@@ -9,15 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
#include <atomic>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/remove.pass.cpp b/test/std/algorithms/alg.modifying.operations/remove.pass.cpp
index 5a5404f..010e3c6 100644
--- a/test/std/algorithms/alg.modifying.operations/remove.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/remove.pass.cpp
@@ -10,13 +10,8 @@
// Test for remove, remove_if
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp b/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp
index 0437292..1dabb81 100644
--- a/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp
@@ -9,14 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/replace.pass.cpp b/test/std/algorithms/alg.modifying.operations/replace.pass.cpp
index 7784d38..9f172a4 100644
--- a/test/std/algorithms/alg.modifying.operations/replace.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/replace.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp b/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp
index e4a147b..b6700f1 100644
--- a/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp
@@ -11,13 +11,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp b/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp
index 64f6a03..08241ac 100644
--- a/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp
@@ -9,15 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
#include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp b/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp
index 3660e9d..3b1ce81 100644
--- a/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp
@@ -9,15 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
#include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp b/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp
index b53003c..1f4031b 100644
--- a/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp
@@ -9,15 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
#include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp b/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp
index d44284d..e440d67 100644
--- a/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp b/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp
index eae992c..48e3db4 100644
--- a/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/unique.pass.cpp b/test/std/algorithms/alg.modifying.operations/unique.pass.cpp
index 92a9cdd..dc1e38b 100644
--- a/test/std/algorithms/alg.modifying.operations/unique.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/unique.pass.cpp
@@ -10,13 +10,8 @@
// Test for unique
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp b/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp
index 9161fff..a3adb20 100644
--- a/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp
+++ b/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp
@@ -10,13 +10,8 @@
// Tests for unique_copy
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp b/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp
index 50b01e3..1bccb53 100644
--- a/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp
@@ -9,14 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp b/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp
index f73166e..2ad0c57 100644
--- a/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp b/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp
index 8d330c2..9e8cbe5 100644
--- a/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/count.pass.cpp b/test/std/algorithms/alg.nonmodifying/count.pass.cpp
index 04b0f52..e1c649d 100644
--- a/test/std/algorithms/alg.nonmodifying/count.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/count.pass.cpp
@@ -10,13 +10,8 @@
// Tests for count and count_if
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/equal.pass.cpp b/test/std/algorithms/alg.nonmodifying/equal.pass.cpp
index 8ddadb8..ea4c09e 100644
--- a/test/std/algorithms/alg.nonmodifying/equal.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/equal.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/find.pass.cpp b/test/std/algorithms/alg.nonmodifying/find.pass.cpp
index 8d7cc02..a5d5b85 100644
--- a/test/std/algorithms/alg.nonmodifying/find.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/find.pass.cpp
@@ -10,13 +10,8 @@
// Tests for find
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp b/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp
index a9b04f8..dfe499c 100644
--- a/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp b/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp
index eb67c2f..f090331 100644
--- a/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp b/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp
index 06763b1..b0f165d 100644
--- a/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp
@@ -10,13 +10,8 @@
// Tests for find_if and find_if_not
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp b/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp
index cb0fa06..00e04f2 100644
--- a/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp b/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp
index ec34af0..f0f61ca 100644
--- a/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp
@@ -9,17 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#include "pstl/numeric"
-#include "pstl/memory"
-
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp b/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp
index 8ca113c..3abf7e3 100644
--- a/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp b/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp
index 7aee862..61fe8d7 100644
--- a/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp
@@ -9,16 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include <algorithm>
#include <iostream>
-#include "pstl/execution"
-#include "pstl/algorithm"
-
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp b/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp
index 846140a..28fcb36 100644
--- a/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp
+++ b/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp b/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp
index adfe96e..bfee4bd 100644
--- a/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp
+++ b/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp
@@ -10,13 +10,8 @@
// Tests for is_heap, is_heap_until
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
#include <iostream>
diff --git a/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp b/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
index 7adadd5..cdfca24 100644
--- a/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
+++ b/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
@@ -9,15 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
#include <iostream>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp b/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp
index e3fec86..01016b8 100644
--- a/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp
+++ b/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp
@@ -9,21 +9,14 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
-
-#include "support/utils.h"
-
#include <set>
#include <cassert>
#include <cmath>
+#include "support/utils.h"
+
using namespace TestUtils;
struct check_minelement
diff --git a/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp b/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp
index fff2284..431ce0d 100644
--- a/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp
+++ b/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp
@@ -9,16 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
#include <cmath>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp b/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp
index 6d8c089..dbe59d0 100644
--- a/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp
+++ b/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp
@@ -9,17 +9,10 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
#include <cmath>
#include <chrono>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.sorting/is_sorted.pass.cpp b/test/std/algorithms/alg.sorting/is_sorted.pass.cpp
index a5219f7..e7d84f1 100644
--- a/test/std/algorithms/alg.sorting/is_sorted.pass.cpp
+++ b/test/std/algorithms/alg.sorting/is_sorted.pass.cpp
@@ -9,14 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.sorting/partial_sort.pass.cpp b/test/std/algorithms/alg.sorting/partial_sort.pass.cpp
index 54d30ab..701fee2 100644
--- a/test/std/algorithms/alg.sorting/partial_sort.pass.cpp
+++ b/test/std/algorithms/alg.sorting/partial_sort.pass.cpp
@@ -9,16 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
#include <cmath>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp b/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp
index 44a2a99..6045176 100644
--- a/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp
+++ b/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp
@@ -9,16 +9,11 @@
// Tests for partial_sort_copy
-#include <cmath>
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
+#include <cmath>
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/algorithms/alg.sorting/sort.pass.cpp b/test/std/algorithms/alg.sorting/sort.pass.cpp
index e2eb9ce..1997ec5 100644
--- a/test/std/algorithms/alg.sorting/sort.pass.cpp
+++ b/test/std/algorithms/alg.sorting/sort.pass.cpp
@@ -9,14 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
#include <execution>
#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp b/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp
index 4d05c33..eb3a48e 100644
--- a/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp
+++ b/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp
@@ -9,16 +9,9 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
#include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#include "pstl/numeric"
-#else
#include <execution>
-#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
+#include <numeric>
#include "support/utils.h"
diff --git a/test/std/numerics/numeric.ops/reduce.pass.cpp b/test/std/numerics/numeric.ops/reduce.pass.cpp
index d4709c5..83efe03 100644
--- a/test/std/numerics/numeric.ops/reduce.pass.cpp
+++ b/test/std/numerics/numeric.ops/reduce.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/numeric"
-#else
#include <execution>
#include <numeric>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/numerics/numeric.ops/scan.pass.cpp b/test/std/numerics/numeric.ops/scan.pass.cpp
index eafffcc..6ae02f1 100644
--- a/test/std/numerics/numeric.ops/scan.pass.cpp
+++ b/test/std/numerics/numeric.ops/scan.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/numeric"
-#else
#include <execution>
#include <numeric>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/numerics/numeric.ops/transform_reduce.pass.cpp b/test/std/numerics/numeric.ops/transform_reduce.pass.cpp
index 792190a..4065e72 100644
--- a/test/std/numerics/numeric.ops/transform_reduce.pass.cpp
+++ b/test/std/numerics/numeric.ops/transform_reduce.pass.cpp
@@ -9,14 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/numeric"
-#else
#include <execution>
#include <numeric>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/numerics/numeric.ops/transform_scan.pass.cpp b/test/std/numerics/numeric.ops/transform_scan.pass.cpp
index 282bf34..748da91 100644
--- a/test/std/numerics/numeric.ops/transform_scan.pass.cpp
+++ b/test/std/numerics/numeric.ops/transform_scan.pass.cpp
@@ -9,13 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/numeric"
-#else
#include <execution>
#include <numeric>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp b/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp
index 0e6e0c0..50c9db1 100644
--- a/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp
+++ b/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp
@@ -12,13 +12,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/memory"
-#else
#include <execution>
#include <memory>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp b/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp
index ce3ee1a..979c2e5 100644
--- a/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp
+++ b/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp
@@ -11,13 +11,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/memory"
-#else
#include <execution>
#include <memory>
-#endif // PSTL_STANDALONE_TESTS
#include "support/utils.h"
diff --git a/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp b/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp
index 12301f0..a57afcc 100644
--- a/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp
+++ b/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp
@@ -9,15 +9,8 @@
#include "support/pstl_test_config.h"
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/memory"
-#include "pstl/algorithm"
-#else
#include <execution>
-#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
+#include <memory>
#include "support/utils.h"
diff --git a/include/pstl/algorithm b/test/support/stdlib/algorithm
similarity index 67%
rename from include/pstl/algorithm
rename to test/support/stdlib/algorithm
index 684f8ea..39e6f74 100644
--- a/include/pstl/algorithm
+++ b/test/support/stdlib/algorithm
@@ -7,18 +7,20 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _PSTL_ALGORITHM
-#define _PSTL_ALGORITHM
+#ifndef _TEST_SUPPORT_STDLIB_ALGORITHM
+#define _TEST_SUPPORT_STDLIB_ALGORITHM
-#include "internal/pstl_config.h"
+#include_next <algorithm>
+
+#include <pstl/internal/pstl_config.h>
#if _PSTL_EXECUTION_POLICIES_DEFINED
// If <execution> has already been included, pull in implementations
-# include "internal/glue_algorithm_impl.h"
+# include <pstl/internal/glue_algorithm_impl.h>
#else
// Otherwise just pull in forward declarations
-# include "internal/glue_algorithm_defs.h"
+# include <pstl/internal/glue_algorithm_defs.h>
# define _PSTL_ALGORITHM_FORWARD_DECLARED 1
#endif
-#endif /* _PSTL_ALGORITHM */
+#endif /* _TEST_SUPPORT_STDLIB_ALGORITHM */
diff --git a/include/pstl/execution b/test/support/stdlib/execution
similarity index 67%
rename from include/pstl/execution
rename to test/support/stdlib/execution
index 333c61f..ad18c45 100644
--- a/include/pstl/execution
+++ b/test/support/stdlib/execution
@@ -7,30 +7,32 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _PSTL_EXECUTION
-#define _PSTL_EXECUTION
+#ifndef _TEST_SUPPORT_STDLIB_EXECUTION
+#define _TEST_SUPPORT_STDLIB_EXECUTION
-#include "internal/pstl_config.h"
-#include "internal/execution_defs.h"
+// #include_next <execution> // None of the standard libraries PSTL is built on top have the <execution> header yet.
+
+#include <pstl/internal/pstl_config.h>
+#include <pstl/internal/execution_defs.h>
#define _PSTL_EXECUTION_POLICIES_DEFINED 1
#if _PSTL_ALGORITHM_FORWARD_DECLARED
-# include "internal/glue_algorithm_impl.h"
+# include <pstl/internal/glue_algorithm_impl.h>
#endif
#if _PSTL_MEMORY_FORWARD_DECLARED
-# include "internal/glue_memory_impl.h"
+# include <pstl/internal/glue_memory_impl.h>
#endif
#if _PSTL_NUMERIC_FORWARD_DECLARED
-# include "internal/glue_numeric_impl.h"
+# include <pstl/internal/glue_numeric_impl.h>
#endif
#if _PSTL_CPP17_EXECUTION_POLICIES_PRESENT
_PSTL_PRAGMA_MESSAGE_POLICIES("The <Parallel STL> execution policies are defined in the namespace __pstl::execution")
#else
-# include "internal/glue_execution_defs.h"
+# include <pstl/internal/glue_execution_defs.h>
_PSTL_PRAGMA_MESSAGE_POLICIES(
"The <Parallel STL> execution policies are injected into the standard namespace std::execution")
#endif
@@ -45,4 +47,4 @@
}
} // namespace pstl
-#endif /* _PSTL_EXECUTION */
+#endif /* _TEST_SUPPORT_STDLIB_EXECUTION */
diff --git a/include/pstl/memory b/test/support/stdlib/memory
similarity index 68%
rename from include/pstl/memory
rename to test/support/stdlib/memory
index 359eaf1..7d11091 100644
--- a/include/pstl/memory
+++ b/test/support/stdlib/memory
@@ -7,18 +7,20 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _PSTL_MEMORY
-#define _PSTL_MEMORY
+#ifndef _TEST_SUPPORT_STDLIB_MEMORY
+#define _TEST_SUPPORT_STDLIB_MEMORY
-#include "internal/pstl_config.h"
+#include_next <memory>
+
+#include <pstl/internal/pstl_config.h>
#if _PSTL_EXECUTION_POLICIES_DEFINED
// If <execution> has already been included, pull in implementations
-# include "internal/glue_memory_impl.h"
+# include <pstl/internal/glue_memory_impl.h>
#else
// Otherwise just pull in forward declarations
-# include "internal/glue_memory_defs.h"
+# include <pstl/internal/glue_memory_defs.h>
# define _PSTL_MEMORY_FORWARD_DECLARED 1
#endif
-#endif /* _PSTL_MEMORY */
+#endif /* _TEST_SUPPORT_STDLIB_MEMORY */
diff --git a/include/pstl/numeric b/test/support/stdlib/numeric
similarity index 68%
rename from include/pstl/numeric
rename to test/support/stdlib/numeric
index 94e9b76..8f98bc7 100644
--- a/include/pstl/numeric
+++ b/test/support/stdlib/numeric
@@ -7,18 +7,20 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _PSTL_NUMERIC
-#define _PSTL_NUMERIC
+#ifndef _TEST_SUPPORT_STDLIB_NUMERIC
+#define _TEST_SUPPORT_STDLIB_NUMERIC
-#include "internal/pstl_config.h"
+#include_next <numeric>
+
+#include <pstl/internal/pstl_config.h>
#if _PSTL_EXECUTION_POLICIES_DEFINED
// If <execution> has already been included, pull in implementations
-# include "internal/glue_numeric_impl.h"
+# include <pstl/internal/glue_numeric_impl.h>
#else
// Otherwise just pull in forward declarations
-# include "internal/glue_numeric_defs.h"
+# include <pstl/internal/glue_numeric_defs.h>
# define _PSTL_NUMERIC_FORWARD_DECLARED 1
#endif
-#endif /* _PSTL_NUMERIC */
+#endif /* _TEST_SUPPORT_STDLIB_NUMERIC */