Skip to content

aarch64: enable coverage integration test #2090

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 27, 2020

Conversation

dianpopa
Copy link
Contributor

@dianpopa dianpopa commented Aug 20, 2020

Reason for This PR

Fixes #1579.

Description of Changes

Read commits one by one.

  • This functionality can be added in rust-vmm.

License Acceptance

By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache 2.0 license.

PR Checklist

[Author TODO: Meet these criteria.]
[Reviewer TODO: Verify that these criteria are met. Request changes if not]

  • All commits in this PR are signed (git commit -s).
  • The reason for this PR is clearly provided (issue no. or explanation).
  • The description of changes is clear and encompassing.
  • Any required documentation changes (code and docs) are included in this PR.
  • Any newly added unsafe code is properly documented.
  • Any API changes are reflected in firecracker/swagger.yaml.
  • Any user-facing changes are mentioned in CHANGELOG.md.
  • All added/changed functionality is tested.

@dianpopa dianpopa added Feature: CPU Support: ARM Status: Blocked Indicates that an issue or pull request cannot currently be worked on labels Aug 20, 2020
@dianpopa dianpopa added this to the Feature parity on aarch64 milestone Aug 20, 2020
@dianpopa dianpopa self-assigned this Aug 20, 2020
@dianpopa dianpopa requested a review from a team August 20, 2020 11:03
@dianpopa dianpopa added Status: Awaiting review Indicates that a pull request is ready to be reviewed and removed Status: Blocked Indicates that an issue or pull request cannot currently be worked on labels Aug 20, 2020
acatangiu
acatangiu previously approved these changes Aug 24, 2020
Copy link
Contributor

@acatangiu acatangiu left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@dianpopa
Copy link
Contributor Author

dianpopa commented Oct 7, 2020

Due to observed variances for coverage on aarch64, we decided not to merge this functionaltiy. Howver, I did some digging and ran the coverage test for aarch64 20 times in a row, and the reported coverage was exactly the same each time. I posted the output in the file attached.

ubuntu@dpopa-arm:/repos/firecracker/tools/devctr$ ../devtool shell -p
[Firecracker devtool] Dropping to a privileged shell prompt ...
[Firecracker devtool] Note: /repos/firecracker is bind-mounted under /firecracker
[Firecracker devtool] You are running as root; any files that get created under /firecracker will be owned by root.
root@fe841bced6db:/firecracker# cd tests/
root@fe841bced6db:/firecracker/tests# for i in {1..20}; do
> pytest integration_tests/build/test_coverage.py::test_coverage                      
> done
================================================================== test session starts ==================================================================
platform linux -- Python 3.6.9, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: ../build/pytest_cache
rootdir: /firecracker/tests, configfile: pytest.ini
plugins: timeout-1.4.2
timeout: 300.0s
timeout method: signal
timeout func_only: False
collected 1 item                                                                                                                                        

[ unsafe | 1 tests | 1 worker(s) ]
  FAILED    integration_tests/build/test_coverage.py::test_coverage

======================================================================= FAILURES ========================================================================
_____________________________________________________________________ test_coverage _____________________________________________________________________
integration_tests/build/test_coverage.py:152: in test_coverage
    assert coverage - coverage_target_pct <= COVERAGE_MAX_DELTA,\
E   AssertionError: Current code coverage (82.14%) is above the target (81.95%).
E     Please update the value of COVERAGE_DICT.
E   assert (82.13695612263632 - 81.95) <= 0.05
----------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------
Number of executable lines: 10894
Number of covered lines: 8948
Thus, coverage is: 82.14%
================================================================ short test summary info ================================================================
FAILED integration_tests/build/test_coverage.py::test_coverage - AssertionError: Current code coverage (82.14%) is above the target (81.95%).
============================================================= 1 failed in 93.36s (0:01:33) ==============================================================
================================================================== test session starts ==================================================================
platform linux -- Python 3.6.9, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: ../build/pytest_cache
rootdir: /firecracker/tests, configfile: pytest.ini
plugins: timeout-1.4.2
timeout: 300.0s
timeout method: signal
timeout func_only: False
collected 1 item                                                                                                                                        

[ unsafe | 1 tests | 1 worker(s) ]
  FAILED    integration_tests/build/test_coverage.py::test_coverage

======================================================================= FAILURES ========================================================================
_____________________________________________________________________ test_coverage _____________________________________________________________________
integration_tests/build/test_coverage.py:152: in test_coverage
    assert coverage - coverage_target_pct <= COVERAGE_MAX_DELTA,\
