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

Updated QD to 1 #16

Merged
merged 13 commits into from Oct 23, 2020
Merged

Updated QD to 1 #16

merged 13 commits into from Oct 23, 2020

Conversation

ahcorde
Copy link
Contributor

@ahcorde ahcorde commented Oct 12, 2020

  • Added benchmark and test
  • Updated QD

Signed-off-by: ahcorde ahcorde@gmail.com

@ahcorde ahcorde added the documentation Improvements or additions to documentation label Oct 12, 2020
@ahcorde ahcorde self-assigned this Oct 12, 2020
CMakeLists.txt Outdated
Comment on lines 49 to 51
list(APPEND extra_cmake_args "-DSPDLOG_BUILD_TESTS=ON")
list(APPEND extra_cmake_args "-DSPDLOG_BUILD_EXAMPLE=OFF")
list(APPEND extra_cmake_args "-DSPDLOG_BUILD_BENCH=ON")
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm don't think we should turn on the tests and benchmarks for the vendored package. First of all, are we going to run them? Second, even if we can run them, should we run them? I guess you are running them down below, so the answer to the first is "yes". But I don't really think we should run them, to be honest.

Choose a reason for hiding this comment

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

I believe the goal of running these tests is to detect regressions that could affect our code. It looks like we're pinning a specific commit, so maybe the risk that something breaks is very low. Is there a chance that something breaks due to factors external to the source code?

What's the concern with enabling tests, added time on our CI?

If one thing, I think the tests on this repository should respect the BUILD_TESTING variable.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We have done this for console_bridge_vendor to reach queality level 1. spdlog is running the test in Travis, but the benchmark tests are not running anywhere.

  • We are using a specific version of the code. Maybe it does not make sense to add any benchmark because the code it't not going to change
  • But at least we have all the benchmark in the same place.

Same logic applies for the API tests.

Copy link
Contributor

Choose a reason for hiding this comment

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

What's the concern with enabling tests, added time on our CI?

That's one concern. Another is that we can't build and run tests for every single thing we depend on. Some things just come from the system libraries, and we assume they are "good" enough.

We have done this for console_bridge_vendor to reach queality level 1.

I didn't realize that. I do think that it is in somewhat of a similar situation in that we shouldn't necessarily build the tests for it. But on the other hand, console_bridge is special in that we also maintain it, just not as a ROS 2 package.

In the end, if you think it adds value to run the tests here, then go ahead and keep it. I just wanted to question why we were doing this, and whether we should. But I agree with @chapulina that it should definitely respect BUILD_TESTING.

Choose a reason for hiding this comment

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

we can't build and run tests for every single thing we depend on

Yeah the hope is that the upstream projects themselves would be tested to a level that we consider satisfying for REP-2004. Unfortunately this isn't the case for spdlog, so one way of satisfying REP-2004 is by testing at least the parts that we care about. Not ideal, but I can't think of an alternative solution... 😕

Signed-off-by: ahcorde <ahcorde@gmail.com>
Copy link

@brawner brawner left a comment

Choose a reason for hiding this comment

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

I think spdlog specific information should be moved to the SPDLOG_QUALITY_DECLARATION. Also, where are the benchmarks?

QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
Signed-off-by: ahcorde <ahcorde@gmail.com>
@ahcorde ahcorde requested a review from brawner October 13, 2020 08:05
QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
SPDLOG_QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
@brawner
Copy link

brawner commented Oct 13, 2020

Is this supposed to be adding benchmarks or just updating QDs?

@ahcorde ahcorde changed the title Updated QD to 1: Added tests and benchmark Updated QD to 1 Oct 14, 2020
Signed-off-by: ahcorde <ahcorde@gmail.com>
@ahcorde
Copy link
Contributor Author

ahcorde commented Oct 14, 2020

Finally, we have decided not to include tests or benchmark. Update the title.

Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

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

One minor thing to fix, then this looks OK to me.

Comment on lines 7 to 9
Though `spdlog` meets many of the criteria stated for software quality.
As `spdlog` itself is not a ROS package, many of these gaps could be reconciled in the vendor package that is used to control `spdlog` distribution within ROS.
Engagement with the upstream development team to define policies for versioning, API/ABI stability and enforcing peer review would lead to higher quality, and could increase the level category for `spdlog` in a subsequent review.
Copy link
Contributor

