Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import apex rostest #209

Merged
merged 52 commits into from
Mar 21, 2019
Merged

Import apex rostest #209

merged 52 commits into from
Mar 21, 2019

Conversation

wjwwood
Copy link
Member

@wjwwood wjwwood commented Mar 20, 2019

See: #208

dejanpan and others added 30 commits January 31, 2019 17:47
 - Arguments work like regular launch arguments: apex_rostest name_of_test.py arg:=foo
 - Added a mesasge pump class that will spin some rclpy nodes on a background thread automatically
Add launch arguments to apex_rostest
  - Rename apex_rostest to apex_launchtest
  - Remove rclpy deps from apex_launchtest
  - Remove launch_ros deps from apex_launchtest
  - Move ros and rclpy deps into a new package, apex_launchtest_ros
  - Add two examples to apex_launchtest that don't require ROS
  - Update tests that used the ROS nodes previously in apex_rostest to use non ROS processes
  - Update license from "all rights reserved" to apache
Change apex_rostest to apex_launchtest
  - Build and test apex_launchtest only
  - Build and test everything (apex_launchtest + apex_launchtest_ros)
  - Coverage report
  - Git rid of extra sh -c (left over from a copy/paste)
  - Build jobs only save 'build' and 'install' artifacts
  - test_all job saves 'build', 'install', 'log', and globs for .coverage files
 - Use symlink-install, otherwise coverage we get through subprocess calls ends up
   in a different place than coverage we get through calling functions directly from
   tests
  - Gave all of these methods the same signature.  They can all take ExecuteProcess actions or strings
  - New util to handle the lookup of process actions in one place
Have IO and Exit Code asserts use the same lookup
* Initial README.md doc and improved example

* Address review comments

* Describe assertions

* Describe arguments

* Address second round of review comments

* Update README.md

One more round of addressing comments
  - Do an isolated build from source to catch issues with missing deps
  - Add a line (commented) that will fail the build if rclpy is a dep for apex_launchtest
  - Set up job to run on a schedule (schedule will need to be added to CI) because it's very long
  - Remove ros2launch dep from apex_launchtest, which should also remove rclpy dep
  - Add test for the '--show-args' argument
  - enable CI check for rclpy dep
Pete Baughman and others added 12 commits March 14, 2019 11:57
  - This bug happened when all of the processes under test crashed out from under
    us and we tried to print extra info to help debug the test failure, but at least
    one of the processes had no output
Apply internal fixes and improvements to public repo
 - use the 'source' option for coverage to pick up files not touched by any test.
   Currently, message_pump and apex_launchtest_ros/__init__.py because we're not running
   any of the ROS examples
Signed-off-by: William Woodall <[email protected]>
@wjwwood wjwwood self-assigned this Mar 20, 2019
@wjwwood wjwwood added the in progress Actively being worked on (Kanban column) label Mar 20, 2019
@wjwwood
Copy link
Member Author

wjwwood commented Mar 20, 2019

CI (full run):

  • Linux Build Status
  • Linux-aarch64 Build Status
  • macOS Build Status
  • Windows Build Status

@wjwwood
Copy link
Member Author

wjwwood commented Mar 20, 2019

I'll be merging this without the DCO checker passing because the commits predate our policy, however, I will ask @dejanpan and @pbaughman to just confirm in a comment, that they would have signed-off for the commits that lack the sign-off in the commit message.

@wjwwood wjwwood added in review Waiting for review (Kanban column) and removed in progress Actively being worked on (Kanban column) labels Mar 20, 2019
@wjwwood wjwwood requested a review from hidmic March 20, 2019 18:55
@@ -0,0 +1,129 @@
# apex_launchtest
Copy link
Contributor

Choose a reason for hiding this comment

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

Just as a reminder for our future selves, we need to find a new home for this repo level README.

@@ -0,0 +1,4 @@
[coverage:run]
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, we don't do coverage checks, do we? Just wondering if it'd make sense to bring that improvement along with the repo.

Copy link
Member Author

Choose a reason for hiding this comment

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

We don't collect coverage stats right now in our CI, but it would be nice to have this at some point. I don't know, however, if putting it in the setup.cfg makes sense, as it should be possible to run it with and without. I don't know what the recommended strategy is.

Copy link
Contributor

Choose a reason for hiding this comment

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

My understanding is that a bunch of different tools may look for a setup.cfg file and should each ignore configuration sections not meant for them. If this is causing a problem with another tool that expects its setup.cfg file to be free of [coverage:run] sections, we could also move it to a file called .coveragerc

See https://coverage.readthedocs.io/en/v4.5.x/config.html for how 'coverage' uses configuration files

@@ -0,0 +1,30 @@
#!/usr/bin/env python
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't be python3 instead?

Copy link
Member Author

Choose a reason for hiding this comment

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

It probably shouldn't have a shebang.

@wjwwood
Copy link
Member Author

wjwwood commented Mar 20, 2019

We should address the comments you raised when merging it with the existing code, i.e. after this import pr.

@pbaughman
Copy link
Contributor

@wjwwood - I confirm that I would've signed off on the commits that lack the sign-off in the commit message

@wjwwood
Copy link
Member Author

wjwwood commented Mar 20, 2019

Thanks @pbaughman for the confirmation.

The CI failures are the know test_cli.test_param_yaml tests.

@dejanpan just waiting for you to 👍 the commits that weren't signed-off at the time.

@dejanpan
Copy link

@wjwwood - I confirm that I would've signed off on the commits that lack the sign-off in the commit message

@wjwwood wjwwood merged commit 86f663d into master Mar 21, 2019
@wjwwood wjwwood deleted the import_apex_rostest branch March 21, 2019 18:56
@wjwwood wjwwood removed the in review Waiting for review (Kanban column) label Mar 21, 2019
# This file contains modified code from the following open source projects
# published under the licenses listed below:

# Software License Agreement (BSD License)
Copy link
Member

@dirk-thomas dirk-thomas Jul 7, 2020

Choose a reason for hiding this comment

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

@wjwwood This doesn't match the license declared in the manifest?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants