diff options
author | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2017-07-29 04:43:46 +0300 |
---|---|---|
committer | Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spamtrap@nedprod.com> | 2017-07-29 04:43:46 +0300 |
commit | c11312fe882aeaf0548d50b34d22d43d371d53c2 (patch) | |
tree | 287c98f02493e11f29f1b55abe878a2fc7c47331 | |
parent | b0d4d742f986629d90054b8bf29599e6cc4c6573 (diff) |
Finish renaming to AFIO.
-rw-r--r-- | .gitmodules | 6 | ||||
-rw-r--r-- | .travis.yml | 22 | ||||
-rw-r--r-- | Readme.md | 29 | ||||
-rw-r--r-- | appveyor.yml.disabled (renamed from appveyor.yml) | 0 | ||||
-rw-r--r-- | include/afio/revision.hpp | 6 | ||||
m--------- | test/kerneltest | 0 | ||||
-rw-r--r-- | test/tests/shared_fs_mutex.cpp | 2 |
7 files changed, 32 insertions, 33 deletions
diff --git a/.gitmodules b/.gitmodules index 81a2db47..85c27a42 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,20 +1,20 @@ [submodule "doc/html"] path = doc/html - url = https://github.com/ned14/boost.afio.git + url = https://github.com/ned14/afio.git branch = gh-pages fetchRecurseSubmodules = true ignore = none # shallow = true [submodule "include/afio/outcome"] path = include/afio/outcome - url = https://github.com/ned14/boost.outcome.git + url = https://github.com/ned14/outcome.git branch = master fetchRecurseSubmodules = true ignore = untracked # shallow = true [submodule "test/kerneltest"] path = test/kerneltest - url = https://github.com/ned14/boost.kerneltest.git + url = https://github.com/ned14/kerneltest.git branch = master fetchRecurseSubmodules = true ignore = untracked diff --git a/.travis.yml b/.travis.yml index 49c96df9..93688ea9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,7 @@ language: cpp +compiler: + - g++-6 + - clang-4.0 sudo: false os: - linux @@ -15,9 +18,10 @@ addons: sources: - ubuntu-toolchain-r-test - george-edison55-precise-backports -# - llvm-toolchain-precise-3.8 ## not currently working due to bad source signing key + - llvm-toolchain-trusty-4.0 packages: - g++-6 + - clang-4.0 - python3 - cmake - cmake-data @@ -27,6 +31,18 @@ env: - __="cmake tests" NAME=TravisLinuxWorker - __="Documentation" NAME=TravisDocumentation +matrix: + exclude: +# - os: osx +# compiler: g++-6 + - os: linux + compiler: clang-4.0 + env: __="Documentation" NAME=TravisDocumentation +# - os: osx +# env: __="Documentation" NAME=TravisDocumentation +# - os: osx +# env: __="cmake tests" NAME=TravisLinuxWorker + #cache: # apt: true # directories: @@ -54,7 +70,9 @@ before_install: script: - if [ "$__" = "cmake tests" ]; then - CXX=g++-6 ctest -S .ci.cmake -V; + if [ "$CXX" = "g++" ]; then export CXX=g++-6; export NAME=TravisLinuxWorkerGCC; fi; + if [ "$CXX" = "clang++" ]; then export CXX=clang++-4.0; export NAME=TravisLinuxWorkerClang; fi; + ctest -S .ci.cmake -V; fi - if [ "$__" = "Documentation" ]; then @@ -1,35 +1,20 @@ -This is the beginnings of the post-peer-review AFIO -v2 rewrite. You can view its documentation at https://ned14.github.io/boost.afio/ +This is the post-peer-review AFIO v2 rewrite. You can view its documentation at https://ned14.github.io/afio/ -<b>master branch test status</b> Linux: [![Build Status](https://travis-ci.org/ned14/boost.afio.svg?branch=master)](https://travis-ci.org/ned14/boost.afio) Windows: [![Build status](https://ci.appveyor.com/api/projects/status/ox59o2r276xbmef7/branch/master?svg=true)](https://ci.appveyor.com/project/ned14/boost-afio/branch/master) Coverage: Boost.KernelTest support for coveralls.io still todo <b>CMake dashboard</b>: http://my.cdash.org/index.php?project=AFIO +<b>master branch test status</b> Linux: [![Build Status](https://travis-ci.org/ned14/afio.svg?branch=master)](https://travis-ci.org/ned14/afio) Windows: [![Build status](https://ci.appveyor.com/api/projects/status/ox59o2r276xbmef7/branch/master?svg=true)](https://ci.appveyor.com/project/ned14/afio/branch/master) <b>CMake dashboard</b>: http://my.cdash.org/index.php?project=Boost.AFIO -Tarballs of source and prebuilt binaries for Linux x64 and Windows x64: http://my.cdash.org/index.php?project=AFIO (click on the little package icon to the right of the Build Name, obviously choose one passing all tests) +Tarballs of source and prebuilt binaries for Linux x64 and Windows x64: http://my.cdash.org/index.php?project=Boost.AFIO (click on the little package icon to the right of the Build Name, obviously choose one passing all tests) ### Immediate todos in order of priority: -- [x] Audit Outcome and AFIO for all uses of `std::error_code::value()` and replace where -appropriate with `std::errc::whatever`. - [x] Get Outcome to work perfectly with exceptions and RTTI disabled, this makes Outcome useful in the games/audio world. - - [x] Add a new Boost.Test emulation, one which is noexcept capable - [ ] Move AFIO to being tested with exceptions and RTTI disabled. Where AFIO throws, have it detect __cpp_exceptions and skip those implementations. - - [x] Add macro helpers to Outcome for returning outcomes out of things -which cannot return values like constructors, and convert said exceptions/TLS -back into outcomes. - - Make use of std::system_error(errno, system_category, "custom error message"); -- [x] Port AFIO v2 back to POSIX - [ ] Move handle caching into native_handle_type? Overlapped flag is especially needed. -- [ ] Need to split out the path functions from io_handle into a pathed_handle - - [ ] directory_handle extends pathed_handle - - [ ] symlink_handle extends pathed_handle -- [ ] Fat `afio::path` - - [ ] Relative path fragment + a pathed_handle as the base - - [ ] POSIX, NT kernel and win32 path variants -- [ ] `virtual handle::path_type pathed_handle::path(bool refresh=false)` should be added using +- [ ] `handle::current_path()` should be added using `GetFinalPathNameByHandle(FILE_NAME_OPENED)`. `VOLUME_NAME_DOS` vs `VOLUME_NAME_NT` should depend on the current afio::path setting. -- [ ] Once the fat path is implemented, implement the long planned ACID key-value BLOB store +- [ ] Implement the long planned ACID key-value BLOB store with a very simple engine based on atomic renames and send it to Boost for peer review. - [ ] All time based kernel tests need to use soak test based API and auto adjust to @@ -38,10 +23,6 @@ valgrind. - [ ] Rename all ParseProjectVersionFromHpp etc to parse_project_version_from_hpp etc - [ ] In DEBUG builds, have io_handle always not fill buffers passed to remind people to use pointers returned! -- [ ] 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. Make log disc stored while we are at it. - KernelTest needs to be generating each test kernel as a standalone DLL so it can be fuzzed, coverage calculated, bloat calculated, ABI dumped etc - Easy coverage is the usual gcov route => coveralls.io or gcovr http://gcovr.com/guide.html diff --git a/appveyor.yml b/appveyor.yml.disabled index 663601ac..663601ac 100644 --- a/appveyor.yml +++ b/appveyor.yml.disabled diff --git a/include/afio/revision.hpp b/include/afio/revision.hpp index 3506875e..18999574 100644 --- a/include/afio/revision.hpp +++ b/include/afio/revision.hpp @@ -1,4 +1,4 @@ // Note the second line of this file must ALWAYS be the git SHA, third line ALWAYS the git SHA update time -#define AFIO_PREVIOUS_COMMIT_REF 0665f2664d1d31ee130de477e3eda615a5baf0f3 -#define AFIO_PREVIOUS_COMMIT_DATE "2017-07-28 01:33:01 +00:00" -#define AFIO_PREVIOUS_COMMIT_UNIQUE 0665f266 +#define AFIO_PREVIOUS_COMMIT_REF b0d4d742f986629d90054b8bf29599e6cc4c6573 +#define AFIO_PREVIOUS_COMMIT_DATE "2017-07-29 01:15:53 +00:00" +#define AFIO_PREVIOUS_COMMIT_UNIQUE b0d4d742 diff --git a/test/kerneltest b/test/kerneltest -Subproject 302981059aaab2a3505f50bfd58253d07733db9 +Subproject 04e06c425f852259daaa7ada433bd1221ff8373 diff --git a/test/tests/shared_fs_mutex.cpp b/test/tests/shared_fs_mutex.cpp index eabe8b82..d4479d69 100644 --- a/test/tests/shared_fs_mutex.cpp +++ b/test/tests/shared_fs_mutex.cpp @@ -570,7 +570,7 @@ static void TestMemoryMapFallback() BOOST_CHECK(lk.has_error()); if(lk.has_error()) { - BOOST_CHECK(lk.error().value() == EBUSY); + BOOST_CHECK(lk.error() == std::errc::device_or_resource_busy); } { auto fblkh = fblk.lock(afio::algorithm::shared_fs_mutex::shared_fs_mutex::entity_type(0, false)).value(); |