Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
38f1fdb
waypoint mode handling
jorgenfj Nov 24, 2025
f3fc24b
update tests with new message
jorgenfj Nov 24, 2025
d5bbaca
initial package setup
jorgenfj Nov 25, 2025
4ff98d5
ros interface function declaration
jorgenfj Nov 25, 2025
4c30faa
node setup
jorgenfj Nov 26, 2025
dae4fa3
working prototype
jorgenfj Nov 27, 2025
2b39764
reentrant cb, multithreaded
jorgenfj Nov 27, 2025
676c54f
single threaded impl
jorgenfj Nov 27, 2025
ebb220c
conv threshold action goal
jorgenfj Nov 29, 2025
490e307
default thresholdref conv value
jorgenfj Nov 29, 2025
900f2af
removed switching logic
jorgenfj Nov 29, 2025
7065c6a
removed timer execution
jorgenfj Nov 29, 2025
7209ce3
sim test utils
jorgenfj Nov 29, 2025
87ed751
waypoint_manager_test setup
jorgenfj Nov 29, 2025
1818953
no rendering test arg
jorgenfj Nov 29, 2025
8248353
waypoint tests, timeout error
jorgenfj Nov 29, 2025
3aaf6f9
test refactor
jorgenfj Nov 30, 2025
8784b2e
format
jorgenfj Dec 6, 2025
4d73ecb
rename utils package
jorgenfj Dec 6, 2025
76183bc
test suite and description
jorgenfj Dec 6, 2025
b82db78
first waypoint test
jorgenfj Dec 6, 2025
ba2fdff
removed unused function
jorgenfj Dec 6, 2025
b1089b8
renamed service field to priority. Added simple tests
jorgenfj Dec 7, 2025
692e5ec
waypoint manager readme
jorgenfj Dec 7, 2025
21c1d19
uniform attitude naming convention
jorgenfj Dec 9, 2025
56ce067
fix pr requests
jorgenfj Dec 9, 2025
8527941
update tests with new service fields
jorgenfj Dec 9, 2025
cdc97f7
four corner test
jorgenfj Dec 9, 2025
d1557c8
update util func name
jorgenfj Dec 10, 2025
99def81
update with new action def
jorgenfj Dec 10, 2025
a2f413a
removed failing build type
jorgenfj Dec 10, 2025
5826046
test dependencies
jorgenfj Dec 10, 2025
4169c98
ignore failing yasmin package
jorgenfj Dec 11, 2025
3afe906
remove __init__ files
jorgenfj Dec 11, 2025
63f8854
quat_to_euler in make_pose helper
jorgenfj Dec 15, 2025
80e8ce5
added __init__ file
jorgenfj Dec 17, 2025
c65d013
removed sim deps for test packages
jorgenfj Dec 17, 2025
76f49ee
added action shutdown handling
jorgenfj Dec 18, 2025
2d27647
removed waypoint manager set setup
jorgenfj Dec 18, 2025
c0e1185
added waypoint manager node tests
jorgenfj Dec 18, 2025
3a69dbb
waypoint manager 4 corner sim test
jorgenfj Dec 18, 2025
546f836
added missing launch testing test dependency
jorgenfj Dec 18, 2025
1887321
add sleep for topic discovery
jorgenfj Dec 18, 2025
b26adc7
fix action member field name
jorgenfj Dec 18, 2025
f1f181a
removed unnecessary if here
jorgenfj Dec 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions tests/simulator_tests/waypoint_manager_test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@ if(BUILD_TESTING)
add_launch_test("${path}" RUNNER "${RUNNER}" ${ARGN})
endfunction()

add_ros_isolated_launch_test(test/test_single_waypoint.py)
add_ros_isolated_launch_test(test/test_service_failure.py)
add_ros_isolated_launch_test(test/test_priority_service.py)
add_ros_isolated_launch_test(test/test_single_waypoint.py TIMEOUT 300)
add_ros_isolated_launch_test(test/test_service_failure.py TIMEOUT 300)
add_ros_isolated_launch_test(test/test_priority_service.py TIMEOUT 300)
add_ros_isolated_launch_test(test/test_four_corner.py TIMEOUT 300)
endif()

ament_package()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this be done for the bash script tests as well? I believe the launch test and script test should coexist, but in my opinion they should do different things. As it is now, the launch tests can directly replace the bash script based node tests, and test that the content in each package works by itself. This also gives test coverage, which is good. The integration tests should then be handled (as they are now) by the github actions workflow, where the whole system is started up in the same way as on deployment. One pro here is that the rosbag (in case of a failing run) is easily accessable from the artifact, as well as nice logs. The potential of using scripting to orchestrate integration tests is also far bigger.

IMO this gets the best of both worlds.

The immediate action I would do is to remove the node tests and put the launch-based node tests in their corresponding package (make an issue on this if you dont want to cook it up now).

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from waypoint_manager_test.test_common.base_test import WaypointManagerTestBase
from waypoint_manager_test.test_common.launch_description import (
generate_wm_test_description,
)
from waypoint_manager_test.test_common.utils import make_waypoint


def generate_test_description():
return generate_wm_test_description(bag=False)


class TestFourCorner(WaypointManagerTestBase):
def test_four_corner(self):
wp1 = make_waypoint(2.0, 0.0, 1.0)
wp2 = make_waypoint(2.0, 2.0, 1.0)
wp3 = make_waypoint(0.0, 2.0, 1.0)
wp4 = make_waypoint(0.0, 0.0, 1.0)

_, result = self.send_goal([wp1, wp2, wp3, wp4], persistent=False, conv=0.3)

assert result.success
assert result.pose_valid
self.assert_pose_close(result.final_pose, wp4.pose, tol=0.6)
Loading