Menu

#104 Unit test link error

3.0.0
closed-accepted
nobody
None
5
2022-01-19
2022-01-19
No

The Problem

$ cmake -D CMAKE_C_COMPILER=gcc-11 -D CMAKE_CXX_COMPILER=g++-11 -D CMAKE_CXX_FLAGS=-std=c++11 -D BUILD_TESTS=ON -Wno-dev ../KDIS
$ make
.
.
.
[ 99%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_EncodeDecode7.cpp.o
[ 99%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_Factory.cpp.o
[ 99%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_FactoryDecoder5.cpp.o
[100%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_ProtocolFamily5.cpp.o
[100%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_ProtocolFamily6.cpp.o
[100%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_ProtocolFamily7.cpp.o
make[2]: *** No rule to make target 'Tests/gtest/src/googletest-build/googletest/libgtest.a', needed by 'Tests/KDIS_tests'. Stop.
make[1]: *** [CMakeFiles/Makefile2:778: Tests/CMakeFiles/KDIS_tests.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Recommend Fix

$ find . -name libgtest.a
./Tests/gtest/src/googletest-build/lib/libgtest.a

.
.
.
$ git diff
diff --git a/KDIS/Tests/gtest/CMakeLists.txt b/KDIS/Tests/gtest/CMakeLists.txt
index e592a5f..0862a51 100644
--- a/KDIS/Tests/gtest/CMakeLists.txt
+++ b/KDIS/Tests/gtest/CMakeLists.txt
@@ -22,4 +22,4 @@ set(GTEST_INCLUDE_DIRS ${source_dir}/googletest/include PARENT_SCOPE)

# Specify MainTest's link libraries
ExternalProject_Get_Property(googletest binary_dir)
-set(GTEST_LIBS_DIR ${binary_dir}/googletest PARENT_SCOPE)
+set(GTEST_LIBS_DIR ${binary_dir}/lib PARENT_SCOPE)

Re-build

.
.
.
$ make
[ 99%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_EncodeDecode7.cpp.o
[ 99%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_Factory.cpp.o
[ 99%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_FactoryDecoder5.cpp.o
[100%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_ProtocolFamily5.cpp.o
[100%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_ProtocolFamily6.cpp.o
[100%] Building CXX object Tests/CMakeFiles/KDIS_tests.dir/UnitTests/PDU_ProtocolFamily7.cpp.o
[100%] Linking CXX executable KDIS_tests
[100%] Built target KDIS_tests

Discussion

  • Gerard Lanois

    Gerard Lanois - 2022-01-19

    Test

    $ ./Tests/KDIS_tests
    .
    .
    .
    [ RUN ] PDU_ProtocolFamily6.Point_Object_State_PDU
    [ OK ] PDU_ProtocolFamily6.Point_Object_State_PDU (0 ms)
    [----------] 25 tests from PDU_ProtocolFamily6 (1 ms total)

    [----------] 3 tests from PDU_ProtocolFamily7
    [ RUN ] PDU_ProtocolFamily7.Attribute_PDU
    [ OK ] PDU_ProtocolFamily7.Attribute_PDU (0 ms)
    [ RUN ] PDU_ProtocolFamily7.IO_Action_PDU
    [ OK ] PDU_ProtocolFamily7.IO_Action_PDU (0 ms)
    [ RUN ] PDU_ProtocolFamily7.IO_Report_PDU
    [ OK ] PDU_ProtocolFamily7.IO_Report_PDU (0 ms)
    [----------] 3 tests from PDU_ProtocolFamily7 (0 ms total)

    [----------] Global test environment tear-down
    [==========] 322 tests from 47 test suites ran. (10 ms total)
    [ PASSED ] 322 tests.

     
  • Gerard Lanois

    Gerard Lanois - 2022-01-19
     
  • Karl  Jones

    Karl Jones - 2022-01-19

    Merged sourceforge.net/p/kdis/code/merge-requests/53/

     
  • Karl  Jones

    Karl Jones - 2022-01-19
    • status: open --> closed-accepted
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB