Skip to content

Commit

Permalink
added CLI --sim option to test_flights_sim and made two different sys…
Browse files Browse the repository at this point in the history
…temtests workflows as suggested by Wolfram
  • Loading branch information
julienthevenoz committed Jan 10, 2024
1 parent 086e3fe commit bb92b9b
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 2 deletions.
58 changes: 58 additions & 0 deletions .github/workflows/systemtests_real.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: System Tests Real


#run the physical tests only manually or on push from feature-systemtests-downloadUSD
on:
push:
branches: [ "feature-systemtests-downloadUSD" ]
# manual trigger
workflow_dispatch:

jobs:
build:
runs-on: self-hosted
steps:
- name: Create workspace
id: step1
run: |
cd ros2_ws/src || mkdir -p ros2_ws/src
- name: Checkout motion capture package
id: step2
run: |
cd ros2_ws/src
ls motion_capture_tracking || git clone --branch ros2 --recursive https://github.com/IMRCLab/motion_capture_tracking.git
- name: Checkout Crazyswarm2
id: step3
uses: actions/checkout@v4
with:
path: ros2_ws/src/crazyswarm2
submodules: 'recursive'
- name: Build workspace
id: step4
run: |
source /opt/ros/humble/setup.bash
cd ros2_ws
colcon build --symlink-install
- name: Flight test
id: step5
run: |
cd ros2_ws
source /opt/ros/humble/setup.bash
. install/local_setup.bash
export ROS_LOCALHOST_ONLY=1
python3 src/crazyswarm2/systemtests/test_flights.py
- name: Upload files
id: step6
if: '!cancelled()'
uses: actions/upload-artifact@v3
with:
name: pdf_rosbags_and_logs
path: |
ros2_ws/results
Empty file.
12 changes: 10 additions & 2 deletions systemtests/test_flights_sim.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def clean_process(process:Popen) -> int :


class TestFlights(unittest.TestCase):
SIM = True
SIM = False

def __init__(self, methodName: str = "runTest") -> None:
super().__init__(methodName)
Expand Down Expand Up @@ -171,4 +171,12 @@ def test_multi_trajectory(self):


if __name__ == '__main__':
unittest.main()
from argparse import ArgumentParser, Namespace
import sys
parser = ArgumentParser(description="Runs (real or simulated) flight tests with pytest framework")
parser.add_argument("--sim", action="store_true", help="Runs the test from the simulation backend")
args, other_args = parser.parse_known_args()
if args.sim :
TestFlights.SIM = True

unittest.main(argv=[sys.argv[0]] + other_args)

0 comments on commit bb92b9b

Please sign in to comment.