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

Code coverage for cluster tests #55

Open
omus opened this issue Apr 28, 2021 · 0 comments
Open

Code coverage for cluster tests #55

omus opened this issue Apr 28, 2021 · 0 comments

Comments

@omus
Copy link
Member

omus commented Apr 28, 2021

We're missing out on some coverage of code that is tested due to the code paths being run on k8s pods. We should be able to include the coverage from these tests if we do the following on the CI:

As --code-coverage=user generates code coverage files right besides the source code we need to be executing our pod code inside the PV. Doing this ensure the code coverage files are written to the PV without having to manually move files around. The cleanest way I can think to do this is to use minikube mount to mount the CI host directory for K8sClusterManagers.jl to the node(s) and then use PV hostPath to mount that directory to the package location inside of the pod. This approach should mean that code coverage files generated on the pod are directly written back to the CI host.

However, there are some potential issues to work through:

  • Using PV hostPath requires an access mode of ReadWriteOnce which eliminates any parallelism we may want to do on the CI (Run cluster tests in parallel #53)
  • Using minikube mount with multiple nodes probably isn't supported. We can probably use one node on CI if we're careful to use partial CPU resources
  • The PIDs used on the pods are quite likely to identical across tests which means the coverage files may end up having conflicting names.
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

No branches or pull requests

1 participant