Skip to content

Commit

Permalink
Run ThemisPP tests with C++14 and C++17 (#572)
Browse files Browse the repository at this point in the history
Explicitly test compatibility with those standard levels. C++20 is
currently being finalized. It's somewhat supported in the compilers,
but not in the versions shipped with Ubuntu 16.04.

It turned out that behavior wrt attributes might be different between
GCC and Clang, so let's test both compilers now.

Clang that we have in the Docker image does not support "-std=c++17",
so we do not test with that. (Actually, GCC support the option, but
__cplusplus value suggests that it's still in C++14 mode.)
  • Loading branch information
ilammy authored Dec 24, 2019
1 parent 4a81815 commit a1375ef
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
11 changes: 9 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,15 @@ jobs:
- run: '[ -z "$CIRCLE_PR_NUMBER" ] && ! [ -z "$COVERALLS_TOKEN" ] && cd $HOME/go/src/$GOTHEMIS_IMPORT && $HOME/go/bin/goveralls -v -service=circle-ci -repotoken=$COVERALLS_TOKEN || true'
- run: sudo /sbin/ldconfig
- run: make test
- run: make clean_themispp_test && CFLAGS="-std=c++03" make themispp_test && make test_cpp
- run: make clean_themispp_test && CFLAGS="-std=c++11" make themispp_test && make test_cpp
- run: make clean_themispp_test && CXX="g++" CFLAGS="-std=c++03" make themispp_test && make test_cpp
- run: make clean_themispp_test && CXX="g++" CFLAGS="-std=c++11" make themispp_test && make test_cpp
- run: make clean_themispp_test && CXX="g++" CFLAGS="-std=c++14" make themispp_test && make test_cpp
- run: make clean_themispp_test && CXX="g++" CFLAGS="-std=c++17" make themispp_test && make test_cpp
- run: make clean_themispp_test && CXX="clang++" CFLAGS="-std=c++03" make themispp_test && make test_cpp
- run: make clean_themispp_test && CXX="clang++" CFLAGS="-std=c++11" make themispp_test && make test_cpp
- run: make clean_themispp_test && CXX="clang++" CFLAGS="-std=c++14" make themispp_test && make test_cpp
# Clang 3.8 that we have here does not support C++17 yet
# - run: make clean_themispp_test && CXX="clang++" CFLAGS="-std=c++17" make themispp_test && make test_cpp
- run: make test_python
- run: make test_ruby
- run: make test_go
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ _Code:_
- **C++**

- New function `themispp::gen_sym_key()` can be used to generate symmetric keys for Secure Cell ([#561](https://github.com/cossacklabs/themis/pull/561)).
- Updated test suite to test C++14 and C++17 (in addition to C++11 and C++03) ([#572](https://github.com/cossacklabs/themis/pull/572)).

- **Go**

Expand Down

0 comments on commit a1375ef

Please sign in to comment.