Compare commits

...

11 Commits

Author SHA1 Message Date
Peter Dimov 6c0b763176 Disable Interprocess tests when /RTC is in effect. 2025-01-17 18:40:03 +02:00
Christian Mazakas 40cf55240b Revert "update documentation to use antora"
This reverts commit 3c452f93c5.
2024-12-31 12:11:06 -08:00
Christian Mazakas 3c452f93c5 update documentation to use antora 2024-12-31 12:00:52 -08:00
joaquintides cb835cdf1d Merge pull request #295 from k3DW/inline-asm
Fix inline assembly for armv7 target
2024-12-30 20:55:26 +01:00
Braden Ganetsky 07f6463c1c Fix inline assembly for armv7 target
This fix is based on boostorg/outcome#308
2024-12-29 12:55:49 -06:00
joaquintides c0c8d61688 Merge pull request #298 from boostorg/fix/split-msvc-14.2
split msvc-14.2 jobs
2024-12-29 16:17:35 +01:00
joaquintides d0116814c9 split msvc-14.2 jobs 2024-12-29 12:06:18 +01:00
joaquintides a885388480 Merge pull request #297 from boostorg/fix/upgrade-macos
bumped all macos jobs one version up
2024-12-28 22:17:16 +01:00
joaquintides accae6fdd9 bumped all macos jobs one version up 2024-12-28 17:51:31 +01:00
joaquintides a633bbaa4d Merge pull request #296 from boostorg/fix/upgrade-boost-process
upgraded tests to boost::process::v2
2024-12-28 17:41:34 +01:00
joaquintides 1389043933 upgraded to boost::process::v2 2024-12-28 12:29:33 +01:00
4 changed files with 35 additions and 14 deletions
+5 -4
View File
@@ -117,10 +117,10 @@ jobs:
stdlib: libc++, install: 'clang-18 libc++-18-dev libc++abi-18-dev', ccache_key: "tsan" }
# OSX, clang
- { compiler: clang, cxxstd: '11,14,17,2a', os: 'macos-12', sanitize: yes, ccache_key: "san1" }
- { compiler: clang, cxxstd: '11,14,17,2a', os: 'macos-12', thread-sanitize: yes, targets: 'libs/unordered/test//cfoa_tests', ccache_key: "tsan" }
- { compiler: clang, cxxstd: '11,14,17,20,2b', os: 'macos-13' }
- { compiler: clang, cxxstd: '11,14,17,20,2b', os: 'macos-13', sanitize: yes, ccache_key: "san1" }
- { compiler: clang, cxxstd: '11,14,17,20,2b', os: 'macos-13', thread-sanitize: yes, targets: 'libs/unordered/test//cfoa_tests', ccache_key: "tsan" }
- { compiler: clang, cxxstd: '11,14,17,20,2b', os: 'macos-14' }
- { compiler: clang, cxxstd: '11,14,17,20,2b', os: 'macos-15' }
timeout-minutes: 360
# posix (gcc-12 w/ sanitizers is taking longer than 210 minutes
@@ -278,7 +278,8 @@ jobs:
matrix:
include:
- { toolset: msvc-14.0, cxxstd: '14,latest', addrmd: '32,64', os: 'windows-2019', variant: 'debug,release' }
- { toolset: msvc-14.2, cxxstd: '14,17,20,latest', addrmd: '32,64', os: 'windows-2019', variant: 'debug,release' }
- { toolset: msvc-14.2, cxxstd: '14,17', addrmd: '32,64', os: 'windows-2019', variant: 'debug,release' }
- { toolset: msvc-14.2, cxxstd: '20,latest', addrmd: '32,64', os: 'windows-2019', variant: 'debug,release' }
- { toolset: msvc-14.3, cxxstd: '14,17,20,latest', addrmd: '32,64', os: 'windows-2022', variant: 'debug,release' }
- { toolset: msvc-14.3, cxxstd: '14', addrmd: '64', os: 'windows-2022', variant: 'debug', defines: '_ALLOW_RTCc_IN_STL', cxxflags: '/RTCc' }
- { toolset: msvc-14.3, cxxstd: '14', addrmd: '32', os: 'windows-2022', variant: 'debug', defines: '_ALLOW_RTCc_IN_STL', cxxflags: '"/RTCc /arch:IA32"' }
@@ -13,7 +13,7 @@
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Woverlength-strings"
#endif
__asm__(".pushsection \".debug_gdb_scripts\", \"MS\",@progbits,1\n"
__asm__(".pushsection \".debug_gdb_scripts\", \"MS\",%progbits,1\n"
".ascii \"\\4gdb.inlined-script.BOOST_UNORDERED_UNORDERED_PRINTERS_HPP\\n\"\n"
".ascii \"import gdb.printing\\n\"\n"
".ascii \"import gdb.xmethod\\n\"\n"
+17 -3
View File
@@ -2,12 +2,22 @@
// 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)
#include <boost/config.hpp>
#include <boost/config/pragma_message.hpp>
#if defined(__MSVC_RUNTIME_CHECKS)
BOOST_PRAGMA_MESSAGE(
"Test skipped because of /RTCc, which is incompatible with Boost.Interprocess");
int main() {}
#else
#include <boost/unordered/concurrent_flat_map.hpp>
#include <atomic>
#include <boost/asio.hpp>
#include <boost/core/lightweight_test.hpp>
#include <boost/interprocess/allocators/allocator.hpp>
#include <boost/interprocess/managed_shared_memory.hpp>
#include <boost/process/child.hpp>
#include <boost/process/process.hpp>
#include <boost/uuid/random_generator.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <chrono>
@@ -57,9 +67,11 @@ int parent(const char* exe_name)
allocator(segment.get_segment_manager()));
std::atomic_int& start = *segment.construct<std::atomic_int>(start_name)(0);
std::vector<boost::process::child> children;
boost::asio::io_context ctx;
std::vector<boost::process::process> children;
for (int i = 0; i < NUM_CHILDS; ++i) {
children.emplace_back(exe_name, std::to_string(i), segment_name);
children.push_back(boost::process::process(
ctx.get_executor(), exe_name, {std::to_string(i), segment_name_str}));
}
start.store(1);
@@ -112,3 +124,5 @@ int main(int argc, char** argv)
return child(std::atoi(argv[1]),argv[2]);
}
}
#endif
+12 -6
View File
@@ -1,15 +1,19 @@
// Copyright 2023 Christian Mazakas.
// Copyright 2023 Joaquin M Lopez Munoz.
// Copyright 2023-2024 Joaquin M Lopez Munoz.
// 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)
#include <boost/config.hpp>
#include <boost/config/pragma_message.hpp>
#if defined(BOOST_CLANG_VERSION) && BOOST_CLANG_VERSION < 30900
#include <boost/config/pragma_message.hpp>
BOOST_PRAGMA_MESSAGE(
"This version of clang is incompatible with Boost.Process");
int main() {}
#elif defined(__MSVC_RUNTIME_CHECKS)
BOOST_PRAGMA_MESSAGE(
"Test skipped because of /RTCc, which is incompatible with Boost.Interprocess");
int main() {}
#else
#include "../helpers/test.hpp"
@@ -28,8 +32,8 @@ int main() {}
#include <boost/interprocess/containers/string.hpp>
#include <boost/interprocess/managed_shared_memory.hpp>
#include <boost/process/child.hpp>
#include <boost/process/filesystem.hpp>
#include <boost/asio.hpp>
#include <boost/process/process.hpp>
#include <boost/uuid/random_generator.hpp>
#include <boost/uuid/uuid_io.hpp>
@@ -141,7 +145,8 @@ parent(std::string const& shm_name_, char const* exe_name, C*)
BOOST_TEST(c->empty());
boost::process::child child(exe_name, shm_name);
boost::asio::io_context ctx;
boost::process::process child(ctx.get_executor(), exe_name, {shm_name});
child.wait();
int ret = child.exit_code();
@@ -240,7 +245,8 @@ parent(std::string const& shm_name_, char const* exe_name, C*)
BOOST_TEST(c->empty());
boost::process::child child(exe_name, shm_name);
boost::asio::io_context ctx;
boost::process::process child(ctx.get_executor(), exe_name, {shm_name});
child.wait();
int ret = child.exit_code();