******************************************************************************** conan test conan-center-index/recipes/bshoshany-thread-pool/all/test_package/conanfile.py bshoshany-thread-pool/3.0.0@#ebd17965d62b1151dafe2df9da864106 -pr /home/conan/w/prod/BuildSingleReference/45927/daa51c0b-de8c-4e94-a21c-511a61140dbc/profile_linux_8_libstdcpp11_gcc_release_64..txt ******************************************************************************** Configuration: [settings] arch=x86_64 build_type=Release compiler=gcc compiler.libcxx=libstdc++11 compiler.version=8 os=Linux [options] [build_requires] [env] bshoshany-thread-pool/3.0.0 (test package): Installing package Requirements bshoshany-thread-pool/3.0.0 from local cache - Cache Packages bshoshany-thread-pool/3.0.0:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache Installing (downloading, building) binaries... bshoshany-thread-pool/3.0.0: Already installed! bshoshany-thread-pool/3.0.0 (test package): Generator cmake created conanbuildinfo.cmake bshoshany-thread-pool/3.0.0 (test package): Generator txt created conanbuildinfo.txt bshoshany-thread-pool/3.0.0 (test package): Aggregating env generators bshoshany-thread-pool/3.0.0 (test package): Generated conaninfo.txt bshoshany-thread-pool/3.0.0 (test package): Generated graphinfo Using lockfile: '/home/conan/w/prod/BuildSingleReference/conan-center-index/recipes/bshoshany-thread-pool/all/test_package/build/4b28ebb7ea3c528399c12d8b7aa8d76c79abf4d1/conan.lock' Using cached profile from lockfile [HOOK - conan-center.py] pre_build(): [FPIC MANAGEMENT (KB-H007)] 'fPIC' option not found [HOOK - conan-center.py] pre_build(): [FPIC MANAGEMENT (KB-H007)] OK bshoshany-thread-pool/3.0.0 (test package): Calling build() ----Running------ > cd '/home/conan/w/prod/BuildSingleReference/conan-center-index/recipes/bshoshany-thread-pool/all/test_package/build/4b28ebb7ea3c528399c12d8b7aa8d76c79abf4d1' && cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Release" -DCONAN_IN_LOCAL_CACHE="OFF" -DCONAN_COMPILER="gcc" -DCONAN_COMPILER_VERSION="8" -DCONAN_CXX_FLAGS="-m64" -DCONAN_SHARED_LINKER_FLAGS="-m64" -DCONAN_C_FLAGS="-m64" -DCONAN_LIBCXX="libstdc++11" -DCMAKE_INSTALL_PREFIX="/home/conan/w/prod/BuildSingleReference/conan-center-index/recipes/bshoshany-thread-pool/all/test_package/build/4b28ebb7ea3c528399c12d8b7aa8d76c79abf4d1/package" -DCMAKE_INSTALL_BINDIR="bin" -DCMAKE_INSTALL_SBINDIR="bin" -DCMAKE_INSTALL_LIBEXECDIR="bin" -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_INSTALL_INCLUDEDIR="include" -DCMAKE_INSTALL_OLDINCLUDEDIR="include" -DCMAKE_INSTALL_DATAROOTDIR="share" -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY="ON" -DCONAN_EXPORTED="1" -Wno-dev '/home/conan/w/prod/BuildSingleReference/conan-center-index/recipes/bshoshany-thread-pool/all/test_package' ----------------- -- The C compiler identification is GNU 8.4.0 -- The CXX compiler identification is GNU 8.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Conan: called by CMake conan helper -- Conan: Adjusting output directories -- Conan: Using cmake global configuration -- Conan: Adjusting default RPATHs Conan policies -- Conan: Adjusting language standard -- Conan: Compiler GCC>=5, checking major version 8 -- Conan: Checking correct version: 8 -- Conan: C++ stdlib: libstdc++11 -- Configuring done -- Generating done -- Build files have been written to: /home/conan/w/prod/BuildSingleReference/conan-center-index/recipes/bshoshany-thread-pool/all/test_package/build/4b28ebb7ea3c528399c12d8b7aa8d76c79abf4d1 ----Running------ > cmake --build '/home/conan/w/prod/BuildSingleReference/conan-center-index/recipes/bshoshany-thread-pool/all/test_package/build/4b28ebb7ea3c528399c12d8b7aa8d76c79abf4d1' '--' '-j3' ----------------- Scanning dependencies of target test_package [ 50%] Building CXX object CMakeFiles/test_package.dir/test_package.cpp.o [100%] Linking CXX executable bin/test_package [100%] Built target test_package bshoshany-thread-pool/3.0.0 (test package): Running test() ----Running------ > bin/test_package ----------------- A C++17 Thread Pool for High-Performance Scientific Computing (c) 2022 Barak Shoshany (baraksh@gmail.com) (http://baraksh.com) GitHub: https://github.com/bshoshany/thread-pool Thread pool library version is v3.0.0 (2022-05-30). Hardware concurrency is 4. Important: Please do not run any other applications, especially multithreaded applications, in parallel with this test! ==================================== Checking that the constructor works: ==================================== Checking that the thread pool reports a number of threads equal to the hardware concurrency... -> PASSED! Checking that the manually counted number of unique thread IDs is equal to the reported number of threads... -> PASSED! ============================ Checking that reset() works: ============================ Checking that after reset() the thread pool reports a number of threads equal to half the hardware concurrency... -> PASSED! Checking that after reset() the manually counted number of unique thread IDs is equal to the reported number of threads... -> PASSED! Checking that after a second reset() the thread pool reports a number of threads equal to the hardware concurrency... -> PASSED! Checking that after a second reset() the manually counted number of unique thread IDs is equal to the reported number of threads... -> PASSED! ================================ Checking that push_task() works: ================================ Checking that push_task() works for a function with no arguments or return value... -> PASSED! Checking that push_task() works for a function with one argument and no return value... -> PASSED! Checking that push_task() works for a function with two arguments and no return value... -> PASSED! ============================= Checking that submit() works: ============================= Checking that submit() works for a function with no arguments or return value... -> PASSED! Checking that submit() works for a function with one argument and no return value... -> PASSED! Checking that submit() works for a function with two arguments and no return value... -> PASSED! Checking that submit() works for a function with no arguments and a return value... -> PASSED! Checking that submit() works for a function with one argument and a return value... -> PASSED! Checking that submit() works for a function with two arguments and a return value... -> PASSED! ======================================= Checking that wait_for_tasks() works... ======================================= -> PASSED! ======================================= Checking that parallelize_loop() works: ======================================= Verifying that a loop from -576327 to 118633 with 3 tasks modifies all indices... -> PASSED! Verifying that a loop from -662619 to 865217 with 2 tasks modifies all indices... -> PASSED! Verifying that a loop from 518622 to 513052 with 2 tasks modifies all indices... -> PASSED! Verifying that a loop from 873640 to 379001 with 2 tasks modifies all indices... -> PASSED! Verifying that a loop from 106562 to -854381 with 2 tasks modifies all indices... -> PASSED! Verifying that a loop from -251273 to -874542 with 2 tasks modifies all indices... -> PASSED! Verifying that a loop from 689964 to -169143 with 3 tasks modifies all indices... -> PASSED! Verifying that a loop from -699848 to -209163 with 4 tasks modifies all indices... -> PASSED! Verifying that a loop from 783247 to -158298 with 3 tasks modifies all indices... -> PASSED! Verifying that a loop from 775865 to -755396 with 2 tasks modifies all indices... -> PASSED! Verifying that a loop from 930233 to 477499 with 1 task correctly sums all indices... -> PASSED! Verifying that a loop from -268799 to 496639 with 2 tasks correctly sums all indices... -> PASSED! Verifying that a loop from -352860 to -185991 with 3 tasks correctly sums all indices... -> PASSED! Verifying that a loop from 606780 to -51551 with 4 tasks correctly sums all indices... -> PASSED! Verifying that a loop from 184269 to -85858 with 4 tasks correctly sums all indices... -> PASSED! Verifying that a loop from -335780 to 797357 with 4 tasks correctly sums all indices... -> PASSED! Verifying that a loop from 911275 to -18578 with 3 tasks correctly sums all indices... -> PASSED! Verifying that a loop from -450654 to 10675 with 1 task correctly sums all indices... -> PASSED! Verifying that a loop from 203517 to 795901 with 3 tasks correctly sums all indices... -> PASSED! Verifying that a loop from -342517 to 18510 with 3 tasks correctly sums all indices... -> PASSED! ==================================== Checking that task monitoring works: ==================================== Resetting pool to 4 threads. Submitting 12 tasks. After submission, should have: 12 tasks total, 4 tasks running, 8 tasks queued... -> PASSED! Task 0 released. Task 3 released. Task 1 released. Task 2 released. After releasing 4 tasks, should have: 8 tasks total, 4 tasks running, 4 tasks queued... -> PASSED! Task 4 released. Task 6 released. Task 5 released. Task 7 released. After releasing 4 more tasks, should have: 4 tasks total, 4 tasks running, 0 tasks queued... -> PASSED! Task 8 released. Task 11 released. Task 10 released. Task 9 released. After releasing the final 4 tasks, should have: 0 tasks total, 0 tasks running, 0 tasks queued... -> PASSED! Resetting pool to 4 threads. ============================ Checking that pausing works: ============================ Resetting pool to 4 threads. Pausing pool. Submitting 12 tasks, each one waiting for 200ms. Immediately after submission, should have: 12 tasks total, 0 tasks running, 12 tasks queued... -> PASSED! 300ms later, should still have: 12 tasks total, 0 tasks running, 12 tasks queued... -> PASSED! Unpausing pool. Task 2 done. Task 0 done. Task 3 done. Task 1 done. 300ms later, should have: 8 tasks total, 4 tasks running, 4 tasks queued... -> PASSED! Pausing pool and using wait_for_tasks() to wait for the running tasks. Task 4 done. Task 7 done. Task 5 done. Task 6 done. After waiting, should have: 4 tasks total, 0 tasks running, 4 tasks queued... -> PASSED! 200ms later, should still have: 4 tasks total, 0 tasks running, 4 tasks queued... -> PASSED! Unpausing pool and using wait_for_tasks() to wait for all tasks. Task 8 done. Task 11 done. Task 9 done. Task 10 done. After waiting, should have: 0 tasks total, 0 tasks running, 0 tasks queued... -> PASSED! Resetting pool to 4 threads. ======================================= Checking that exception handling works: ======================================= -> PASSED! ============================================================ Testing that vector operations produce the expected results: ============================================================ Adding two vectors with 407135 elements using 1 tasks... -> PASSED! Adding two vectors with 614125 elements using 4 tasks... -> PASSED! Adding two vectors with 896055 elements using 3 tasks... -> PASSED! Adding two vectors with 279180 elements using 2 tasks... -> PASSED! Adding two vectors with 788801 elements using 3 tasks... -> PASSED! Adding two vectors with 575106 elements using 1 tasks... -> PASSED! Adding two vectors with 9122 elements using 4 tasks... -> PASSED! Adding two vectors with 399384 elements using 2 tasks... -> PASSED! Adding two vectors with 467437 elements using 4 tasks... -> PASSED! Adding two vectors with 531380 elements using 1 tasks... -> PASSED! ++++++++++++++++++++++++++++++ SUCCESS: Passed all 57 checks! ++++++++++++++++++++++++++++++ CMake Warning: Manually-specified variables were not used by the project: CMAKE_EXPORT_NO_PACKAGE_REGISTRY CMAKE_INSTALL_BINDIR CMAKE_INSTALL_DATAROOTDIR CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_LIBEXECDIR CMAKE_INSTALL_OLDINCLUDEDIR CMAKE_INSTALL_SBINDIR