Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ninja + Catch2 + mingw64 #195

Open
Bktero opened this issue Mar 29, 2022 · 0 comments
Open

Ninja + Catch2 + mingw64 #195

Bktero opened this issue Mar 29, 2022 · 0 comments

Comments

@Bktero
Copy link

Bktero commented Mar 29, 2022

Hello

I am sorry to open yet another bug about Ninja. I had a look at the very long #79 and #74 and I understood that Ninja is a problem, but also that this problem have been solved.

Sadly I still get errors in this the following configuration :

  • Windows 10
  • Ninja 1.10.2
  • Catch 2.13.7
  • ApprovalTests 10.12.2
  • GCC 11.2.0 (from MSYS/mingw64)

My project structure:

image

My preset:

{
  "version": 3,
  "configurePresets": [
    {
      "name": "with-gcc",
      "generator": "Ninja",
      "binaryDir": "${sourceDir}/cmake-build-gcc",
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Release",
        "CMAKE_C_COMPILER": "gcc.exe",
        "CMAKE_CXX_COMPILER": "g++.exe"
      }
    }
  ],
  "buildPresets": [
    {
      "name": "with-gcc",
      "configurePreset": "with-gcc"
    }
  ]
}

tests.cpp =

#include <iostream>
#include "ApprovalTests.hpp"
#include "catch2/catch.hpp"

TEST_CASE("MyTestCase") {
    std::cout << "__FILE__ == " << __FILE__ << '\n';
    ApprovalTests::Approvals::verify("something");
}

main.cpp =

#define APPROVALS_CATCH

#include "ApprovalTests.hpp"

//auto directoryDisposer = ApprovalTests::Approvals::useApprovalsSubdirectory("approval_tests");

Like this I get the following error:

__FILE__ == C:/Users/z19100018/CLionProjects/ninja_approvaltests/tests.cpp

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ninja_approvaltests.exe is a Catch v2.13.7 host application.
Run with -? for options

-------------------------------------------------------------------------------
MyTestCase
-------------------------------------------------------------------------------
C:/Users/z19100018/CLionProjects/ninja_approvaltests/tests.cpp:5
...............................................................................

C:/Users/z19100018/CLionProjects/ninja_approvaltests/tests.cpp:5: FAILED:
due to unexpected exception with message:
  Unable to create directory:

===============================================================================
test cases: 1 | 1 failed
assertions: 1 | 1 failed


Process finished with exit code 1

If I uncomment the line with useApprovalsSubdirectory(), it works:

__FILE__ == C:/Users/z19100018/CLionProjects/ninja_approvaltests/tests.cpp
===============================================================================
All tests passed (1 assertion in 1 test case)


Process finished with exit code 0

Here, we can see that the path provided by Ninja in __FILE__ is absolute. The issues linked above say that the problem is supposed to come from relative paths.

Any thoughts on this?

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant