mirror of
https://github.com/boostorg/unordered.git
synced 2026-08-06 21:54:06 +02:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6c0b763176 | |||
| 40cf55240b | |||
| 3c452f93c5 | |||
| cb835cdf1d | |||
| 07f6463c1c | |||
| c0c8d61688 | |||
| d0116814c9 | |||
| a885388480 | |||
| accae6fdd9 | |||
| a633bbaa4d | |||
| 1389043933 |
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user