-
Notifications
You must be signed in to change notification settings - Fork 110
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
Add ARM specific coverage test #9
Comments
I tried kcov on arm and it hangs. The cargo kcov command doesn't work at all.
|
Hi @andreeaflorescu ! we are currently trying to contribute for Arm64 platform, and I think I will try to address this issue. Therefore I am wondering if I can try the integration test locally or must do it on buildkite? Also I think the README in rust-vmm/rust-vmm-ci needs to be updated since the folder The idea is: Referencing #8 , I think we have already had a PR#62 to solve the |
You can try the test locally. You can run the command specified in Adaptive Coverage. For that to work you need to update the path of the coverage test. The new path, relative to the kvm-ioctls directory is
Yap, that's correct.
Once the arm code example is merged, that should be the case. I think we also need to add some more tests to arm though. If we can get the coverage, we can see what paths are not covered. Did you manage to run kcov on arm? Did they recently added support for this? I am asking because when I tried it, kcov would exit with an error. |
absolutely, my bad, tried this on x86_64 instead, it works perfectly.
Thanks so much for your patience and fast reply! I think that kcov problem explains the reason why I can only run the integration test on my x86 machine (the test hangs on arm64)......I will try to further investigate this problem then. Thanks |
Also I remember in my last PR, problem with kcov was addressed by using python3 instead of python. I will try that too. |
Hi @andreeaflorescu ! Me and my colleague @michael2012z found a method to fix the kcov hang issue on arm64, and I think we still need some time before contributing our patch to the kcov master branch due to some legal limitations. However I do tested the code coverage of the
We will keep working on this. |
@MrXinWang wow! That's super nice! If we manage to run kcov on arm as well, we probably need to think about a way to have different coverage files for arm and x86_64. This means we need to update the rust-vmm-ci. Btw, can you share the coverage report? I am curious why does the coverage drop by 18.2%. |
Hi @andreeaflorescu !
Yes of course and I have prepared a patch to update the
Of course but how? You ok with the screenshots (probably too long)? |
Well, I don't think we need to do that for all repositories. We can be inventive here and let
Can you maybe upload the |
@andreeaflorescu please refer to rust-vmm-ci/issue#10 |
Kcov hanging problem on aarch64 was fixed by SimonKagstrom/kcov#316 just now. |
@MrXinWang would you like to update the rust-vmm-ci and add the coverage test for arm? I have a PR that updates the container to the previous version and fixes some tiny problems generated by switching to Rust 1.39. After that one is merged, we can add another update for the arm test. I can also update it directly in the existing PR. Let me know :) |
@andreeaflorescu Yes of course |
@andreeaflorescu I will try to solve the |
Sure. Sounds good. So should I update the rust-vmm-ci in kvm-ioctls to support arm coverage test, or would you want to do that? |
Sorry I didn't notice this is in kvm-ioctl...I will do that then. |
The coverage test is available for aarch64, but at the moment it is ignored because it was flaky. This issue is tracked in: rust-vmm/rust-vmm-ci#18 Once we find a fix for this, the test will automatically be picked up by kvm-ioctls as well, so there is no need to track the problem in both places. Closing this. |
Our CI is checking is the coverage was decreased by looking at the value in tests/coverage. Check
test_coverage
in test_coverage.py.As coverage will be different on arm and x86 because of different ioctls and code paths that can be exercised on each platform, we should also have different coverage files and update the test to use different files for different platforms.
The text was updated successfully, but these errors were encountered: