diff --git a/.bcr/presubmit.yml b/.bcr/presubmit.yml index 8f1b365..15c1676 100644 --- a/.bcr/presubmit.yml +++ b/.bcr/presubmit.yml @@ -8,9 +8,8 @@ bcr_test_module: platform: ${{ platform }} build_targets: - '@maliput_malidrive//:maliput_malidrive' - # TODO(stonier): no tests yet... - # run_tests: - # name: "Run test module" - # platform: ${{ platform }} - # test_targets: - # - "//..." + run_tests: + name: "Run test module" + platform: ${{ platform }} + test_targets: + - "//..." diff --git a/BUILD.bazel b/BUILD.bazel index b850b51..6743dba 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -188,6 +188,22 @@ cc_library( ], ) +############################################################################### +# For testing +############################################################################### + +cc_library( + name = "private_test_headers", + hdrs = glob(["test/*.h"]), + copts = COPTS, + strip_include_prefix = "test", + visibility = ["//test:__subpackages__"], + deps = [ + "@googletest//:gtest", + "@maliput//:test_utilities", + ], +) + ############################################################################### # Binaries ############################################################################### diff --git a/bazel/testing.bzl b/bazel/testing.bzl index 4900cbc..9115b53 100644 --- a/bazel/testing.bzl +++ b/bazel/testing.bzl @@ -22,7 +22,7 @@ def camel_to_snake(camel_case_name): # The size = medium hammer is overkill for some tests too (bazel # test grumbles about this). If re-inventing, make sure to re-invent # the CMake test too. -# +# def generate_integration_tests(sources, xodr_files): for xodr_file in xodr_files: camel_case_name = xodr_file[:-len(".xodr")] @@ -47,33 +47,31 @@ def generate_integration_tests(sources, xodr_files): ], ) -# TODO(stonier): Reneable once a solution to #585 (see below) is found. -# -# # Not very bazel style (prefer individual test definitions) -# def generate_unit_tests(sources): -# for source in sources: -# name = source[:-len(".cc")] -# native.cc_test( -# name = name, -# srcs = [source], -# size = "small", -# copts = COPTS, -# linkopts = ["-lpthread"], -# defines = [ -# "DEF_MALIDRIVE_RESOURCES=\\\"resources/\\\"" -# ], -# data = ["//resources:all"], # sledge hammer -# deps = [ -# "//:maliput_malidrive", -# "//:utility", -# "@googletest//:gtest", -# "@maliput//:api", -# "@maliput//:base", -# "@maliput//:common", -# "@maliput//:geometry_base", -# "@maliput//:math", -# # TODO(stonier): Can't ship test_utilities without infecting maliput with gtest -# # https://github.com/maliput/maliput/issues/585 -# "@maliput//:test_utilities", -# ], -# ) +# Not very bazel style (prefer individual test definitions) +def generate_unit_tests(sources): + for source in sources: + name = source[:-len(".cc")] + native.cc_test( + name = name, + srcs = [source], + size = "small", + copts = COPTS, + linkopts = ["-lpthread"], + defines = [ + "DEF_MALIDRIVE_RESOURCES=\\\"resources/\\\"" + ], + data = ["//resources:all"], # sledge hammer + deps = [ + "//:maliput_malidrive", + "//:utility", + "@googletest//:gtest_main", + "@maliput//:api", + "@maliput//:base", + "@maliput//:common", + "@maliput//:geometry_base", + "@maliput//:math", + "@maliput//:plugin", + "@maliput//:test_utilities", + "//:private_test_headers", + ], + ) diff --git a/test/regression/base/BUILD.bazel b/test/regression/base/BUILD.bazel index 951fc1f..3d94c58 100644 --- a/test/regression/base/BUILD.bazel +++ b/test/regression/base/BUILD.bazel @@ -1,22 +1,14 @@ -############################################################################### -# TODO(stonier): -# Reenable once a solution to #585 [1] is found. See also comments in -# generate_unit_tests. -# -# [1] https://github.com/maliput/maliput/issues/585 -############################################################################### - ############################################################################### # Loaders ############################################################################### -# load("//:bazel/variables.bzl", "COPTS") -# load("//:bazel/testing.bzl", "generate_unit_tests") +load("//:bazel/variables.bzl", "COPTS") +load("//:bazel/testing.bzl", "generate_unit_tests") ############################################################################### # Test ############################################################################### -# generate_unit_tests( -# sources = glob(["*.cc"]), -# ) +generate_unit_tests( + sources = glob(["*.cc"]) +) diff --git a/test/regression/builder/BUILD.bazel b/test/regression/builder/BUILD.bazel new file mode 100644 index 0000000..3d94c58 --- /dev/null +++ b/test/regression/builder/BUILD.bazel @@ -0,0 +1,14 @@ +############################################################################### +# Loaders +############################################################################### + +load("//:bazel/variables.bzl", "COPTS") +load("//:bazel/testing.bzl", "generate_unit_tests") + +############################################################################### +# Test +############################################################################### + +generate_unit_tests( + sources = glob(["*.cc"]) +) diff --git a/test/regression/common/BUILD.bazel b/test/regression/common/BUILD.bazel new file mode 100644 index 0000000..3d94c58 --- /dev/null +++ b/test/regression/common/BUILD.bazel @@ -0,0 +1,14 @@ +############################################################################### +# Loaders +############################################################################### + +load("//:bazel/variables.bzl", "COPTS") +load("//:bazel/testing.bzl", "generate_unit_tests") + +############################################################################### +# Test +############################################################################### + +generate_unit_tests( + sources = glob(["*.cc"]) +) diff --git a/test/regression/loader/BUILD.bazel b/test/regression/loader/BUILD.bazel new file mode 100644 index 0000000..3d94c58 --- /dev/null +++ b/test/regression/loader/BUILD.bazel @@ -0,0 +1,14 @@ +############################################################################### +# Loaders +############################################################################### + +load("//:bazel/variables.bzl", "COPTS") +load("//:bazel/testing.bzl", "generate_unit_tests") + +############################################################################### +# Test +############################################################################### + +generate_unit_tests( + sources = glob(["*.cc"]) +) diff --git a/test/regression/plugin/BUILD.bazel b/test/regression/plugin/BUILD.bazel new file mode 100644 index 0000000..8a632e5 --- /dev/null +++ b/test/regression/plugin/BUILD.bazel @@ -0,0 +1,16 @@ +############################################################################### +# Loaders +############################################################################### + +load("//:bazel/variables.bzl", "COPTS") +load("//:bazel/testing.bzl", "generate_unit_tests") + +############################################################################### +# Test +############################################################################### + +# TODO(francocipollone): The test uses a compile definition (DEF_MALIDRIVE_RESOURCES) +# that is not being passed in the bazel world. +# generate_unit_tests( +# sources = glob(["*.cc"]) +# ) diff --git a/test/regression/road_curve/BUILD.bazel b/test/regression/road_curve/BUILD.bazel new file mode 100644 index 0000000..3d94c58 --- /dev/null +++ b/test/regression/road_curve/BUILD.bazel @@ -0,0 +1,14 @@ +############################################################################### +# Loaders +############################################################################### + +load("//:bazel/variables.bzl", "COPTS") +load("//:bazel/testing.bzl", "generate_unit_tests") + +############################################################################### +# Test +############################################################################### + +generate_unit_tests( + sources = glob(["*.cc"]) +) diff --git a/test/regression/road_curve/road_curve_offset_test.cc b/test/regression/road_curve/road_curve_offset_test.cc index 7964806..99b1c48 100644 --- a/test/regression/road_curve/road_curve_offset_test.cc +++ b/test/regression/road_curve/road_curve_offset_test.cc @@ -135,7 +135,7 @@ TEST_F(FlatLineRoadCurveTest, CalcSFromP) { RoadCurveOffset{road_curve_.get(), lane_offset_right.get(), kP0, kP1}}; for (const auto& dut : duts) { - for (int i = 0; i < kPs.size(); ++i) { + for (std::size_t i = 0; i < kPs.size(); ++i) { EXPECT_NEAR(kSs[i], dut.CalcSFromP(kPs[i]), kLinearTolerance); } } @@ -147,7 +147,7 @@ TEST_F(FlatLineRoadCurveTest, PFromS) { RoadCurveOffset{road_curve_.get(), lane_offset_right.get(), kP0, kP1}}; for (const auto& dut : duts) { auto p_from_s = dut.PFromS(); - for (int i = 0; i < kSs.size(); ++i) { + for (std::size_t i = 0; i < kSs.size(); ++i) { EXPECT_NEAR(kPs[i], p_from_s(kSs[i]), kLinearTolerance); } } @@ -160,7 +160,7 @@ TEST_F(FlatLineRoadCurveTest, SFromP) { for (const auto& dut : duts) { auto s_from_p = dut.SFromP(); - for (int i = 0; i < kPs.size(); ++i) { + for (std::size_t i = 0; i < kPs.size(); ++i) { EXPECT_NEAR(kSs[i], s_from_p(kPs[i]), kLinearTolerance); } } @@ -185,7 +185,7 @@ TEST_F(FlatLineRoadCurveSubRangeTest, CalcSFromP) { RoadCurveOffset{road_curve_.get(), lane_offset_left.get(), kP0Sub, kP1Sub}, RoadCurveOffset{road_curve_.get(), lane_offset_right.get(), kP0Sub, kP1Sub}}; for (const auto& dut : duts) { - for (int i = 0; i < kPsSub.size(); ++i) { + for (std::size_t i = 0; i < kPsSub.size(); ++i) { EXPECT_NEAR(kSsSub[i], dut.CalcSFromP(kPsSub[i]), kLinearTolerance); } } @@ -198,7 +198,7 @@ TEST_F(FlatLineRoadCurveSubRangeTest, SFromP) { RoadCurveOffset{road_curve_.get(), lane_offset_right.get(), kP0Sub, kP1Sub}}; for (const auto& dut : duts) { auto s_from_p = dut.SFromP(); - for (int i = 0; i < kPsSub.size(); ++i) { + for (std::size_t i = 0; i < kPsSub.size(); ++i) { EXPECT_NEAR(kSsSub[i], s_from_p(kPsSub[i]), kLinearTolerance); } } @@ -211,7 +211,7 @@ TEST_F(FlatLineRoadCurveSubRangeTest, PFromS) { RoadCurveOffset{road_curve_.get(), lane_offset_right.get(), kP0Sub, kP1Sub}}; for (const auto& dut : duts) { auto p_from_s = dut.PFromS(); - for (int i = 0; i < kSsSub.size(); ++i) { + for (std::size_t i = 0; i < kSsSub.size(); ++i) { EXPECT_NEAR(kPsSub[i], p_from_s(kSsSub[i]), kLinearTolerance); } } @@ -283,7 +283,7 @@ TEST_F(FlatArcRoadCurveTest, CalcSFromP) { RoadCurveOffset{road_curve_.get(), lane_offset_left.get(), kP0, kP1}, RoadCurveOffset{road_curve_.get(), lane_offset_right.get(), kP0, kP1}}; for (int j = 0; j < static_cast(duts.size()); ++j) { - for (int i = 0; i < kPs.size(); ++i) { + for (std::size_t i = 0; i < kPs.size(); ++i) { EXPECT_NEAR(kSs[j][i], duts[j].CalcSFromP(kPs[i]), kLinearTolerance); } } @@ -296,7 +296,7 @@ TEST_F(FlatArcRoadCurveTest, PFromS) { for (int j = 0; j < static_cast(duts.size()); ++j) { auto p_from_s = duts[j].PFromS(); - for (int i = 0; i < kSs.size(); ++i) { + for (std::size_t i = 0; i < kSs.size(); ++i) { EXPECT_NEAR(kPs[i], p_from_s(kSs[j][i]), kLinearTolerance); } } @@ -363,7 +363,7 @@ TEST_F(FlatArcRoadCurveSubRangeTest, PFromS) { for (int j = 0; j < static_cast(duts.size()); ++j) { auto p_from_s = duts[j].PFromS(); - for (int i = 0; i < kSsSub.size(); ++i) { + for (std::size_t i = 0; i < kSsSub.size(); ++i) { EXPECT_NEAR(kPsSub[i], p_from_s(kSsSub[j][i]), kLinearTolerance); } } @@ -377,7 +377,7 @@ TEST_F(FlatArcRoadCurveSubRangeTest, SFromP) { for (int j = 0; j < static_cast(duts.size()); ++j) { auto s_from_p = duts[j].SFromP(); - for (int i = 0; i < kPsSub.size(); ++i) { + for (std::size_t i = 0; i < kPsSub.size(); ++i) { EXPECT_NEAR(kSsSub[j][i], s_from_p(kPsSub[i]), kLinearTolerance); } } diff --git a/test/regression/xodr/BUILD.bazel b/test/regression/xodr/BUILD.bazel new file mode 100644 index 0000000..3d94c58 --- /dev/null +++ b/test/regression/xodr/BUILD.bazel @@ -0,0 +1,14 @@ +############################################################################### +# Loaders +############################################################################### + +load("//:bazel/variables.bzl", "COPTS") +load("//:bazel/testing.bzl", "generate_unit_tests") + +############################################################################### +# Test +############################################################################### + +generate_unit_tests( + sources = glob(["*.cc"]) +)