E   AssertionError: Current code coverage (82.14%) is above the target (81.95%).
E     Please update the value of COVERAGE_DICT.
E   assert (82.13695612263632 - 81.95) <= 0.05
----------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------
Number of executable lines: 10894
Number of covered lines: 8948
Thus, coverage is: 82.14%
================================================================ short test summary info ================================================================
FAILED integration_tests/build/test_coverage.py::test_coverage - AssertionError: Current code coverage (82.14%) is above the target (81.95%).
============================================================= 1 failed in 94.55s (0:01:34) ==============================================================
================================================================== test session starts ==================================================================
platform linux -- Python 3.6.9, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: ../build/pytest_cache
rootdir: /firecracker/tests, configfile: pytest.ini
plugins: timeout-1.4.2
timeout: 300.0s
timeout method: signal
timeout func_only: False
collected 1 item                                                                                                                                        

[ unsafe | 1 tests | 1 worker(s) ]
  FAILED    integration_tests/build/test_coverage.py::test_coverage

======================================================================= FAILURES ========================================================================
_____________________________________________________________________ test_coverage _____________________________________________________________________
integration_tests/build/test_coverage.py:152: in test_coverage
    assert coverage - coverage_target_pct <= COVERAGE_MAX_DELTA,\
E   AssertionError: Current code coverage (82.14%) is above the target (81.95%).
E     Please update the value of COVERAGE_DICT.
E   assert (82.13695612263632 - 81.95) <= 0.05
----------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------
Number of executable lines: 10894
Number of covered lines: 8948
Thus, coverage is: 82.14%
================================================================ short test summary info ================================================================
FAILED integration_tests/build/test_coverage.py::test_coverage - AssertionError: Current code coverage (82.14%) is above the target (81.95%).
============================================================= 1 failed in 94.04s (0:01:34) ==============================================================
================================================================== test session starts ==================================================================
platform linux -- Python 3.6.9, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: ../build/pytest_cache
rootdir: /firecracker/tests, configfile: pytest.ini
plugins: timeout-1.4.2
timeout: 300.0s
timeout method: signal
timeout func_only: False
collected 1 item                                                                                                                                        

[ unsafe | 1 tests | 1 worker(s) ]
  FAILED    integration_tests/build/test_coverage.py::test_coverage

======================================================================= FAILURES ========================================================================
_____________________________________________________________________ test_coverage _____________________________________________________________________
integration_tests/build/test_coverage.py:152: in test_coverage
    assert coverage - coverage_target_pct <= COVERAGE_MAX_DELTA,\
E   AssertionError: Current code coverage (82.14%) is above the target (81.95%).
E     Please update the value of COVERAGE_DICT.
E   assert (82.13695612263632 - 81.95) <= 0.05
----------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------
Number of executable lines: 10894
Number of covered lines: 8948
Thus, coverage is: 82.14%
================================================================ short test summary info ================================================================
FAILED integration_tests/build/test_coverage.py::test_coverage - AssertionError: Current code coverage (82.14%) is above the target (81.95%).
============================================================= 1 failed in 93.50s (0:01:33) ==============================================================
================================================================== test session starts ==================================================================
platform linux -- Python 3.6.9, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: ../build/pytest_cache
rootdir: /firecracker/tests, configfile: pytest.ini
plugins: timeout-1.4.2
timeout: 300.0s
timeout method: signal
timeout func_only: False
collected 1 item                                                                                                                                        

[ unsafe | 1 tests | 1 worker(s) ]

  FAILED    integration_tests/build/test_coverage.py::test_coverage

======================================================================= FAILURES ========================================================================
_____________________________________________________________________ test_coverage _____________________________________________________________________
integration_tests/build/test_coverage.py:152: in test_coverage
    assert coverage - coverage_target_pct <= COVERAGE_MAX_DELTA,\
E   AssertionError: Current code coverage (82.14%) is above the target (81.95%).
E     Please update the value of COVERAGE_DICT.
E   assert (82.13695612263632 - 81.95) <= 0.05
----------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------
Number of executable lines: 10894
Number of covered lines: 8948
Thus, coverage is: 82.14%
================================================================ short test summary info ================================================================
FAILED integration_tests/build/test_coverage.py::test_coverage - AssertionError: Current code coverage (82.14%) is above the target (81.95%).
============================================================= 1 failed in 93.47s (0:01:33) ==============================================================
================================================================== test session starts ==================================================================
platform linux -- Python 3.6.9, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: ../build/pytest_cache
rootdir: /firecracker/tests, configfile: pytest.ini
plugins: timeout-1.4.2
timeout: 300.0s
timeout method: signal
timeout func_only: False
collected 1 item                                                                                                                                        

