Skip to content

Tests require C++20 but CMakeLists sets C++17 #20

Description

@Matias314

This is causing build failures for me on Arch Linux:

[ 66%] Building CXX object test/CMakeFiles/libdave_test.dir/capi/external_sender_wrapper.cpp.o
/home/matias/Downloads/libdave/cpp/test/codec_utils_tests.cpp: In member function ‘virtual void discord::dave::test::DaveTests_SplitReconstruct_Test::TestBody()’:
/home/matias/Downloads/libdave/cpp/test/codec_utils_tests.cpp:49:52: error: cannot convert ‘std::__cxx11::basic_string<char>::iterator’ to ‘const char*’
   49 |     randomBytes.erase(std::remove(randomBytes.begin(), randomBytes.end(), ' '), randomBytes.end());
      |                                   ~~~~~~~~~~~~~~~~~^~
      |                                                    |
      |                                                    std::__cxx11::basic_string<char>::iterator
In file included from /usr/include/c++/16.1.1/cstdio:47,
                 from /usr/include/c++/16.1.1/ext/string_conversions.h:47,
                 from /usr/include/c++/16.1.1/bits/basic_string.h:4499,
                 from /usr/include/c++/16.1.1/string:58,
                 from /usr/include/c++/16.1.1/bits/locale_classes.h:43,
                 from /usr/include/c++/16.1.1/bits/ios_base.h:43,
                 from /usr/include/c++/16.1.1/ios:46,
                 from /usr/include/c++/16.1.1/bits/ostream.h:43,
                 from /usr/include/c++/16.1.1/ostream:42,
                 from /usr/include/gtest/gtest.h:56,
                 from /home/matias/Downloads/libdave/cpp/test/codec_utils_tests.cpp:2:
/usr/include/stdio.h:162:32: note: initializing argument 1 of ‘int remove(const char*)’
  162 | extern int remove (const char *__filename) __THROW;
      |                    ~~~~~~~~~~~~^~~~~~~~~~
make[2]: *** [test/CMakeFiles/libdave_test.dir/build.make:93: test/CMakeFiles/libdave_test.dir/codec_utils_tests.cpp.o] Error 1

Setting C++20 for the tests fixes the issue for me.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions