mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-08 12:21:17 +00:00
Fix shared library tests for Windows (#1074)
Add copying of shared library to the output directory with a test binary. [binary] removed using of non unsigned char as argument at 'std::isspace' function that was provokes undefined behavior. [.github/workflows/build.yml] enabled run of test at the 'windows-latest' environment.
This commit is contained in:
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
cmake --build . --parallel 4
|
||||
|
||||
# tests are failing for unknown reasons
|
||||
- if: matrix.os == 'ubuntu-latest'
|
||||
- if: matrix.os != 'macos-latest'
|
||||
name: Test shared
|
||||
shell: bash
|
||||
run: cd build && ctest --output-on-failure
|
||||
|
@@ -75,7 +75,7 @@ std::vector<unsigned char> DecodeBase64(const std::string &input) {
|
||||
|
||||
unsigned value = 0;
|
||||
for (std::size_t i = 0, cnt = 0; i < input.size(); i++) {
|
||||
if (std::isspace(input[i])) {
|
||||
if (std::isspace(static_cast<unsigned char>(input[i]))) {
|
||||
// skip newlines
|
||||
continue;
|
||||
}
|
||||
|
@@ -47,3 +47,10 @@ endif()
|
||||
|
||||
|
||||
add_test(yaml-cpp::test yaml-cpp-tests)
|
||||
|
||||
if (build-windows-dll)
|
||||
add_custom_command(
|
||||
TARGET yaml-cpp-tests
|
||||
POST_BUILD COMMAND ${CMAKE_COMMAND} -E
|
||||
copy_if_different "$<TARGET_FILE:yaml-cpp>" "$<TARGET_FILE_DIR:yaml-cpp-tests>")
|
||||
endif()
|
||||
|
Reference in New Issue
Block a user