2
0
mirror of https://github.com/boostorg/uuid.git synced 2026-01-19 04:42:16 +00:00
Commit Graph

240 Commits

Author SHA1 Message Date
Peter Dimov
9df4da92a0 Update ci.yml boost-1.82.0 boost-1.82.0.beta1 2023-02-23 11:04:21 +02:00
Peter Dimov
bf4f04d34a Regenerate CMakeLists.txt 2023-02-23 11:03:03 +02:00
Peter Dimov
98944b6ec2 Eliminate Serialization includes 2023-02-23 11:02:24 +02:00
Volo Zyko
94381580f9 Add BOOST_UUID_RANDOM_PROVIDER_GETRANDOM_DISABLE_LIBC_WRAPPER macro 2022-06-07 08:10:57 -04:00
Alexander Grund
bfc65f4092 Fix ccache saving on cache hit
See boostorg/boost-ci#166
2022-06-07 08:10:11 -04:00
James E. King III
bd835638a5 remove one redundant ci job boost-1.81.0.beta1 boost-1.81.0 boost-1.80.0.beta1 boost-1.80.0 boost-1.79.0.beta1 boost-1.79.0 2022-02-14 18:35:20 -05:00
James E. King III
9bd9051493 add valgrind to ci 2022-02-13 14:28:17 -05:00
James E. King III
25749c83b3 drop test files from coverage report 2022-02-10 16:23:27 -05:00
James E. King III
9fe39a1e12 fix codecov ignore test dir, add pthread to appveyor cygwin 2022-02-10 07:16:44 -05:00
James E. King III
80fc541bb7 (re)add appveyor for older msvc, cygwin 2022-02-09 15:03:19 -05:00
James E. King III
f7f3295c0c fix issues 124 (cmake), 125 (bigendian) and 126 (coverity) in ci
- add gha bigendian build
- add gha cmake build
- add gha coverity scan

Note: using this branch to test coverage against boost-ci
2022-02-04 16:09:20 -05:00
James E. King III
4cb8cb6eab update .codecov.yml to omit test files 2022-02-04 10:59:01 -05:00
James E. King III
fb3ec7d83c fix test jamfile referring to BOOST_ROOT instead of relative paths 2022-02-02 20:59:12 -05:00
James E. King III
0ee3b2b29e exclude test code from code coverage 2022-01-25 20:23:23 -05:00
James E. King III
eb3e4a5b84 update readme badges 2022-01-25 17:47:11 -05:00
James E. King III
7f233e5feb fix ci 2022-01-25 17:47:11 -05:00
James E. King III
32a7a5ca2e ignore test directory for coverage 2022-01-25 17:47:11 -05:00
James E. King III
abf6849ef2 GitHub Actions CI
- replaces travis
- replaces appveyor
- does not test cmake (was failing)
- does not test big-endian at this time
- is better than no CI at all
- will open issues for cmake, cygwin, big-endian testing
2022-01-25 16:51:29 -05:00
Gudmundur Adalsteinsson
eaa4be7b96 Add to_chars for writing uuid strings without allocating boost-1.77.0 boost-1.78.0.beta1 boost-1.78.0 boost-1.77.0.beta1 2021-06-15 12:47:35 -04:00
Edward Diener
145531fe07 [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. 2021-06-15 12:44:10 -04:00
Peter Dimov
61ad109403 Add CMakeLists.txt 2021-05-28 01:58:50 +03:00
James E. King III
ca0185f9f2 add a big-endian bdde travis ci job to prove endian issues resolved boost-1.76.0.beta1 boost-1.71.0 boost-1.76.0 boost-1.75.0.beta1 boost-1.75.0 boost-1.74.0.beta1 boost-1.74.0 boost-1.73.0.beta1 boost-1.73.0 boost-1.72.0.beta1 boost-1.72.0 boost-1.71.0.beta1 2019-06-25 13:21:13 -04:00
James E. King III
cc9648b68c Add BOOST_UUID_COMPAT_PRE_1_71_MD5 compatibility mode 2019-06-25 13:21:13 -04:00
James E. King III
eabf964e98 Fix endian issue copying md5 result to byte buffer.
Fix the sha1 and md5 unit tests for endian correctness.
Originally identified by BinCaoWR in GitHub issue #86 and PR #87

This fixes #86
This closes #87
2019-06-25 13:21:13 -04:00
James E. King III
5e55711b59 Add asan and tsan travis jobs 2019-06-10 10:54:53 -04:00
James E. King III
79b73f63af Add a clang-win build job [skip travis] 2019-06-10 06:44:50 -04:00
James E. King III
a49929bd06 Reduce overall CI resources with less cxxstd combinations. 2019-06-08 06:33:30 -04:00
James E. King III
e972f80a6d Add gcc-9 CI job on Travis CI 2019-06-08 06:33:30 -04:00
James E. King III
a165661012 Add Visual Studio 2019 CI job on Appveyor 2019-06-08 06:33:30 -04:00
James E. King III
be5876a0fc Try gcc-8 and gcov-8 to improve coverage results (maybe) 2019-05-03 20:35:10 -04:00
tinko92
24e3e0db36 Fix for typo (LICENCE) and for https links to license (#103)
* Fix Typo in link to License.
* Changed links to https.
2019-04-22 08:56:05 -04:00
James E. King III
638f72a70c fix coverity scan 2019-04-19 22:42:05 -04:00
Andrey Semashev
abfb3a918a Implement std::hash in terms of hash_value.
Not only it makes the two implementations equivalent, it also fixes the bug
of to_string throwing an exception in the noexcept function. It is also
more efficient as there is no need for the temporary string construction.
2019-04-19 06:45:24 -04:00
Andrey Semashev
bc789d8a76 Disable getentropy backend on Linux and Android.
Since getentropy is implemented via getrandom in Linux kernel, getentropy
cannot work if the kernel doesn't support getrandom. Given this, there is
no reason to ever use getentropy on Linux.

We used to allow this backend based on glibc version check, but there are
configurations where a newer glibc is running with an older kernel, and
getentropy always fails in runtime. Disabling getentropy in such cases
allows to fall back to the generic POSIX backend.
2019-04-19 06:44:25 -04:00
tomy2105
32469a666d Avoid undefining BOOST_AUTO_LINK_NOMANGLE
Avoid undefining BOOST_AUTO_LINK_NOMANGLE if it was previously defined.
2019-04-19 06:44:04 -04:00
James E. King III
614108a584 Refresh CI scripts 2019-04-19 06:43:37 -04:00
Marcel Raad
2400f69519 Fix -Wmissing-noreturn clang warning
Mark function only consisting of a BOOST_THROW_EXCEPTION statement as
BOOST_NORETURN.
According to [0], "Callers of throw_exception are allowed to assume
that the function never returns", and the two predefined versions are
marked with BOOST_NORETURN.

[0] https://www.boost.org/doc/libs/1_69_0/libs/exception/doc/throw_exception.html
boost-1.70.0.beta1 boost-1.70.0
2019-02-25 15:31:04 -05:00
Marcel Raad
695c6782c6 Fix -Wextra-semi clang warning
Remove a superfluous semicolon after a function definition.
2019-02-25 15:31:04 -05:00
James E. King III
14a90261c7 Update Travis CI build jobs boost-1.69.0-beta1 boost-1.69.0 2018-11-02 12:44:21 -04:00
James E. King III
cbf098f298 Expanded windows CI tests for more coverage 2018-11-02 08:21:54 -04:00
James E. King III
527686352c Expand Travis CI build coverage 2018-10-28 10:42:04 -04:00
James E. King III
92cf9dd7d4 Make entropy_error default visible
See https://github.com/boostorg/function/pull/24 as to why.
2018-10-25 12:21:49 -04:00
James E. King III
496c0c8ee5 Update sha1.hpp header, it had the wrong path in it. 2018-10-17 19:33:43 -04:00
James E. King III
9b1988001f fix test code warning in matrix build: hides previous local declaration 2018-10-12 08:12:23 -04:00
Andrey Semashev
2c142e311a Disabled getrandom provider on Android prior to API version 28.
Android supports getrandom and getentropy functions only since API version 28.

As part of the fix converted Linux/Android platform detection from Boost.Predef
to direct checks of platform-specific macros. This is to work around
Boost.Predef problem described in [1] - depending on header inclusion order
Boost.Predef may indicate Linux or Android. When that problem is fixed we
may change back to Boost.Predef.

Fixes https://github.com/boostorg/uuid/issues/76.

[1]: https://github.com/boostorg/predef/issues/81#issuecomment-413329061
2018-08-19 10:36:00 -04:00
James E. King III
9522a13919 fix failing ci jobs in travis boost-1.68.0 2018-07-14 17:42:41 +00:00
Andrey Semashev
405f961431 Add support for Linux-specific getrandom call to obtain random data.
getrandom is the base implementation for getentropy on Linux. It is also
available in the form of a syscall, which can be called directly on systems with
glibc versions older than 2.25 which don't yet provide wrappers for getrandom or
getentropy but have a recent enough Linux kernel (for example, Debian Stretch).

On systems other than Linux (e.g. Solaris) getentropy is documented as a
source for initialization of a user-space PRNG instead of a direct source
for random data. Since we use the random data directly to initialize UUIDs,
using getrandom on other platforms, where available, would be more preferable
than getentropy. Unfortunately, the only other platform that is known to support
both getentropy and getrandom (Solaris) documents getrandom to return 0
on error, which is a valid return value on Linux. It's not clear if this is
a documentation error or a true incompatibility, and I have no way to test,
so do not use getrandom on Solaris for now. For this reason (and in case
if it is also used on some other platforms) getentropy backend is still
preserved.

For running tests in the CI on the getentropy backend added the
BOOST_UUID_RANDOM_PROVIDER_DISABLE_GETRANDOM macro, which will disable getrandom
if one is detected. Currently, the macro is only used for tests on Linux.
2018-06-18 10:27:40 -04:00
Andrey Semashev
4a9f620b6d Add support for movability to random generators. Fix POSIX random provider.
The commit adds support for move constructors and assignment to random UUID
generators and random providers. Also, in POSIX random provider, the commit
improves handling of return value from ::read(), which returns -1
in case of error and may return 0 in case of success. Retry the call when
it was interrupted before reading any bytes from /dev/urandom.

Added new tests for movability and compile-fail tests for no copyability.

This addresses GitHub issue:

https://github.com/boostorg/uuid/issues/71
2018-06-18 10:24:46 -04:00
James E. King III
0d0aa876e5 Merge branch 'master' into develop 2018-06-17 11:48:31 +00:00
James E. King III
ed64c1cfab re-add limited benchmark ci environment setting 2018-06-17 11:48:02 +00:00