summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CTestHardwareAllocation
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/RunCMake/CTestHardwareAllocation')
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/CMakeLists.txt.in9
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/HardwareCommon.cmake23
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/RunCMakeTest.cmake167
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/checkfree1-ctest-s-hw-check.cmake1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/checkfree1.cmake7
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/checkfree2-ctest-s-hw-check.cmake1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/checkfree2.cmake8
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-baddealloc-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-baddealloc.log2
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest1-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest1.log1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest2-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest2.log2
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest3-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest3.log3
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest4-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest4.log3
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest5-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest5.log1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-good1.log14
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-good2.log0
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-leak-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-leak.log1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nobegin-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nobegin.log0
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noend-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noend.log1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noid-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noid.log2
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nolog-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nores-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nores.log2
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-notenough-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-notenough.log2
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-noproc-count-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badcount-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badres-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets1-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets2-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets3-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets4-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets5-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets6-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets7-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-good1-check.cmake20
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-good2-check.cmake6
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nocount-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nores-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nowidgets-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/cthwalloc.cxx396
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/ensure_parallel-ctest-s-hw-check.cmake16
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/ensure_parallel.cmake11
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/hwspec.json55
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/lotsoftests-ctest-s-hw-check.cmake1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/lotsoftests.cmake16
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-check.cmake3
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-stderr.txt4
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/notenough1.cmake5
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-check.cmake3
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-result.txt1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-stderr.txt4
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/notenough2.cmake5
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/process_count-ctest-s-hw-check.cmake1
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/process_count.cmake5
-rw-r--r--Tests/RunCMake/CTestHardwareAllocation/test.cmake.in23
66 files changed, 0 insertions, 852 deletions
diff --git a/Tests/RunCMake/CTestHardwareAllocation/CMakeLists.txt.in b/Tests/RunCMake/CTestHardwareAllocation/CMakeLists.txt.in
deleted file mode 100644
index d6cff63..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/CMakeLists.txt.in
+++ /dev/null
@@ -1,9 +0,0 @@
-cmake_minimum_required(VERSION 3.15)
-set(CASE_NAME "@CASE_NAME@")
-if(CASE_NAME MATCHES "^(.*)-ctest-s")
- set(projname "${CMAKE_MATCH_1}")
- project(${projname} NONE)
- include(CTest)
- include("@RunCMake_SOURCE_DIR@/HardwareCommon.cmake")
- include("@RunCMake_SOURCE_DIR@/${projname}.cmake")
-endif()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/HardwareCommon.cmake b/Tests/RunCMake/CTestHardwareAllocation/HardwareCommon.cmake
deleted file mode 100644
index 3893d40..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/HardwareCommon.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-function(setup_hardware_tests)
- if(CTEST_HARDWARE_ALLOC_ENABLED)
- add_test(NAME HardwareSetup COMMAND "${CMAKE_COMMAND}" -E remove -f "${CMAKE_BINARY_DIR}/cthwalloc.log")
- endif()
-endfunction()
-
-function(add_hardware_test name sleep_time proc)
- if(CTEST_HARDWARE_ALLOC_ENABLED)
- add_test(NAME "${name}" COMMAND "${CTHWALLOC_COMMAND}" write "${CMAKE_BINARY_DIR}/cthwalloc.log" "${name}" "${sleep_time}" "${proc}")
- set_property(TEST "${name}" PROPERTY DEPENDS HardwareSetup)
- else()
- add_test(NAME "${name}" COMMAND "${CTHWALLOC_COMMAND}" write "${CMAKE_BINARY_DIR}/cthwalloc.log" "${name}" "${sleep_time}")
- endif()
- set_property(TEST "${name}" PROPERTY PROCESSES "${proc}")
- list(APPEND HARDWARE_TESTS "${name}")
- set(HARDWARE_TESTS "${HARDWARE_TESTS}" PARENT_SCOPE)
-endfunction()
-
-function(cleanup_hardware_tests)
- if(CTEST_HARDWARE_ALLOC_ENABLED)
- file(WRITE "${CMAKE_BINARY_DIR}/hwtests.txt" "${HARDWARE_TESTS}")
- endif()
-endfunction()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/RunCMakeTest.cmake b/Tests/RunCMake/CTestHardwareAllocation/RunCMakeTest.cmake
deleted file mode 100644
index d666922..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/RunCMakeTest.cmake
+++ /dev/null
@@ -1,167 +0,0 @@
-include(RunCMake)
-include(RunCTest)
-
-###############################################################################
-# Test cthwalloc itself - we want to make sure it's not just rubber-stamping
-# the test results
-###############################################################################
-
-function(cthwalloc_verify_log expected_contents)
- if(NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/cthwalloc.log")
- string(APPEND RunCMake_TEST_FAILED "Log file was not written\n")
- set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE)
- return()
- endif()
- file(READ "${RunCMake_TEST_BINARY_DIR}/cthwalloc.log" actual_contents)
- if(NOT actual_contents STREQUAL expected_contents)
- string(APPEND RunCMake_TEST_FAILED "Actual log did not match expected log\n")
- set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE)
- endif()
-endfunction()
-
-function(run_cthwalloc_write_proc name proc)
- file(REMOVE "${RunCMake_BINARY_DIR}/${name}-build/cthwalloc.log")
- run_cthwalloc_write_proc_nodel("${name}" "${proc}" "${ARGN}")
-endfunction()
-
-function(run_cthwalloc_write_proc_nodel name proc)
- string(REPLACE ";" "\\;" proc "${proc}")
- run_cmake_command(${name} "${CMAKE_COMMAND}" -E env "${ARGN}" "${CTHWALLOC_COMMAND}" write "${RunCMake_BINARY_DIR}/${name}-build/cthwalloc.log" "${name}" 0 "${proc}")
-endfunction()
-
-function(run_cthwalloc_write_noproc name)
- run_cmake_command(${name} "${CMAKE_COMMAND}" -E env "${ARGN}" "${CTHWALLOC_COMMAND}" write "${RunCMake_BINARY_DIR}/${name}-build/cthwalloc.log" "${name}" 0)
-endfunction()
-
-function(run_cthwalloc_verify name tests)
- string(REPLACE ";" "\\;" tests "${tests}")
- run_cmake_command(${name} "${CTHWALLOC_COMMAND}" verify "${RunCMake_SOURCE_DIR}/${name}.log" "${CMAKE_CURRENT_LIST_DIR}/hwspec.json" "${tests}")
-endfunction()
-
-unset(ENV{CTEST_PROCESS_COUNT})
-set(RunCMake_TEST_NO_CLEAN 1)
-file(REMOVE_RECURSE "${RunCMake_BINARY_DIR}/cthwalloc-write-proc-good1-build")
-file(MAKE_DIRECTORY "${RunCMake_BINARY_DIR}/cthwalloc-write-proc-good1-build")
-file(WRITE "${RunCMake_BINARY_DIR}/cthwalloc-write-proc-good1-build/cthwalloc.log"
-[[begin test1
-alloc widgets 0 1
-dealloc widgets 0 1
-end test1
-]])
-run_cthwalloc_write_proc_nodel(cthwalloc-write-proc-good1 "1,widgets:2,transmogrifiers:1;2,widgets:1,widgets:2"
- CTEST_PROCESS_COUNT=3
- CTEST_PROCESS_0=widgets,transmogrifiers
- CTEST_PROCESS_0_WIDGETS=id:0,slots:2
- CTEST_PROCESS_0_TRANSMOGRIFIERS=id:calvin,slots:1
- CTEST_PROCESS_1=widgets
- "CTEST_PROCESS_1_WIDGETS=id:0,slots:1\\;id:2,slots:2"
- CTEST_PROCESS_2=widgets
- "CTEST_PROCESS_2_WIDGETS=id:0,slots:1\\;id:2,slots:2"
- )
-set(RunCMake_TEST_NO_CLEAN 0)
-run_cthwalloc_write_proc(cthwalloc-write-proc-good2 "widgets:8"
- CTEST_PROCESS_COUNT=1
- CTEST_PROCESS_0=widgets
- CTEST_PROCESS_0_WIDGETS=id:3,slots:8
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-nocount "widgets:8")
-run_cthwalloc_write_proc(cthwalloc-write-proc-badcount "widgets:8"
- CTEST_PROCESS_COUNT=2
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-nores "widgets:8"
- CTEST_PROCESS_COUNT=1
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-badres "widgets:8"
- CTEST_PROCESS_COUNT=1
- CTEST_PROCESS_0=widgets,transmogrifiers
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-nowidgets "widgets:8"
- CTEST_PROCESS_COUNT=1
- CTEST_PROCESS_0=widgets
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-badwidgets1 "widgets:8"
- CTEST_PROCESS_COUNT=1
- CTEST_PROCESS_0=widgets
- CTEST_PROCESS_0_WIDGETS=
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-badwidgets2 "widgets:8"
- CTEST_PROCESS_COUNT=1
- CTEST_PROCESS_0=widgets
- "CTEST_PROCESS_0_WIDGETS=id:3,slots:8\\;id:0,slots:1"
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-badwidgets3 "widgets:8"
- CTEST_PROCESS_COUNT=1
- CTEST_PROCESS_0=widgets
- CTEST_PROCESS_0_WIDGETS=id:3,slots:7
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-badwidgets4 "widgets:8"
- CTEST_PROCESS_COUNT=1
- CTEST_PROCESS_0=widgets
- CTEST_PROCESS_0_WIDGETS=invalid
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-badwidgets5 "widgets:2,widgets:2"
- CTEST_PROCESS_COUNT=1
- CTEST_PROCESS_0=widgets
- "CTEST_PROCESS_0_WIDGETS=id:0,slots:2\\;id:0,slots:1"
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-badwidgets6 "widgets:2"
- CTEST_PROCESS_COUNT=1
- CTEST_PROCESS_0=widgets
- "CTEST_PROCESS_0_WIDGETS=id:0,slots:2\\;id:0,slots:1"
- )
-run_cthwalloc_write_proc(cthwalloc-write-proc-badwidgets7 "widgets:2,widgets:2"
- CTEST_PROCESS_COUNT=1
- CTEST_PROCESS_0=widgets
- CTEST_PROCESS_0_WIDGETS=id:0,slots:2
- )
-
-run_cthwalloc_write_noproc(cthwalloc-write-noproc-good1)
-run_cthwalloc_write_noproc(cthwalloc-write-noproc-count
- CTEST_PROCESS_COUNT=1
- )
-
-run_cthwalloc_verify(cthwalloc-verify-good1 "test1;test2")
-run_cthwalloc_verify(cthwalloc-verify-good2 "")
-run_cthwalloc_verify(cthwalloc-verify-nolog "")
-run_cthwalloc_verify(cthwalloc-verify-nores "")
-run_cthwalloc_verify(cthwalloc-verify-noid "")
-run_cthwalloc_verify(cthwalloc-verify-notenough "")
-run_cthwalloc_verify(cthwalloc-verify-baddealloc "")
-run_cthwalloc_verify(cthwalloc-verify-leak "")
-run_cthwalloc_verify(cthwalloc-verify-badtest1 "")
-run_cthwalloc_verify(cthwalloc-verify-badtest2 "test1")
-run_cthwalloc_verify(cthwalloc-verify-badtest3 "test1")
-run_cthwalloc_verify(cthwalloc-verify-badtest4 "test1")
-run_cthwalloc_verify(cthwalloc-verify-badtest5 "test1")
-run_cthwalloc_verify(cthwalloc-verify-nobegin "test1")
-run_cthwalloc_verify(cthwalloc-verify-noend "test1")
-
-###############################################################################
-# Now test the hardware allocation feature of CTest
-###############################################################################
-
-function(run_ctest_hardware name parallel random)
- run_ctest("${name}-ctest-s-hw" "-DCTEST_HARDWARE_ALLOC_ENABLED=1" "-DCTHWALLOC_COMMAND=${CTHWALLOC_COMMAND}" "-DCTEST_PARALLEL=${parallel}" "-DCTEST_RANDOM=${random}")
- run_ctest("${name}-ctest-s-nohw" "-DCTEST_HARDWARE_ALLOC_ENABLED=0" "-DCTHWALLOC_COMMAND=${CTHWALLOC_COMMAND}" "-DCTEST_PARALLEL=${parallel}" "-DCTEST_RANDOM=${random}")
-endfunction()
-
-function(verify_ctest_hardware)
- file(READ "${RunCMake_TEST_BINARY_DIR}/hwtests.txt" hwtests)
- execute_process(COMMAND "${CTHWALLOC_COMMAND}" verify "${RunCMake_TEST_BINARY_DIR}/cthwalloc.log" "${CMAKE_CURRENT_LIST_DIR}/hwspec.json" "${hwtests}"
- OUTPUT_VARIABLE output ERROR_QUIET RESULT_VARIABLE result)
- if(result)
- string(APPEND RunCMake_TEST_FAILED "${output}")
- set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE)
- endif()
-endfunction()
-
-run_ctest_hardware(lotsoftests 10 1)
-run_ctest_hardware(checkfree1 2 0)
-run_ctest_hardware(checkfree2 1 0)
-run_ctest_hardware(notenough1 1 0)
-run_ctest_hardware(notenough2 1 0)
-run_ctest_hardware(ensure_parallel 2 0)
-
-set(ENV{CTEST_PROCESS_COUNT} 2)
-run_ctest_hardware(process_count 1 0)
-unset(ENV{CTEST_PROCESS_COUNT})
diff --git a/Tests/RunCMake/CTestHardwareAllocation/checkfree1-ctest-s-hw-check.cmake b/Tests/RunCMake/CTestHardwareAllocation/checkfree1-ctest-s-hw-check.cmake
deleted file mode 100644
index 94b1fa7..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/checkfree1-ctest-s-hw-check.cmake
+++ /dev/null
@@ -1 +0,0 @@
-verify_ctest_hardware()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/checkfree1.cmake b/Tests/RunCMake/CTestHardwareAllocation/checkfree1.cmake
deleted file mode 100644
index 0e997b5..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/checkfree1.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-setup_hardware_tests()
-
-add_hardware_test(Test1 1 "widgets:8")
-add_hardware_test(Test2 1 "fluxcapacitors:50;fluxcapacitors:50,widgets:8")
-add_hardware_test(Test3 1 "fluxcapacitors:121")
-
-cleanup_hardware_tests()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/checkfree2-ctest-s-hw-check.cmake b/Tests/RunCMake/CTestHardwareAllocation/checkfree2-ctest-s-hw-check.cmake
deleted file mode 100644
index 94b1fa7..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/checkfree2-ctest-s-hw-check.cmake
+++ /dev/null
@@ -1 +0,0 @@
-verify_ctest_hardware()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/checkfree2.cmake b/Tests/RunCMake/CTestHardwareAllocation/checkfree2.cmake
deleted file mode 100644
index 3c2b666..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/checkfree2.cmake
+++ /dev/null
@@ -1,8 +0,0 @@
-setup_hardware_tests()
-
-# This test is an attack on the hardware scheduling algorithm. It has been
-# carefully crafted to fool the algorithm into thinking there isn't sufficient
-# hardware for it.
-add_hardware_test(Test1 1 "widgets:2;4,widgets:4")
-
-cleanup_hardware_tests()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-baddealloc-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-baddealloc-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-baddealloc-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-baddealloc.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-baddealloc.log
deleted file mode 100644
index abd6bad..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-baddealloc.log
+++ /dev/null
@@ -1,2 +0,0 @@
-alloc widgets 0 1
-dealloc widgets 0 2
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest1-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest1-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest1-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest1.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest1.log
deleted file mode 100644
index 605104b..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest1.log
+++ /dev/null
@@ -1 +0,0 @@
-begin test1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest2-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest2-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest2-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest2.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest2.log
deleted file mode 100644
index 1ff1b0d..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest2.log
+++ /dev/null
@@ -1,2 +0,0 @@
-begin test1
-begin test1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest3-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest3-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest3-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest3.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest3.log
deleted file mode 100644
index 1925e6a..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest3.log
+++ /dev/null
@@ -1,3 +0,0 @@
-begin test1
-end test1
-begin test1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest4-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest4-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest4-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest4.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest4.log
deleted file mode 100644
index 3fe7da1..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest4.log
+++ /dev/null
@@ -1,3 +0,0 @@
-begin test1
-end test1
-end test1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest5-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest5-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest5-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest5.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest5.log
deleted file mode 100644
index 3a2e7e3..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-badtest5.log
+++ /dev/null
@@ -1 +0,0 @@
-end test1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-good1.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-good1.log
deleted file mode 100644
index 2cca0c3..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-good1.log
+++ /dev/null
@@ -1,14 +0,0 @@
-begin test1
-alloc widgets 3 4
-alloc widgets 4 1
-alloc transmogrifiers calvin 2
-alloc fluxcapacitors outatime 121
-begin test2
-alloc widgets 3 4
-dealloc widgets 3 4
-dealloc widgets 4 1
-dealloc transmogrifiers calvin 2
-dealloc fluxcapacitors outatime 121
-end test1
-dealloc widgets 3 4
-end test2
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-good2.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-good2.log
deleted file mode 100644
index e69de29..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-good2.log
+++ /dev/null
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-leak-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-leak-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-leak-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-leak.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-leak.log
deleted file mode 100644
index b900d86..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-leak.log
+++ /dev/null
@@ -1 +0,0 @@
-alloc widgets 0 1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nobegin-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nobegin-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nobegin-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nobegin.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nobegin.log
deleted file mode 100644
index e69de29..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nobegin.log
+++ /dev/null
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noend-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noend-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noend-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noend.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noend.log
deleted file mode 100644
index 605104b..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noend.log
+++ /dev/null
@@ -1 +0,0 @@
-begin test1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noid-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noid-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noid-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noid.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noid.log
deleted file mode 100644
index c718975..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-noid.log
+++ /dev/null
@@ -1,2 +0,0 @@
-alloc fluxcapacitors train 1
-dealloc fluxcapacitors train 1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nolog-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nolog-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nolog-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nores-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nores-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nores-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nores.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nores.log
deleted file mode 100644
index a18202b..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-nores.log
+++ /dev/null
@@ -1,2 +0,0 @@
-alloc gpus 0 1
-dealloc gpus 0 1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-notenough-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-notenough-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-notenough-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-notenough.log b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-notenough.log
deleted file mode 100644
index ac78d5a..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-verify-notenough.log
+++ /dev/null
@@ -1,2 +0,0 @@
-alloc widgets 0 8
-dealloc widgets 0 8
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-noproc-count-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-noproc-count-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-noproc-count-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badcount-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badcount-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badcount-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badres-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badres-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badres-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets1-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets1-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets1-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets2-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets2-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets2-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets3-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets3-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets3-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets4-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets4-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets4-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets5-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets5-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets5-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets6-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets6-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets6-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets7-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets7-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-badwidgets7-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-good1-check.cmake b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-good1-check.cmake
deleted file mode 100644
index 949d2d7..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-good1-check.cmake
+++ /dev/null
@@ -1,20 +0,0 @@
-cthwalloc_verify_log(
-[[begin test1
-alloc widgets 0 1
-dealloc widgets 0 1
-end test1
-begin cthwalloc-write-proc-good1
-alloc transmogrifiers calvin 1
-alloc widgets 0 2
-alloc widgets 0 1
-alloc widgets 2 2
-alloc widgets 0 1
-alloc widgets 2 2
-dealloc transmogrifiers calvin 1
-dealloc widgets 0 2
-dealloc widgets 0 1
-dealloc widgets 2 2
-dealloc widgets 0 1
-dealloc widgets 2 2
-end cthwalloc-write-proc-good1
-]])
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-good2-check.cmake b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-good2-check.cmake
deleted file mode 100644
index ca0c6b8..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-good2-check.cmake
+++ /dev/null
@@ -1,6 +0,0 @@
-cthwalloc_verify_log(
-[[begin cthwalloc-write-proc-good2
-alloc widgets 3 8
-dealloc widgets 3 8
-end cthwalloc-write-proc-good2
-]])
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nocount-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nocount-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nocount-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nores-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nores-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nores-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nowidgets-result.txt b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nowidgets-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc-write-proc-nowidgets-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc.cxx b/Tests/RunCMake/CTestHardwareAllocation/cthwalloc.cxx
deleted file mode 100644
index eee2c7f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/cthwalloc.cxx
+++ /dev/null
@@ -1,396 +0,0 @@
-#include <cassert>
-#include <chrono>
-#include <cstddef>
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <set>
-#include <string>
-#include <thread>
-#include <utility>
-#include <vector>
-
-#include "cmsys/Encoding.hxx"
-#include "cmsys/FStream.hxx"
-
-#include "cmCTestHardwareAllocator.h"
-#include "cmCTestHardwareSpec.h"
-#include "cmCTestMultiProcessHandler.h"
-#include "cmCTestTestHandler.h"
-#include "cmFileLock.h"
-#include "cmFileLockResult.h"
-#include "cmStringAlgorithms.h"
-#include "cmSystemTools.h"
-
-/*
- * This helper program is used to verify that the CTest hardware allocation
- * feature is working correctly. It consists of two stages:
- *
- * 1) write - This stage receives the PROCESSES property of the test and
- * compares it with the values passed in the CTEST_PROCESS_* environment
- * variables. If it received all of the resources it expected, then it
- * writes this information to a log file, which will be read in the verify
- * stage.
- * 2) verify - This stage compares the log file with the hardware spec file to
- * make sure that no resources were over-subscribed, deallocated without
- * being allocated, or allocated without being deallocated.
- */
-
-static int usage(const char* argv0)
-{
- std::cout << "Usage: " << argv0 << " (write|verify) <args...>" << std::endl;
- return 1;
-}
-
-static int usageWrite(const char* argv0)
-{
- std::cout << "Usage: " << argv0
- << " write <log-file> <test-name> <sleep-time-secs>"
- " [<processes-property>]"
- << std::endl;
- return 1;
-}
-
-static int usageVerify(const char* argv0)
-{
- std::cout << "Usage: " << argv0
- << " verify <log-file> <hardware-spec-file> [<test-names>]"
- << std::endl;
- return 1;
-}
-
-static int doWrite(int argc, char const* const* argv)
-{
- if (argc < 5 || argc > 6) {
- return usageWrite(argv[0]);
- }
- std::string logFile = argv[2];
- std::string testName = argv[3];
- unsigned int sleepTime = std::atoi(argv[4]);
- std::vector<std::map<
- std::string, std::vector<cmCTestMultiProcessHandler::HardwareAllocation>>>
- hardware;
- if (argc == 6) {
- // Parse processes property
- std::string processesProperty = argv[5];
- std::vector<
- std::vector<cmCTestTestHandler::cmCTestTestResourceRequirement>>
- processes;
- bool result =
- cmCTestTestHandler::ParseProcessesProperty(processesProperty, processes);
- (void)result;
- assert(result);
-
- // Verify process count
- const char* processCountEnv = cmSystemTools::GetEnv("CTEST_PROCESS_COUNT");
- if (!processCountEnv) {
- std::cout << "CTEST_PROCESS_COUNT should be defined" << std::endl;
- return 1;
- }
- int processCount = std::atoi(processCountEnv);
- if (processes.size() != std::size_t(processCount)) {
- std::cout << "CTEST_PROCESS_COUNT does not match expected processes"
- << std::endl
- << "Expected: " << processes.size() << std::endl
- << "Actual: " << processCount << std::endl;
- return 1;
- }
-
- if (!cmSystemTools::Touch(logFile + ".lock", true)) {
- std::cout << "Could not create lock file" << std::endl;
- return 1;
- }
- cmFileLock lock;
- auto lockResult =
- lock.Lock(logFile + ".lock", static_cast<unsigned long>(-1));
- if (!lockResult.IsOk()) {
- std::cout << "Could not lock file" << std::endl;
- return 1;
- }
- std::size_t i = 0;
- cmsys::ofstream fout(logFile.c_str(), std::ios::app);
- fout << "begin " << testName << std::endl;
- for (auto& process : processes) {
- try {
- // Build and verify set of expected resources
- std::set<std::string> expectedResources;
- for (auto const& it : process) {
- expectedResources.insert(it.ResourceType);
- }
-
- std::string prefix = "CTEST_PROCESS_";
- prefix += std::to_string(i);
- const char* actualResourcesCStr = cmSystemTools::GetEnv(prefix);
- if (!actualResourcesCStr) {
- std::cout << prefix << " should be defined" << std::endl;
- return 1;
- }
-
- auto actualResourcesVec =
- cmSystemTools::SplitString(actualResourcesCStr, ',');
- std::set<std::string> actualResources;
- for (auto const& r : actualResourcesVec) {
- if (!r.empty()) {
- actualResources.insert(r);
- }
- }
-
- if (actualResources != expectedResources) {
- std::cout << prefix << " did not list expected resources"
- << std::endl;
- return 1;
- }
-
- // Verify that we got what we asked for and write it to the log
- prefix += '_';
- std::map<std::string,
- std::vector<cmCTestMultiProcessHandler::HardwareAllocation>>
- hwEntry;
- for (auto const& type : actualResources) {
- auto it = process.begin();
-
- std::string varName = prefix;
- varName += cmSystemTools::UpperCase(type);
- const char* varVal = cmSystemTools::GetEnv(varName);
- if (!varVal) {
- std::cout << varName << " should be defined" << std::endl;
- return 1;
- }
-
- auto received = cmSystemTools::SplitString(varVal, ';');
- for (auto const& r : received) {
- while (it->ResourceType != type || it->UnitsNeeded == 0) {
- ++it;
- if (it == process.end()) {
- std::cout << varName << " did not list expected resources"
- << std::endl;
- return 1;
- }
- }
- auto split = cmSystemTools::SplitString(r, ',');
- if (split.size() != 2) {
- std::cout << varName << " was ill-formed" << std::endl;
- return 1;
- }
- if (!cmHasLiteralPrefix(split[0], "id:")) {
- std::cout << varName << " was ill-formed" << std::endl;
- return 1;
- }
- auto id = split[0].substr(3);
- if (!cmHasLiteralPrefix(split[1], "slots:")) {
- std::cout << varName << " was ill-formed" << std::endl;
- return 1;
- }
- auto slots = split[1].substr(6);
- unsigned int amount = std::atoi(slots.c_str());
- if (amount != static_cast<unsigned int>(it->SlotsNeeded)) {
- std::cout << varName << " did not list expected resources"
- << std::endl;
- return 1;
- }
- --it->UnitsNeeded;
-
- fout << "alloc " << type << " " << id << " " << amount
- << std::endl;
- hwEntry[type].push_back({ id, amount });
- }
-
- bool ended = false;
- while (it->ResourceType != type || it->UnitsNeeded == 0) {
- ++it;
- if (it == process.end()) {
- ended = true;
- break;
- }
- }
-
- if (!ended) {
- std::cout << varName << " did not list expected resources"
- << std::endl;
- return 1;
- }
- }
- hardware.push_back(hwEntry);
-
- ++i;
- } catch (...) {
- std::cout << "Unknown error while processing resources" << std::endl;
- return 1;
- }
- }
-
- auto unlockResult = lock.Release();
- if (!unlockResult.IsOk()) {
- std::cout << "Could not unlock file" << std::endl;
- return 1;
- }
- } else {
- if (cmSystemTools::GetEnv("CTEST_PROCESS_COUNT")) {
- std::cout << "CTEST_PROCESS_COUNT should not be defined" << std::endl;
- return 1;
- }
- }
-
- std::this_thread::sleep_for(std::chrono::seconds(sleepTime));
-
- if (argc == 6) {
- if (!cmSystemTools::Touch(logFile + ".lock", true)) {
- std::cout << "Could not create lock file" << std::endl;
- return 1;
- }
- cmFileLock lock;
- auto lockResult =
- lock.Lock(logFile + ".lock", static_cast<unsigned long>(-1));
- if (!lockResult.IsOk()) {
- std::cout << "Could not lock file" << std::endl;
- return 1;
- }
- cmsys::ofstream fout(logFile.c_str(), std::ios::app);
- for (auto const& process : hardware) {
- for (auto const& it : process) {
- for (auto const& it2 : it.second) {
- fout << "dealloc " << it.first << " " << it2.Id << " " << it2.Slots
- << std::endl;
- }
- }
- }
-
- fout << "end " << testName << std::endl;
-
- auto unlockResult = lock.Release();
- if (!unlockResult.IsOk()) {
- std::cout << "Could not unlock file" << std::endl;
- return 1;
- }
- }
-
- return 0;
-}
-
-static int doVerify(int argc, char const* const* argv)
-{
- if (argc < 4 || argc > 5) {
- return usageVerify(argv[0]);
- }
- std::string logFile = argv[2];
- std::string hwFile = argv[3];
- std::string testNames;
- if (argc == 5) {
- testNames = argv[4];
- }
- auto testNameList = cmExpandedList(testNames, false);
- std::set<std::string> testNameSet(testNameList.begin(), testNameList.end());
-
- cmCTestHardwareSpec spec;
- if (!spec.ReadFromJSONFile(hwFile)) {
- std::cout << "Could not read hardware spec " << hwFile << std::endl;
- return 1;
- }
-
- cmCTestHardwareAllocator allocator;
- allocator.InitializeFromHardwareSpec(spec);
-
- cmsys::ifstream fin(logFile.c_str(), std::ios::in);
- if (!fin) {
- std::cout << "Could not open log file " << logFile << std::endl;
- return 1;
- }
-
- std::string command;
- std::string resourceName;
- std::string resourceId;
- std::string testName;
- unsigned int amount;
- std::set<std::string> inProgressTests;
- std::set<std::string> completedTests;
- try {
- while (fin >> command) {
- if (command == "begin") {
- if (!(fin >> testName)) {
- std::cout << "Could not read begin line" << std::endl;
- return 1;
- }
- if (!testNameSet.count(testName) || inProgressTests.count(testName) ||
- completedTests.count(testName)) {
- std::cout << "Could not begin test" << std::endl;
- return 1;
- }
- inProgressTests.insert(testName);
- } else if (command == "alloc") {
- if (!(fin >> resourceName) || !(fin >> resourceId) ||
- !(fin >> amount)) {
- std::cout << "Could not read alloc line" << std::endl;
- return 1;
- }
- if (!allocator.AllocateResource(resourceName, resourceId, amount)) {
- std::cout << "Could not allocate resources" << std::endl;
- return 1;
- }
- } else if (command == "dealloc") {
- if (!(fin >> resourceName) || !(fin >> resourceId) ||
- !(fin >> amount)) {
- std::cout << "Could not read dealloc line" << std::endl;
- return 1;
- }
- if (!allocator.DeallocateResource(resourceName, resourceId, amount)) {
- std::cout << "Could not deallocate resources" << std::endl;
- return 1;
- }
- } else if (command == "end") {
- if (!(fin >> testName)) {
- std::cout << "Could not read end line" << std::endl;
- return 1;
- }
- if (!inProgressTests.erase(testName)) {
- std::cout << "Could not end test" << std::endl;
- return 1;
- }
- if (!completedTests.insert(testName).second) {
- std::cout << "Could not end test" << std::endl;
- return 1;
- }
- }
- }
- } catch (...) {
- std::cout << "Unknown error while reading log file" << std::endl;
- return 1;
- }
-
- auto const& avail = allocator.GetResources();
- for (auto const& it : avail) {
- for (auto const& it2 : it.second) {
- if (it2.second.Locked != 0) {
- std::cout << "Resource was not unlocked" << std::endl;
- return 1;
- }
- }
- }
-
- if (completedTests != testNameSet) {
- std::cout << "Tests were not ended" << std::endl;
- return 1;
- }
-
- return 0;
-}
-
-int main(int argc, char const* const* argv)
-{
- cmsys::Encoding::CommandLineArguments args =
- cmsys::Encoding::CommandLineArguments::Main(argc, argv);
- argc = args.argc();
- argv = args.argv();
-
- if (argc < 2) {
- return usage(argv[0]);
- }
-
- std::string argv1 = argv[1];
- if (argv1 == "write") {
- return doWrite(argc, argv);
- }
- if (argv1 == "verify") {
- return doVerify(argc, argv);
- }
- return usage(argv[0]);
-}
diff --git a/Tests/RunCMake/CTestHardwareAllocation/ensure_parallel-ctest-s-hw-check.cmake b/Tests/RunCMake/CTestHardwareAllocation/ensure_parallel-ctest-s-hw-check.cmake
deleted file mode 100644
index e5f6828..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/ensure_parallel-ctest-s-hw-check.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-verify_ctest_hardware()
-
-set(expected_contents [[
-begin Test1
-alloc transmogrifiers calvin 2
-begin Test2
-alloc transmogrifiers hobbes 2
-dealloc transmogrifiers calvin 2
-end Test1
-dealloc transmogrifiers hobbes 2
-end Test2
-]])
-file(READ "${RunCMake_TEST_BINARY_DIR}/cthwalloc.log" actual_contents)
-if(NOT actual_contents STREQUAL expected_contents)
- string(APPEND RunCMake_TEST_FAILED "cthwalloc.log contents did not match expected\n")
-endif()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/ensure_parallel.cmake b/Tests/RunCMake/CTestHardwareAllocation/ensure_parallel.cmake
deleted file mode 100644
index 1dafb8f..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/ensure_parallel.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
-setup_hardware_tests()
-
-add_hardware_test(Test1 4 "transmogrifiers:2")
-
-# Mitigate possible race conditions to ensure that the events are logged in the
-# exact order we want
-add_test(NAME Test2Sleep COMMAND "${CMAKE_COMMAND}" -E sleep 2)
-add_hardware_test(Test2 4 "transmogrifiers:2")
-set_property(TEST Test2 APPEND PROPERTY DEPENDS Test2Sleep)
-
-cleanup_hardware_tests()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/hwspec.json b/Tests/RunCMake/CTestHardwareAllocation/hwspec.json
deleted file mode 100644
index c67fcca..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/hwspec.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "local": [
- {
- "widgets": [
- {
- "id": "0",
- "slots": 4
- },
- {
- "id": "1",
- "slots": 2
- },
- {
- "id": "2",
- "slots": 4
- },
- {
- "id": "3",
- "slots": 8
- },
- {
- "id": "4",
- "slots": 1
- },
- {
- "id": "5",
- "slots": 1
- },
- {
- "id": "6",
- "slots": 1
- },
- {
- "id": "7"
- }
- ],
- "transmogrifiers": [
- {
- "id": "calvin",
- "slots": 2
- },
- {
- "id": "hobbes",
- "slots": 2
- }
- ],
- "fluxcapacitors": [
- {
- "id": "outatime",
- "slots": 121
- }
- ]
- }
- ]
-}
diff --git a/Tests/RunCMake/CTestHardwareAllocation/lotsoftests-ctest-s-hw-check.cmake b/Tests/RunCMake/CTestHardwareAllocation/lotsoftests-ctest-s-hw-check.cmake
deleted file mode 100644
index 94b1fa7..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/lotsoftests-ctest-s-hw-check.cmake
+++ /dev/null
@@ -1 +0,0 @@
-verify_ctest_hardware()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/lotsoftests.cmake b/Tests/RunCMake/CTestHardwareAllocation/lotsoftests.cmake
deleted file mode 100644
index c684434..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/lotsoftests.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-setup_hardware_tests()
-
-add_hardware_test(Test1 2 "widgets:8;2,widgets:2")
-add_hardware_test(Test2 5 "fluxcapacitors:40")
-add_hardware_test(Test3 1 "10,widgets:1,fluxcapacitors:2")
-add_hardware_test(Test4 4 "fluxcapacitors:121")
-
-foreach(i RANGE 5 50)
- add_hardware_test(Test${i} 1 "2,widgets:1")
-endforeach()
-
-foreach(i RANGE 51 100)
- add_hardware_test(Test${i} 1 "2,transmogrifiers:2")
-endforeach()
-
-cleanup_hardware_tests()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-check.cmake b/Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-check.cmake
deleted file mode 100644
index 9c730be..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-check.cmake
+++ /dev/null
@@ -1,3 +0,0 @@
-if(EXISTS "${RunCMake_TEST_BINARY_DIR}/cthwalloc.log")
- set(RunCMake_TEST_FAILED "cthwalloc.log should not exist")
-endif()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-result.txt b/Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-result.txt
deleted file mode 100644
index b57e2de..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-(-1|255)
diff --git a/Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-stderr.txt b/Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-stderr.txt
deleted file mode 100644
index d465cd3..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw-stderr.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-^Insufficient hardware
-CMake Error at [^
-]*/Tests/RunCMake/CTestHardwareAllocation/notenough1-ctest-s-hw/test\.cmake:[0-9]+ \(message\):
- Tests did not pass$
diff --git a/Tests/RunCMake/CTestHardwareAllocation/notenough1.cmake b/Tests/RunCMake/CTestHardwareAllocation/notenough1.cmake
deleted file mode 100644
index 3e1f620..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/notenough1.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-setup_hardware_tests()
-
-add_hardware_test(Test1 1 "fluxcapacitors:200")
-
-cleanup_hardware_tests()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-check.cmake b/Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-check.cmake
deleted file mode 100644
index 9c730be..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-check.cmake
+++ /dev/null
@@ -1,3 +0,0 @@
-if(EXISTS "${RunCMake_TEST_BINARY_DIR}/cthwalloc.log")
- set(RunCMake_TEST_FAILED "cthwalloc.log should not exist")
-endif()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-result.txt b/Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-result.txt
deleted file mode 100644
index b57e2de..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-(-1|255)
diff --git a/Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-stderr.txt b/Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-stderr.txt
deleted file mode 100644
index 912f0fb..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw-stderr.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-^Insufficient hardware
-CMake Error at [^
-]*/Tests/RunCMake/CTestHardwareAllocation/notenough2-ctest-s-hw/test\.cmake:[0-9]+ \(message\):
- Tests did not pass$
diff --git a/Tests/RunCMake/CTestHardwareAllocation/notenough2.cmake b/Tests/RunCMake/CTestHardwareAllocation/notenough2.cmake
deleted file mode 100644
index 8205c95..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/notenough2.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-setup_hardware_tests()
-
-add_hardware_test(Test1 1 "terminators:2")
-
-cleanup_hardware_tests()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/process_count-ctest-s-hw-check.cmake b/Tests/RunCMake/CTestHardwareAllocation/process_count-ctest-s-hw-check.cmake
deleted file mode 100644
index 94b1fa7..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/process_count-ctest-s-hw-check.cmake
+++ /dev/null
@@ -1 +0,0 @@
-verify_ctest_hardware()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/process_count.cmake b/Tests/RunCMake/CTestHardwareAllocation/process_count.cmake
deleted file mode 100644
index c969648..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/process_count.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-setup_hardware_tests()
-
-add_hardware_test(Test1 1 "widgets:1")
-
-cleanup_hardware_tests()
diff --git a/Tests/RunCMake/CTestHardwareAllocation/test.cmake.in b/Tests/RunCMake/CTestHardwareAllocation/test.cmake.in
deleted file mode 100644
index 5ba3587..0000000
--- a/Tests/RunCMake/CTestHardwareAllocation/test.cmake.in
+++ /dev/null
@@ -1,23 +0,0 @@
-set(CTEST_SITE "test-site")
-set(CTEST_BUILD_NAME "test-build-name")
-set(CTEST_SOURCE_DIRECTORY "@RunCMake_BINARY_DIR@/@CASE_NAME@")
-set(CTEST_BINARY_DIRECTORY "@RunCMake_BINARY_DIR@/@CASE_NAME@-build")
-set(CTEST_CMAKE_GENERATOR "@RunCMake_GENERATOR@")
-set(CTEST_CMAKE_GENERATOR_PLATFORM "@RunCMake_GENERATOR_PLATFORM@")
-set(CTEST_CMAKE_GENERATOR_TOOLSET "@RunCMake_GENERATOR_TOOLSET@")
-set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
-
-ctest_start(Experimental QUIET)
-ctest_configure(OPTIONS
- "-DCTEST_HARDWARE_ALLOC_ENABLED=${CTEST_HARDWARE_ALLOC_ENABLED};-DCTHWALLOC_COMMAND=${CTHWALLOC_COMMAND}"
- )
-ctest_build()
-
-if(CTEST_HARDWARE_ALLOC_ENABLED)
- set(hwspec HARDWARE_SPEC_FILE "@RunCMake_SOURCE_DIR@/hwspec.json")
-endif()
-ctest_test(${hwspec} RETURN_VALUE retval PARALLEL_LEVEL ${CTEST_PARALLEL} SCHEDULE_RANDOM ${CTEST_RANDOM})
-if(retval)
- message(FATAL_ERROR "Tests did not pass")
-endif()