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

Use TestDefinion in strategies instead of TestTemplate #300

Merged
merged 8 commits into from
Nov 25, 2024

Conversation

amaslenn
Copy link
Contributor

@amaslenn amaslenn commented Nov 11, 2024

Summary

TestTemplate is an additional indirection and usually an empty class without any implementation. It serves two purposes:

  1. Creating test types.
  2. Holding strategies and some high level methods.

While (2) is still relevant, (1) is now better served by TestDefinition classes.

Test Plan

  1. CI
  2. Run install for conf/common/test.

Additional Notes

@amaslenn amaslenn marked this pull request as draft November 11, 2024 18:20
@amaslenn amaslenn marked this pull request as ready for review November 11, 2024 18:37
@TaekyungHeo TaekyungHeo added enhancement New feature or request Jan25 Jan'25 release feature labels Nov 12, 2024
@TaekyungHeo
Copy link
Member

It looks good to me, but let's discuss it in the design meeting and ensure we have two approvals for this PR.

cc: @srinivas212 , @srivatsankrishnan

Copy link
Contributor

@srivatsankrishnan srivatsankrishnan left a comment

Choose a reason for hiding this comment

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

Let's chat more about this in the design meeting. I was curious about this empty definition before and was under the opinion that it was some placeholder for some future feature. I want to know more about the rationale for designing it this way. Let's chat more.

Shouldn't block approval or merge.

@TaekyungHeo
Copy link
Member

This is essential. I can approve it once you resolve the conflicts and complete the necessary tests, @amaslenn .

@TaekyungHeo
Copy link
Member

Let's have two approvals.

@TaekyungHeo
Copy link
Member

@amaslenn Please make sure that you have a PR ready for CloudAIX, as it needs to be updated accordingly. After merging this, please create a pre-release and update CloudAIX.

Copy link
Contributor

@srivatsankrishnan srivatsankrishnan left a comment

Choose a reason for hiding this comment

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

In today's call we discussed on testing on some real workloads to ensure it doesn't break anything? or we were okay with acceptance test as that criteria?

@TaekyungHeo
Copy link
Member

TaekyungHeo commented Nov 21, 2024

@srivatsankrishnan, I believe the acceptance test is strong enough, but it might be worthwhile to run a simple test on a real system, such as nccl-test. While I consider it optional, it could still be beneficial to do - @amaslenn

@amaslenn
Copy link
Contributor Author

@srivatsankrishnan, I believe the acceptance test is strong enough, but it might be worthwhile to run a simple test on a real system, such as nccl-test. While I consider it optional, it could still be beneficial to do - @amaslenn

Tested with cloudai run --system-config ... --tests-dir conf/common/test --test-scenario conf/common/test_scenario/nccl_test.toml

Copy link
Contributor

@srivatsankrishnan srivatsankrishnan left a comment

Choose a reason for hiding this comment

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

Andrei validated this on NCCL test on a real system. LGTM (Would be good to update the test plan with NCCL output as well).

@amaslenn amaslenn merged commit 607678d into main Nov 25, 2024
2 checks passed
@amaslenn amaslenn deleted the am/tdef-in-stategies branch November 25, 2024 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Jan25 Jan'25 release feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants