Skip to content

Add unit tests for ospatch_apt_upgrade.go#938

Open
ganochenkodg wants to merge 5 commits intoGoogleCloudPlatform:masterfrom
ganochenkodg:ospatch-aptupgrade-unittests
Open

Add unit tests for ospatch_apt_upgrade.go#938
ganochenkodg wants to merge 5 commits intoGoogleCloudPlatform:masterfrom
ganochenkodg:ospatch-aptupgrade-unittests

Conversation

@ganochenkodg
Copy link
Copy Markdown
Contributor

With this PR better test coverage for ./ospatch/apt_upgrade.go was reached:

github.com/GoogleCloudPlatform/osconfig/ospatch/apt_upgrade.go:36: AptGetUpgradeType 0.0% -> 100.0%
github.com/GoogleCloudPlatform/osconfig/ospatch/apt_upgrade.go:43: AptGetExcludes 0.0% -> 100.0%
github.com/GoogleCloudPlatform/osconfig/ospatch/apt_upgrade.go:50: AptGetExclusivePackages 0.0% -> 100.0%
github.com/GoogleCloudPlatform/osconfig/ospatch/apt_upgrade.go:57: AptGetDryRun 0.0% -> 100.0%
github.com/GoogleCloudPlatform/osconfig/ospatch/apt_upgrade.go:64: RunAptGetUpgrade 0.0% -> 100.0%

@google-oss-prow google-oss-prow bot requested a review from savija-tv March 27, 2026 23:00
@google-oss-prow google-oss-prow bot requested a review from zoltak-g March 27, 2026 23:00
@google-oss-prow
Copy link
Copy Markdown

Hi @ganochenkodg. Thanks for your PR.

I'm waiting for a GoogleCloudPlatform member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

burov
burov previously approved these changes Mar 29, 2026
wantErr error
}{
{
name: "Success",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could you change names of the test cases to make it more readable.

Don't use camel case and add a bit more details on what this testcase is actually testing, what is expected result of the testcase.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Will rename cases then. Sometimes i see CamelCase test names so I thought it's allowed, e.g. https://github.com/GoogleCloudPlatform/osconfig/blob/master/packages/apt_deb_test.go#L955-L961

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

renamed

@burov
Copy link
Copy Markdown
Member

burov commented Mar 29, 2026

/gcbrun

@burov
Copy link
Copy Markdown
Member

burov commented Mar 29, 2026

/gcbrun

1 similar comment
@burov
Copy link
Copy Markdown
Member

burov commented Mar 29, 2026

/gcbrun

@google-oss-prow
Copy link
Copy Markdown

New changes are detected. LGTM label has been removed.

1 similar comment
@google-oss-prow
Copy link
Copy Markdown

New changes are detected. LGTM label has been removed.

@google-oss-prow
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: ganochenkodg
Once this PR has been reviewed and has the lgtm label, please ask for approval from burov. For more information see the Kubernetes Code Review Process.

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

Details 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

1 similar comment
@google-oss-prow
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: ganochenkodg
Once this PR has been reviewed and has the lgtm label, please ask for approval from burov. For more information see the Kubernetes Code Review Process.

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

Details 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

@burov
Copy link
Copy Markdown
Member

burov commented Apr 13, 2026

/gcbrun

gomock.InOrder(
mockCommandRunner.EXPECT().Run(gomock.Any(), utilmocks.EqCmd(updateCmd)).Return(stdout, empty, nil),
mockCommandRunner.EXPECT().Run(gomock.Any(), utilmocks.EqCmd(upgradeCmd)).Return(pkg1out, empty, nil),
mockCommandRunner.EXPECT().Run(gomock.Any(), utilmocks.EqCmd(installPkg1Cmd)).Return(stdout, empty, nil),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think inlining of the variables updateCmd, upgradeCmd and installPkg1Cmd might benefit readability of the test cases, as well stdout variable should be renamed to fakeOutput or something similar to signal that this output is rather stub.

Copy link
Copy Markdown
Contributor Author

@ganochenkodg ganochenkodg Apr 14, 2026

Choose a reason for hiding this comment

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

Done

Comment on lines +80 to +81
gomock.InOrder(
mockCommandRunner.EXPECT().Run(gomock.Any(), utilmocks.EqCmd(updateCmd)).Return(stdout, empty, nil),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Same, inlining of updateCmd and upgradeCmd will benefit readability of the testcase

Copy link
Copy Markdown
Contributor Author

@ganochenkodg ganochenkodg Apr 14, 2026

Choose a reason for hiding this comment

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

Done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants