From ca8e62897f26d4e6c91c1f410c40d776a75fd642 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Sun, 14 Apr 2024 10:56:31 -0500 Subject: [PATCH] Split algorithm tests on CircleCI --- .circleci/config.yml | 62 +++++++++++++++++++------ .circleci/tests.unit1.algorithms | 76 ++++++++++++++++++++++++++++++ .circleci/tests.unit2.algorithms | 79 ++++++++++++++++++++++++++++++++ 3 files changed, 202 insertions(+), 15 deletions(-) create mode 100644 .circleci/tests.unit1.algorithms create mode 100644 .circleci/tests.unit2.algorithms diff --git a/.circleci/config.yml b/.circleci/config.yml index c42efad5aaa4..312201627ae5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -490,18 +490,16 @@ jobs: paths: - ./build - tests.unit.algorithms: + tests.unit1.algorithms: <<: *defaults steps: - attach_workspace: at: /hpx - run: - name: Building Unit Tests (Algorithms) + name: Building Unit Tests (Algorithms, 1) command: | - ninja -j2 -k 0 \ - tests.unit.modules.algorithms.algorithms \ - tests.unit.modules.algorithms.block -# tests.unit.modules.algorithms.datapar_algorithms + ninja -j1 -k 0 \ + `grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit1.algorithms` - run: name: Running Unit Tests when: always @@ -513,9 +511,7 @@ jobs: --no-compress-output \ --output-on-failure \ --tests-regex \ - "tests.unit.modules.algorithms.algorithms|\ - tests.unit.modules.algorithms.block" -# "|tests.unit.modules.algorithms.datapar_algorithms" + `grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit1.algorithms | sed ':b;N;$!bb;s/\n/|/g'` - run: <<: *convert_xml - run: @@ -523,9 +519,42 @@ jobs: - run: <<: *move_debug_log - store_test_results: - path: tests.unit.algorithms + path: tests.unit1.algorithms - store_artifacts: - path: tests.unit.algorithms + path: tests.unit1.algorithms + + tests.unit2.algorithms: + <<: *defaults + steps: + - attach_workspace: + at: /hpx + - run: + name: Building Unit Tests (Algorithms, 2) + command: | + ninja -j1 -k 0 \ + `grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit2.algorithms` + - run: + name: Running Unit Tests + when: always + command: | + ulimit -c unlimited + ctest \ + --timeout 120 \ + -T test \ + --no-compress-output \ + --output-on-failure \ + --tests-regex \ + `grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit2.algorithms | sed ':b;N;$!bb;s/\n/|/g'` + - run: + <<: *convert_xml + - run: + <<: *move_core_dump + - run: + <<: *move_debug_log + - store_test_results: + path: tests.unit2.algorithms + - store_artifacts: + path: tests.unit2.algorithms tests.unit.container_algorithms: <<: *defaults @@ -595,7 +624,7 @@ jobs: - attach_workspace: at: /hpx - run: - name: Building Unit Tests + name: Building Unit Tests (1) command: | ninja -j2 -k 0 `grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit1.targets` - run: @@ -626,7 +655,7 @@ jobs: - attach_workspace: at: /hpx - run: - name: Building Unit Tests + name: Building Unit Tests (2) command: | ninja -j2 -k 0 `grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit2.targets` - run: @@ -912,7 +941,9 @@ workflows: <<: *gh_pages_filter - tests.examples: <<: *core_dependency - - tests.unit.algorithms: + - tests.unit1.algorithms: + <<: *core_dependency + - tests.unit2.algorithms: <<: *core_dependency - tests.unit.container_algorithms: <<: *core_dependency @@ -970,7 +1001,8 @@ workflows: requires: - core - tests.examples - - tests.unit.algorithms + - tests.unit1.algorithms + - tests.unit2.algorithms - tests.unit.container_algorithms - tests.unit.segmented_algorithms - tests.unit1 diff --git a/.circleci/tests.unit1.algorithms b/.circleci/tests.unit1.algorithms new file mode 100644 index 000000000000..d35e591525da --- /dev/null +++ b/.circleci/tests.unit1.algorithms @@ -0,0 +1,76 @@ +# Copyright (c) 2021-2024 Hartmut Kaiser +# +# SPDX-License-Identifier: BSL-1.0 +# Distributed under the Boost Software License, Version 1.0. (See accompanying +# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +tests.unit.modules.algorithms.algorithms.adjacentdifference +tests.unit.modules.algorithms.algorithms.adjacentdifference_sender +tests.unit.modules.algorithms.algorithms.adjacentfind +tests.unit.modules.algorithms.algorithms.adjacentfind_binary +tests.unit.modules.algorithms.algorithms.all_of +tests.unit.modules.algorithms.algorithms.any_of +tests.unit.modules.algorithms.algorithms.copy +tests.unit.modules.algorithms.algorithms.copyif_random +tests.unit.modules.algorithms.algorithms.copyif_forward +tests.unit.modules.algorithms.algorithms.copyif_exception +tests.unit.modules.algorithms.algorithms.copyif_bad_alloc +tests.unit.modules.algorithms.algorithms.copyn +tests.unit.modules.algorithms.algorithms.count +tests.unit.modules.algorithms.algorithms.countif +tests.unit.modules.algorithms.algorithms.destroy +tests.unit.modules.algorithms.algorithms.destroyn +tests.unit.modules.algorithms.algorithms.ends_with +tests.unit.modules.algorithms.algorithms.equal +tests.unit.modules.algorithms.algorithms.equal_binary +tests.unit.modules.algorithms.algorithms.exclusive_scan +tests.unit.modules.algorithms.algorithms.exclusive_scan2 +tests.unit.modules.algorithms.algorithms.exclusive_scan_exception +tests.unit.modules.algorithms.algorithms.exclusive_scan_bad_alloc +tests.unit.modules.algorithms.algorithms.exclusive_scan_validate +tests.unit.modules.algorithms.algorithms.fill +tests.unit.modules.algorithms.algorithms.filln +tests.unit.modules.algorithms.algorithms.find +tests.unit.modules.algorithms.algorithms.find_sender +tests.unit.modules.algorithms.algorithms.findend +tests.unit.modules.algorithms.algorithms.findfirstof +tests.unit.modules.algorithms.algorithms.findfirstof_binary +tests.unit.modules.algorithms.algorithms.findif +tests.unit.modules.algorithms.algorithms.findifnot +tests.unit.modules.algorithms.algorithms.foreach +tests.unit.modules.algorithms.algorithms.foreach_executors +tests.unit.modules.algorithms.algorithms.foreach_prefetching +tests.unit.modules.algorithms.algorithms.foreach_sender +tests.unit.modules.algorithms.algorithms.foreach_scheduler +tests.unit.modules.algorithms.algorithms.foreachn +tests.unit.modules.algorithms.algorithms.foreachn_exception +tests.unit.modules.algorithms.algorithms.foreachn_bad_alloc +tests.unit.modules.algorithms.algorithms.for_loop +tests.unit.modules.algorithms.algorithms.for_loop_exception +tests.unit.modules.algorithms.algorithms.for_loop_induction +tests.unit.modules.algorithms.algorithms.for_loop_induction_async +tests.unit.modules.algorithms.algorithms.for_loop_n +tests.unit.modules.algorithms.algorithms.for_loop_n_strided +tests.unit.modules.algorithms.algorithms.for_loop_reduction +tests.unit.modules.algorithms.algorithms.for_loop_reduction_async +tests.unit.modules.algorithms.algorithms.for_loop_sender +tests.unit.modules.algorithms.algorithms.for_loop_strided +tests.unit.modules.algorithms.algorithms.generate +tests.unit.modules.algorithms.algorithms.generaten +tests.unit.modules.algorithms.algorithms.is_heap +tests.unit.modules.algorithms.algorithms.is_heap_until +tests.unit.modules.algorithms.algorithms.includes +tests.unit.modules.algorithms.algorithms.inclusive_scan +tests.unit.modules.algorithms.algorithms.inclusive_scan_exception +tests.unit.modules.algorithms.algorithms.inplace_merge +tests.unit.modules.algorithms.algorithms.is_partitioned +tests.unit.modules.algorithms.algorithms.is_sorted +tests.unit.modules.algorithms.algorithms.is_sorted_until +tests.unit.modules.algorithms.algorithms.lexicographical_compare +tests.unit.modules.algorithms.algorithms.make_heap +tests.unit.modules.algorithms.algorithms.max_element +tests.unit.modules.algorithms.algorithms.merge +tests.unit.modules.algorithms.algorithms.min_element +tests.unit.modules.algorithms.algorithms.minmax_element +tests.unit.modules.algorithms.algorithms.mismatch +tests.unit.modules.algorithms.algorithms.mismatch_binary diff --git a/.circleci/tests.unit2.algorithms b/.circleci/tests.unit2.algorithms new file mode 100644 index 000000000000..37f5d6020d6d --- /dev/null +++ b/.circleci/tests.unit2.algorithms @@ -0,0 +1,79 @@ +# Copyright (c) 2021-2024 Hartmut Kaiser +# +# SPDX-License-Identifier: BSL-1.0 +# Distributed under the Boost Software License, Version 1.0. (See accompanying +# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +tests.unit.modules.algorithms.algorithms.move +tests.unit.modules.algorithms.algorithms.nth_element +tests.unit.modules.algorithms.algorithms.none_of +tests.unit.modules.algorithms.algorithms.parallel_sort +tests.unit.modules.algorithms.algorithms.partial_sort +tests.unit.modules.algorithms.algorithms.partial_sort_copy +tests.unit.modules.algorithms.algorithms.partition +tests.unit.modules.algorithms.algorithms.partition_copy +tests.unit.modules.algorithms.algorithms.reduce_ +tests.unit.modules.algorithms.algorithms.reduce_by_key +tests.unit.modules.algorithms.algorithms.remove +tests.unit.modules.algorithms.algorithms.remove +tests.unit.modules.algorithms.algorithms.remove1 +tests.unit.modules.algorithms.algorithms.remove2 +tests.unit.modules.algorithms.algorithms.remove_if +tests.unit.modules.algorithms.algorithms.remove_if1 +tests.unit.modules.algorithms.algorithms.remove_copy +tests.unit.modules.algorithms.algorithms.remove_copy_if +tests.unit.modules.algorithms.algorithms.replace +tests.unit.modules.algorithms.algorithms.replace_if +tests.unit.modules.algorithms.algorithms.replace_copy +tests.unit.modules.algorithms.algorithms.replace_copy_if +tests.unit.modules.algorithms.algorithms.reverse +tests.unit.modules.algorithms.algorithms.reverse_copy +tests.unit.modules.algorithms.algorithms.reverse_sender +tests.unit.modules.algorithms.algorithms.rotate +tests.unit.modules.algorithms.algorithms.rotate_copy +tests.unit.modules.algorithms.algorithms.rotate_sender +tests.unit.modules.algorithms.algorithms.search +tests.unit.modules.algorithms.algorithms.searchn +tests.unit.modules.algorithms.algorithms.set_difference +tests.unit.modules.algorithms.algorithms.set_intersection +tests.unit.modules.algorithms.algorithms.set_symmetric_difference +tests.unit.modules.algorithms.algorithms.set_union +tests.unit.modules.algorithms.algorithms.shift_left +tests.unit.modules.algorithms.algorithms.shift_right +tests.unit.modules.algorithms.algorithms.sort +tests.unit.modules.algorithms.algorithms.sort_by_key +tests.unit.modules.algorithms.algorithms.sort_exceptions +tests.unit.modules.algorithms.algorithms.stable_partition +tests.unit.modules.algorithms.algorithms.stable_sort +tests.unit.modules.algorithms.algorithms.stable_sort_exceptions +tests.unit.modules.algorithms.algorithms.starts_with +tests.unit.modules.algorithms.algorithms.swapranges +tests.unit.modules.algorithms.algorithms.transform +tests.unit.modules.algorithms.algorithms.transform_binary +tests.unit.modules.algorithms.algorithms.transform_binary2 +tests.unit.modules.algorithms.algorithms.transform_exclusive_scan +tests.unit.modules.algorithms.algorithms.transform_inclusive_scan +tests.unit.modules.algorithms.algorithms.transform_reduce +tests.unit.modules.algorithms.algorithms.transform_reduce_binary +tests.unit.modules.algorithms.algorithms.transform_reduce_binary_exception +tests.unit.modules.algorithms.algorithms.transform_reduce_binary_bad_alloc +tests.unit.modules.algorithms.algorithms.uninitialized_copy +tests.unit.modules.algorithms.algorithms.uninitialized_copyn +tests.unit.modules.algorithms.algorithms.uninitialized_default_construct +tests.unit.modules.algorithms.algorithms.uninitialized_default_constructn +tests.unit.modules.algorithms.algorithms.uninitialized_fill +tests.unit.modules.algorithms.algorithms.uninitialized_filln +tests.unit.modules.algorithms.algorithms.uninitialized_move +tests.unit.modules.algorithms.algorithms.uninitialized_moven +tests.unit.modules.algorithms.algorithms.uninitialized_relocate_backward +tests.unit.modules.algorithms.algorithms.uninitialized_relocate +tests.unit.modules.algorithms.algorithms.uninitialized_relocaten +tests.unit.modules.algorithms.algorithms.uninitialized_value_construct +tests.unit.modules.algorithms.algorithms.uninitialized_value_constructn +tests.unit.modules.algorithms.algorithms.unique +tests.unit.modules.algorithms.algorithms.unique_copy +tests.unit.modules.algorithms.block.spmd_block +tests.unit.modules.algorithms.block.task_block +tests.unit.modules.algorithms.block.task_block_executor +tests.unit.modules.algorithms.block.task_block_par +tests.unit.modules.algorithms.block.task_group