diff options
-rw-r--r-- | Readme.md | 17 | ||||
m--------- | include/boost/afio/boost-lite | 0 | ||||
m--------- | include/boost/afio/outcome | 0 | ||||
-rw-r--r-- | include/boost/afio/v2.0/config.hpp | 13 | ||||
m--------- | test/kerneltest | 0 | ||||
-rw-r--r-- | test/tests/map_handle_create_close/integration.cpp | 8 |
6 files changed, 32 insertions, 6 deletions
@@ -6,10 +6,21 @@ v2 rewrite. You can view its documentation at https://ned14.github.io/boost.afio Tarballs of source and prebuilt binaries with all unit tests passing: https://dedi4.nedprod.com/static/files/ -CMake todos: +CppCon 2016 todos: +- Fix remaining failures in map_handle. +- Test open_hash_index on valgrind, I ran out of time during the weekend. + - Ideally raise that test on per-commit CI via ctest support for valgrind. +- Create algorithm::shared_fs_mutex::memory_map<> which places an open_hash_index<> +inside a map_handle region. + - If non_local_count > 0, use byte range locks on everything :) + - Use read lock at very end to determine when non local users have gone away - Rename all ParseProjectVersionFromHpp etc to parse_project_version_from_hpp etc -- Static library edition appears to not be encoding extended error code detail? - - Add a unit test! +- DLL library edition appears to not be encoding extended error code detail because +it's not sharing a single ringbuffer_log. Hard to fix given Outcome could be being +used by multiple libraries as a header only library, need to figure out some global +fix e.g. named shared memory. + + Later: - Each test runner needs to be compiled into many sanitising build variants diff --git a/include/boost/afio/boost-lite b/include/boost/afio/boost-lite -Subproject 1703b1672074d8bb0eb50fd91d1a81827499e1f +Subproject 618e5da526219ebb151dea7dba8e63c2ef47509 diff --git a/include/boost/afio/outcome b/include/boost/afio/outcome -Subproject 2723fb5262b91a253f5bf7a0962aa47615144af +Subproject cc0555b91ccd4970c3acc1f63b241a11aecdeb7 diff --git a/include/boost/afio/v2.0/config.hpp b/include/boost/afio/v2.0/config.hpp index bf604d7f..dfb38adc 100644 --- a/include/boost/afio/v2.0/config.hpp +++ b/include/boost/afio/v2.0/config.hpp @@ -29,6 +29,10 @@ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +//#include <iostream> +//#define BOOST_AFIO_LOG_TO_OSTREAM std::cout +//#define BOOST_AFIO_LOGGING_LEVEL 99 + //! \file config.hpp Configures a compiler environment for AFIO header and source code //! \defgroup config Configuration macros @@ -186,11 +190,11 @@ DEALINGS IN THE SOFTWARE. #endif #ifdef BOOST_AFIO_UNSTABLE_VERSION #include "../revision.hpp" -#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(v, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL, BOOST_AFIO_PREVIOUS_COMMIT_UNIQUE), inline) +#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL, BOOST_AFIO_PREVIOUS_COMMIT_UNIQUE), inline) #elif BOOST_AFIO_LATEST_VERSION == 2 -#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(v, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL), inline) +#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL), inline) #else -#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(v, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL)) +#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL)) #endif /*! \def BOOST_AFIO_V2 \ingroup config @@ -417,6 +421,9 @@ BOOST_AFIO_V2_NAMESPACE_BEGIN inline BOOST_AFIO_DECL boost_lite::ringbuffer_log::simple_ringbuffer_log<BOOST_AFIO_LOGGING_MEMORY> &log() noexcept { static boost_lite::ringbuffer_log::simple_ringbuffer_log<BOOST_AFIO_LOGGING_MEMORY> _log(static_cast<boost_lite::ringbuffer_log::level>(BOOST_AFIO_LOGGING_LEVEL)); +#ifdef BOOST_AFIO_LOG_TO_OSTREAM + _log.immediate(&BOOST_AFIO_LOG_TO_OSTREAM); +#endif return _log; } inline void record_error_into_afio_log(boost_lite::ringbuffer_log::level _level, const char *_message, unsigned _code1, unsigned _code2, const char *_function, unsigned lineno) diff --git a/test/kerneltest b/test/kerneltest -Subproject 9f2a7ca51cbff03f235dfedb55a02ec615ec0f5 +Subproject b2687cbd86a554846e1b34d5eb6180cb97bb82e diff --git a/test/tests/map_handle_create_close/integration.cpp b/test/tests/map_handle_create_close/integration.cpp new file mode 100644 index 00000000..ef01fe0c --- /dev/null +++ b/test/tests/map_handle_create_close/integration.cpp @@ -0,0 +1,8 @@ +/* Integration test kernel for map_handle create and close +(C) 2016 Niall Douglas http://www.nedprod.com/ +File Created: Aug 2016 +*/ + +#include "../kerneltest/include/boost/kerneltest.hpp" + +BOOST_KERNELTEST_TEST_KERNEL(integration, afio, map_handle_nocommit_and_commit, map_handle, "Tests that afio::map_handle's nocommit and commit work as expected", [] {}) |