Skip to content

[skip-changelog] Reuse already installed platforms to speed up integration tests #1913

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

Merged
merged 4 commits into from
Oct 10, 2022

Conversation

cmaglie
Copy link
Member

@cmaglie cmaglie commented Oct 10, 2022

Please check if the PR fulfills these requirements

See how to contribute

  • The PR has no duplicates (please search among the Pull Requests
    before creating one)
  • The PR follows
    our contributing guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • UPGRADING.md has been updated with a migration guide (for breaking changes)

What kind of change does this PR introduce?

A lot of tests (especially the compile ones) are doing something like:

  • core install arduino:avr (slow)
  • perform the test (very quick)

What is the current behavior?

There are a lot of tests that take most part of the time just installing the same platform again and again.

What is the new behavior?

All the tests that require the same platform installed as a prerequisite are grouped together in a bigger test that runs each of them as a sub-test.
This change requires a bit more attention on the cleanup of the sub-tests since the leftovers of one test can be retrieved in a later test.

Does this PR introduce a breaking change, and is titled accordingly?

No

@cmaglie cmaglie self-assigned this Oct 10, 2022
@cmaglie cmaglie added type: enhancement Proposed improvement priority: high Resolution is a high priority topic: infrastructure Related to project infrastructure criticality: low Of low impact labels Oct 10, 2022
@codecov
Copy link

codecov bot commented Oct 10, 2022

Codecov Report

Base: 36.65% // Head: 36.84% // Increases project coverage by +0.19% 🎉

Coverage data is based on head (c44c00c) compared to base (2480d93).
Patch coverage: 95.45% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1913      +/-   ##
==========================================
+ Coverage   36.65%   36.84%   +0.19%     
==========================================
  Files         231      235       +4     
  Lines       19683    19763      +80     
==========================================
+ Hits         7215     7282      +67     
- Misses      11640    11650      +10     
- Partials      828      831       +3     
Flag Coverage Δ
unit 36.84% <95.45%> (+0.19%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
internal/integrationtest/shared_directory.go 82.60% <82.60%> (ø)
internal/integrationtest/arduino-cli.go 85.91% <100.00%> (+0.25%) ⬆️
internal/integrationtest/environment.go 100.00% <100.00%> (ø)
internal/integrationtest/http_server.go 100.00% <100.00%> (ø)
internal/integrationtest/subtests.go 100.00% <100.00%> (ø)
arduino/monitor/monitor.go 41.05% <0.00%> (-4.74%) ⬇️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@cmaglie cmaglie merged commit 04cbdff into arduino:master Oct 10, 2022
@cmaglie cmaglie deleted the refactor_testsuite branch October 10, 2022 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
criticality: low Of low impact priority: high Resolution is a high priority topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants