ArduPilot / ardupilot

ArduPlane, ArduCopter, ArduRover, ArduSub source
http://ardupilot.org/
GNU General Public License v3.0
11.06k stars 17.63k forks source link

AP_DDS - no tests #27925

Open Ryanf55 opened 3 months ago

Ryanf55 commented 3 months ago

Bug report

Issue details

Something appears to have broken in the colcon tests. None of them are executed.

Please describe the problem

Version master, 4.5.

Platform [ ] All [ ] AntennaTracker [ ] Copter [ ] Plane [ ] Rover [ ] Submarine

Logs

$ colcon build --packages-up-to ardupilot_dds_tests
Starting >>> ardupilot_msgs
Finished <<< ardupilot_msgs [0.36s]                     
Starting >>> ardupilot_sitl
Finished <<< ardupilot_sitl [5.18s]                    
Starting >>> ardupilot_dds_tests
/home/ryan/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py:268: UserWarning: Unknown distribution option: 'tests_require'
  warnings.warn(msg)
--- stderr: ardupilot_dds_tests                   
/home/ryan/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py:268: UserWarning: Unknown distribution option: 'tests_require'
  warnings.warn(msg)
---
Finished <<< ardupilot_dds_tests [1.09s]

Summary: 3 packages finished [7.10s]
  1 package had stderr output: ardupilot_dds_tests
$ . install/setup.bash
$ colcon test --packages-select ardupilot_dds_tests --event-handlers=console_cohesion+
Starting >>> ardupilot_dds_tests
/home/ryan/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py:268: UserWarning: Unknown distribution option: 'tests_require'
  warnings.warn(msg)
--- output: ardupilot_dds_tests                   

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
---
--- stderr: ardupilot_dds_tests

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
---
Finished <<< ardupilot_dds_tests [0.33s]

Summary: 1 package finished [0.79s]
  1 package had stderr output: ardupilot_dds_tests
$ colcon test-result --all --verbose
Summary: 0 tests, 0 errors, 0 failures, 0 skipped
Ryanf55 commented 2 months ago

ArduPilot is hosing the test environment.

Here, we install the apt version of setuptools https://github.com/ArduPilot/ardupilot/blob/96fe3da083ccdf387077e4d4582be541a1cb8f09/Tools/environment_install/install-prereqs-ubuntu.sh#L186 Then, this PR hoses the system install of setuptools with an ABI breaking version, and does it on the host OS. https://github.com/ArduPilot/ardupilot/pull/27689

This ticket still stands: https://github.com/ArduPilot/ardupilot/issues/26137

We need to be using a virtual environment if we are overwriting system installs with ABI breaking changes. It's not fair to developers who work outside of ArduPilot to overwrite the system packages with local ABI breaking versions .