Tests don't compile on non-Windows platforms

Open
#50 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
cpp
Domain
testing

Research direction

Start with Source/Shared.Test/Threading/TaskUnitTest.cpp around line 1609 and review the macOS failure from the linked GitHub Actions run. Check pull request #49 for context on the removed tests, then verify that the affected tests compile on non-Windows platforms and that the test build succeeds.

Written by the indexing model from the issue text.

Description

See https://github.com/microsoft/arcana.cpp/pull/49 which removed the tests.

Failure run: https://github.com/microsoft/arcana.cpp/actions/runs/18923881090

Image

Capturing one here in case the build disappears. This is for macOS build.

/Users/runner/work/arcana.cpp/arcana.cpp/Source/Shared.Test/Threading/TaskUnitTest.cpp:1609:22: error: missing 'typename' prior to dependent type name 'expected_callable_traits<void, false, void, void, false, exception_ptr, basic_expected<void, exception_ptr>>::task_input_type'
 1609 |     EXPECT_EQ(typeid(ExpectedT::task_input_type).name(), typeid(ReceivedT::task_input_type).name());
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/runner/work/arcana.cpp/arcana.cpp/Source/Shared.Test/Threading/TaskUnitTest.cpp:1:
** BUILD FAILED **
/Users/runner/work/arcana.cpp/arcana.cpp/Build/_deps/googletest-src/googletest/include/gtest/gtest.h:1869:63: note: expanded from macro 'EXPECT_EQ'

 1869 |   EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)

      |                                                               ^~~~
The following build commands failed:
In file included from /Users/runner/work/arcana.cpp/arcana.cpp/Source/Shared.Test/Threading/TaskUnitTest.cpp:1:
	CompileC /Users/runner/work/arcana.cpp/arcana.cpp/Build/build/arcana_tests.build/Debug/Objects-normal/arm64/TaskUnitTest.o /Users/runner/work/arcana.cpp/arcana.cpp/Source/Shared.Test/Threading/TaskUnitTest.cpp normal arm64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'arcana_tests' from project 'arcana.cpp')
In file included from /Users/runner/work/arcana.cpp/arcana.cpp/Build/_deps/googletest-src/googletest/include/gtest/gtest.h:72:
(1 failure)
/Users/runner/work/arcana.cpp/arcana.cpp/Build/_deps/googletest-src/googletest/include/gtest/gtest_pred_impl.h:144:36: note: expanded from macro 'EXPECT_PRED_FORMAT2'
  144 |   GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_NONFATAL_FAILURE_)
      |                                    ^~
/Users/runner/work/arcana.cpp/arcana.cpp/Build/_deps/googletest-src/googletest/include/gtest/gtest_pred_impl.h:134:39: note: expanded from macro 'GTEST_PRED_FORMAT2_'
  134 |   GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), on_failure)
      |                                       ^~
/Users/runner/work/arcana.cpp/arcana.cpp/Build/_deps/googletest-src/googletest/include/gtest/gtest_pred_impl.h:79:52: note: expanded from macro 'GTEST_ASSERT_'
   79 |   if (const ::testing::AssertionResult gtest_ar = (expression)) \
      |                                                    ^~~~~~~~~~
/Users/runner/work/arcana.cpp/arcana.cpp/Source/Shared.Test/Threading/TaskUnitTest.cpp:1634:5: note: in instantiation of function template specialization 'ValidateCallableTraits<expected_callable_traits<void, false, void, void, false, std::exception_ptr, arcana::basic_expected<void, std::exception_ptr>>, arcana::internal::callable_traits<(lambda at /Users/runner/work/arcana.cpp/arcana.cpp/Source/Shared.Test/Threading/TaskUnitTest.cpp:1620:21), void>>' requested here
 1634 |     ValidateCallableTraits<expected, received>();
      |     ^
Dominant language
C++
Stars
87
Forks
29
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/arcana.cpp

All issues in microsoft/arcana.cpp

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.