Choose a reason for hiding this comment

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

If we are justifying this as QL 1, we should just get rid of this whole paragraph.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link

@chapulina chapulina left a comment

Choose a reason for hiding this comment

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

I think we can't bump spdlog to level 1 with the current text on items 4.ii and 4.iii. We need some explanation or some tests.

Finally, we have decided not to include tests or benchmark.

Could you document the rationale for that on the quality declaration? I think I missed something, I had understood we were going to add tests here to complement the ones upstream.

Signed-off-by: ahcorde <ahcorde@gmail.com>
Signed-off-by: ahcorde <ahcorde@gmail.com>
SPDLOG_QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
SPDLOG_QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
SPDLOG_QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
Signed-off-by: ahcorde <ahcorde@gmail.com>
SPDLOG_QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
Signed-off-by: ahcorde <ahcorde@gmail.com>
Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

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

One more suggestion and one more question.

SPDLOG_QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
Signed-off-by: ahcorde <ahcorde@gmail.com>

Co-authored-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: ahcorde <ahcorde@gmail.com>
Signed-off-by: ahcorde <ahcorde@gmail.com>
Signed-off-by: ahcorde <ahcorde@gmail.com>
Signed-off-by: ahcorde <ahcorde@gmail.com>
Copy link

@chapulina chapulina left a comment

Choose a reason for hiding this comment

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

LGTM! I just have a couple of minor comments below.

SPDLOG_QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
SPDLOG_QUALITY_DECLARATION.md Outdated Show resolved Hide resolved
Copy link

@brawner brawner left a comment

Choose a reason for hiding this comment

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

Looks good pending @chapulina's suggestions.

Copy link
Contributor

@clalancette clalancette left a comment

Choose a reason for hiding this comment

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

Looks good with @chapulina 's suggestions fixed.

Signed-off-by: ahcorde <ahcorde@gmail.com>
@ahcorde ahcorde merged commit 4683c39 into master Oct 23, 2020
@delete-merged-branch delete-merged-branch bot deleted the ahcorde/qd/update branch October 23, 2020 08:38
@clalancette clalancette mentioned this pull request Oct 23, 2020
18 tasks
ahcorde added a commit that referenced this pull request Oct 27, 2020
* Updated Qd to 1

Signed-off-by: ahcorde <ahcorde@gmail.com>

* update QD

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Update Qd

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Update section 4.i, 4.ii and 4.iii

Signed-off-by: ahcorde <ahcorde@gmail.com>

* updated QD

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Update QD

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Update qd

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Update SPDLOG_QUALITY_DECLARATION.md

Signed-off-by: ahcorde <ahcorde@gmail.com>

Co-authored-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: ahcorde <ahcorde@gmail.com>

* Included used classes

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Added more details about coverage

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Fixed link

Signed-off-by: ahcorde <ahcorde@gmail.com>

* update QD

Signed-off-by: ahcorde <ahcorde@gmail.com>

Co-authored-by: Chris Lalancette <clalancette@openrobotics.org>
ahcorde added a commit that referenced this pull request Oct 28, 2020
* Updated Qd to 1

Signed-off-by: ahcorde <ahcorde@gmail.com>

* update QD

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Update Qd

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Update section 4.i, 4.ii and 4.iii

Signed-off-by: ahcorde <ahcorde@gmail.com>

* updated QD

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Update QD

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Update qd

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Update SPDLOG_QUALITY_DECLARATION.md

Signed-off-by: ahcorde <ahcorde@gmail.com>

Co-authored-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: ahcorde <ahcorde@gmail.com>

* Included used classes

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Added more details about coverage

Signed-off-by: ahcorde <ahcorde@gmail.com>

* Fixed link

Signed-off-by: ahcorde <ahcorde@gmail.com>

* update QD

Signed-off-by: ahcorde <ahcorde@gmail.com>

Co-authored-by: Chris Lalancette <clalancette@openrobotics.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants