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

fix: UT works fine and covers #2811

Merged
merged 5 commits into from
May 17, 2023

Conversation

wangyang0616
Copy link
Member

resolve: #2810

Solve the problem that ut can run in the first step, temporarily skip the use cases that fail to run, and then gradually submit pr for repair.

@volcano-sh-bot volcano-sh-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Apr 23, 2023
@wangyang0616 wangyang0616 changed the title Fix ut error fix: UT works fine and covers Apr 23, 2023
This reverts commit a1cecb4.

Signed-off-by: wangyang <wangyang8126@gmail.com>
Signed-off-by: wangyang <wangyang8126@gmail.com>
Signed-off-by: wangyang <wangyang8126@gmail.com>
…en fix it later

Signed-off-by: wangyang <wangyang8126@gmail.com>
…aim related use cases will fail

Signed-off-by: wangyang <wangyang8126@gmail.com>
@wangyang0616
Copy link
Member Author

master's ut coverage:

go test -cover -p 8 -race $(find pkg cmd -type f -name '*_test.go' | sed -r 's|/[^/]+$||' | sort | uniq | sed "s|^|volcano.sh/volcano/|")
ok  	volcano.sh/volcano/cmd/controller-manager/app/options	0.041s	coverage: 57.6% of statements
ok  	volcano.sh/volcano/cmd/scheduler/app/options	0.082s	coverage: 60.5% of statements
ok  	volcano.sh/volcano/pkg/cli/job	0.208s	coverage: 82.7% of statements
ok  	volcano.sh/volcano/pkg/cli/queue	0.195s	coverage: 85.4% of statements
ok  	volcano.sh/volcano/pkg/cli/util	0.158s	coverage: 40.8% of statements
ok  	volcano.sh/volcano/pkg/cli/vcancel	0.200s	coverage: 73.3% of statements
ok  	volcano.sh/volcano/pkg/cli/vresume	0.178s	coverage: 70.0% of statements
ok  	volcano.sh/volcano/pkg/cli/vsuspend	0.298s	coverage: 70.0% of statements
ok  	volcano.sh/volcano/pkg/controllers/apis	0.129s	coverage: 75.6% of statements
ok  	volcano.sh/volcano/pkg/controllers/cache	0.061s	coverage: 58.7% of statements
ok  	volcano.sh/volcano/pkg/controllers/garbagecollector	0.216s	coverage: 37.8% of statements
ok  	volcano.sh/volcano/pkg/controllers/job	2.253s	coverage: 53.4% of statements
ok  	volcano.sh/volcano/pkg/controllers/job/helpers	0.301s	coverage: 50.0% of statements
ok  	volcano.sh/volcano/pkg/controllers/job/plugins/distributed-framework/mpi	0.180s	coverage: 38.1% of statements
ok  	volcano.sh/volcano/pkg/controllers/job/plugins/distributed-framework/pytorch	0.202s	coverage: 82.8% of statements
ok  	volcano.sh/volcano/pkg/controllers/job/plugins/distributed-framework/tensorflow	0.112s	coverage: 67.3% of statements
ok  	volcano.sh/volcano/pkg/controllers/job/plugins/ssh	0.164s	coverage: 10.6% of statements
ok  	volcano.sh/volcano/pkg/controllers/podgroup	0.413s	coverage: 38.2% of statements
ok  	volcano.sh/volcano/pkg/controllers/queue	0.278s	coverage: 37.1% of statements
ok  	volcano.sh/volcano/pkg/controllers/util	0.140s	coverage: 100.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler	0.195s	coverage: 15.7% of statements
ok  	volcano.sh/volcano/pkg/scheduler/actions/allocate	0.411s	coverage: 0.9% of statements
ok  	volcano.sh/volcano/pkg/scheduler/actions/preempt	0.145s	coverage: 0.7% of statements
ok  	volcano.sh/volcano/pkg/scheduler/actions/reclaim	0.193s	coverage: 1.1% of statements
ok  	volcano.sh/volcano/pkg/scheduler/actions/shuffle	0.120s	coverage: 6.7% of statements
ok  	volcano.sh/volcano/pkg/scheduler/api	0.159s	coverage: 46.1% of statements
ok  	volcano.sh/volcano/pkg/scheduler/api/devices/nvidia/gpushare	0.105s	coverage: 13.7% of statements
ok  	volcano.sh/volcano/pkg/scheduler/api/helpers	0.232s	coverage: 46.9% of statements
ok  	volcano.sh/volcano/pkg/scheduler/cache	0.251s	coverage: 15.6% of statements
ok  	volcano.sh/volcano/pkg/scheduler/capabilities/volumebinding	31.036s	coverage: 82.1% of statements
ok  	volcano.sh/volcano/pkg/scheduler/framework	0.206s	coverage: 2.9% of statements
ok  	volcano.sh/volcano/pkg/scheduler/metrics/source	0.143s	coverage: 18.6% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/binpack	0.167s	coverage: 25.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/cdp	0.201s	coverage: 93.9% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/drf	0.117s	coverage: 0.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/numaaware/policy	0.171s	coverage: 70.6% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/numaaware/provider/cpumanager	0.241s	coverage: 84.8% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/predicates	0.204s	coverage: 6.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/proportion	0.116s	coverage: 0.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/task-topology	0.160s	coverage: 14.6% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/tdm	0.270s	coverage: 9.4% of statements
ok  	volcano.sh/volcano/pkg/scheduler/util	0.163s	coverage: 6.4% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/jobs/mutate	0.265s	coverage: 19.5% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/jobs/plugins/mpi	0.186s	coverage: 71.4% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/jobs/validate	0.221s	coverage: 82.4% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/pods/mutate	0.172s	coverage: 70.2% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/pods/validate	0.082s	coverage: 56.8% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/queues/mutate	0.131s	coverage: 89.7% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/queues/validate	0.082s	coverage: 95.0% of statements

Modified ut coverage:

go test -cover -p 8 -race $(find pkg cmd -type f -name '*_test.go' | sed -r 's|/[^/]+$||' | sort | uniq | sed "s|^|volcano.sh/volcano/|")
ok  	volcano.sh/volcano/cmd/controller-manager/app/options	0.086s	coverage: 57.6% of statements
ok  	volcano.sh/volcano/cmd/scheduler/app/options	0.040s	coverage: 60.5% of statements
ok  	volcano.sh/volcano/pkg/cli/job	0.139s	coverage: 82.7% of statements
ok  	volcano.sh/volcano/pkg/cli/queue	0.274s	coverage: 85.4% of statements
ok  	volcano.sh/volcano/pkg/cli/util	0.160s	coverage: 40.8% of statements
ok  	volcano.sh/volcano/pkg/cli/vcancel	0.321s	coverage: 73.3% of statements
ok  	volcano.sh/volcano/pkg/cli/vresume	0.151s	coverage: 70.0% of statements
ok  	volcano.sh/volcano/pkg/cli/vsuspend	0.176s	coverage: 70.0% of statements
ok  	volcano.sh/volcano/pkg/controllers/apis	0.082s	coverage: 75.6% of statements
ok  	volcano.sh/volcano/pkg/controllers/cache	0.044s	coverage: 58.7% of statements
ok  	volcano.sh/volcano/pkg/controllers/garbagecollector	0.082s	coverage: 37.8% of statements
ok  	volcano.sh/volcano/pkg/controllers/job	1.416s	coverage: 53.4% of statements
ok  	volcano.sh/volcano/pkg/controllers/job/helpers	0.193s	coverage: 50.0% of statements
ok  	volcano.sh/volcano/pkg/controllers/job/plugins/distributed-framework/mpi	0.156s	coverage: 38.1% of statements
ok  	volcano.sh/volcano/pkg/controllers/job/plugins/distributed-framework/pytorch	0.196s	coverage: 82.8% of statements
ok  	volcano.sh/volcano/pkg/controllers/job/plugins/distributed-framework/tensorflow	0.161s	coverage: 67.3% of statements
ok  	volcano.sh/volcano/pkg/controllers/job/plugins/ssh	0.240s	coverage: 10.6% of statements
ok  	volcano.sh/volcano/pkg/controllers/podgroup	0.328s	coverage: 38.2% of statements
ok  	volcano.sh/volcano/pkg/controllers/queue	0.413s	coverage: 37.1% of statements
ok  	volcano.sh/volcano/pkg/controllers/util	0.309s	coverage: 100.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler	0.353s	coverage: 15.7% of statements
ok  	volcano.sh/volcano/pkg/scheduler/actions/allocate	0.530s	coverage: 67.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler/actions/preempt	0.393s	coverage: 84.4% of statements
ok  	volcano.sh/volcano/pkg/scheduler/actions/reclaim	0.149s	coverage: 74.7% of statements
ok  	volcano.sh/volcano/pkg/scheduler/actions/shuffle	2.181s	coverage: 80.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler/api	0.146s	coverage: 46.1% of statements
ok  	volcano.sh/volcano/pkg/scheduler/api/devices/nvidia/gpushare	0.118s	coverage: 13.7% of statements
ok  	volcano.sh/volcano/pkg/scheduler/api/helpers	0.212s	coverage: 46.9% of statements
ok  	volcano.sh/volcano/pkg/scheduler/cache	0.207s	coverage: 15.6% of statements
ok  	volcano.sh/volcano/pkg/scheduler/capabilities/volumebinding	30.920s	coverage: 82.1% of statements
ok  	volcano.sh/volcano/pkg/scheduler/framework	0.165s	coverage: 2.9% of statements
ok  	volcano.sh/volcano/pkg/scheduler/metrics/source	0.044s	coverage: 18.6% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/binpack	0.224s	coverage: 25.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/cdp	0.142s	coverage: 93.9% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/drf	0.221s	coverage: 61.2% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/numaaware/policy	0.134s	coverage: 70.6% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/numaaware/provider/cpumanager	0.216s	coverage: 84.8% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/predicates	0.194s	coverage: 6.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/proportion	9.176s	coverage: 33.9% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/task-topology	0.167s	coverage: 14.6% of statements
ok  	volcano.sh/volcano/pkg/scheduler/plugins/tdm	7.377s	coverage: 70.0% of statements
ok  	volcano.sh/volcano/pkg/scheduler/util	0.107s	coverage: 6.4% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/jobs/mutate	0.265s	coverage: 19.5% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/jobs/plugins/mpi	0.110s	coverage: 71.4% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/jobs/validate	0.195s	coverage: 82.4% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/pods/mutate	0.172s	coverage: 70.2% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/pods/validate	0.123s	coverage: 56.8% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/queues/mutate	0.153s	coverage: 89.7% of statements
ok  	volcano.sh/volcano/pkg/webhooks/admission/queues/validate	0.079s	coverage: 95.0% of statements

@wangyang0616
Copy link
Member Author

/priority high

@jiangkaihua
Copy link
Contributor

/LGTM Do we need to merge 5 commits into 1?

@wangyang0616
Copy link
Member Author

/LGTM Do we need to merge 5 commits into 1?

Thank you for your suggestion, but I think it may be better to keep the information of each commit, because each commit has independent meaning.

@jiangkaihua
Copy link
Contributor

/LGTM

@volcano-sh-bot volcano-sh-bot added the lgtm Indicates that a PR is ready to be merged. label Apr 25, 2023
@wangyang0616
Copy link
Member Author

/priority important-soon

@volcano-sh-bot volcano-sh-bot added the priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. label May 16, 2023
Copy link
Member

@william-wang william-wang left a comment

Choose a reason for hiding this comment

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

/lgtm

@volcano-sh-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: william-wang

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@volcano-sh-bot volcano-sh-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 17, 2023
@volcano-sh-bot volcano-sh-bot merged commit ff3ff9e into volcano-sh:master May 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. priority/high priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Part of the ut shows that the operation is successful, but the test case is not actually executed
4 participants