[ unsafe | 1 tests | 1 worker(s) ]
  FAILED    integration_tests/build/test_coverage.py::test_coverage

======================================================================= FAILURES ========================================================================
_____________________________________________________________________ test_coverage _____________________________________________________________________
integration_tests/build/test_coverage.py:152: in test_coverage
    assert coverage - coverage_target_pct <= COVERAGE_MAX_DELTA,\
E   AssertionError: Current code coverage (82.14%) is above the target (81.95%).
E     Please update the value of COVERAGE_DICT.
E   assert (82.13695612263632 - 81.95) <= 0.05
----------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------
Number of executable lines: 10894
Number of covered lines: 8948
Thus, coverage is: 82.14%
================================================================ short test summary info ================================================================
FAILED integration_tests/build/test_coverage.py::test_coverage - AssertionError: Current code coverage (82.14%) is above the target (81.95%).
============================================================= 1 failed in 93.93s (0:01:33) ==============================================================
================================================================== test session starts ==================================================================
platform linux -- Python 3.6.9, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: ../build/pytest_cache
rootdir: /firecracker/tests, configfile: pytest.ini
plugins: timeout-1.4.2
timeout: 300.0s
timeout method: signal
timeout func_only: False
collected 1 item                                                                                                                                        

[ unsafe | 1 tests | 1 worker(s) ]



  FAILED    integration_tests/build/test_coverage.py::test_coverage

======================================================================================================= FAILURES ========================================================================================================
_____________________________________________________________________________________________________ test_coverage _____________________________________________________________________________________________________
integration_tests/build/test_coverage.py:152: in test_coverage
    assert coverage - coverage_target_pct <= COVERAGE_MAX_DELTA,\
E   AssertionError: Current code coverage (82.14%) is above the target (81.95%).
E     Please update the value of COVERAGE_DICT.
E   assert (82.13695612263632 - 81.95) <= 0.05
------------------------------------------------------------------------------------------------- Captured stdout call --------------------------------------------------------------------------------------------------
Number of executable lines: 10894
Number of covered lines: 8948
Thus, coverage is: 82.14%
================================================================================================ short test summary info ================================================================================================
FAILED integration_tests/build/test_coverage.py::test_coverage - AssertionError: Current code coverage (82.14%) is above the target (81.95%).
============================================================================================= 1 failed in 93.97s (0:01:33) ==============================================================================================
================================================================================================== test session starts ==================================================================================================
platform linux -- Python 3.6.9, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: ../build/pytest_cache
rootdir: /firecracker/tests, configfile: pytest.ini
plugins: timeout-1.4.2
timeout: 300.0s
timeout method: signal
timeout func_only: False
collected 1 item                                                                                                                                                                                                        

[ unsafe | 1 tests | 1 worker(s) ]
  FAILED    integration_tests/build/test_coverage.py::test_coverage

======================================================================================================= FAILURES ========================================================================================================
_____________________________________________________________________________________________________ test_coverage _____________________________________________________________________________________________________
integration_tests/build/test_coverage.py:152: in test_coverage
    assert coverage - coverage_target_pct <= COVERAGE_MAX_DELTA,\
E   AssertionError: Current code coverage (82.14%) is above the target (81.95%).
E     Please update the value of COVERAGE_DICT.
E   assert (82.13695612263632 - 81.95) <= 0.05
------------------------------------------------------------------------------------------------- Captured stdout call --------------------------------------------------------------------------------------------------
Number of executable lines: 10894
Number of covered lines: 8948
Thus, coverage is: 82.14%
================================================================================================ short test summary info ================================================================================================
FAILED integration_tests/build/test_coverage.py::test_coverage - AssertionError: Current code coverage (82.14%) is above the target (81.95%).
============================================================================================= 1 failed in 93.58s (0:01:33) =============================================================================================

@firecracker-microvm/compute-capsule please re-review!

@dianpopa dianpopa force-pushed the little_fixes_3 branch 2 times, most recently from dd34ed8 to bfdbde4 Compare October 7, 2020 17:01
@dianpopa dianpopa requested a review from a team October 7, 2020 17:09
For a full description, checkout Github issue 2216.

Signed-off-by: Diana Popa <[email protected]>
Copy link
Contributor

@AlexandruCihodaru AlexandruCihodaru left a comment

Choose a reason for hiding this comment

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

LGTM. 🚀

@acatangiu acatangiu merged commit 323a6c3 into firecracker-microvm:master Oct 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Awaiting review Indicates that a pull request is ready to be reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add kcov integration test for aarch64
3 participants