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

[test]Exclude features, add any feature check #1853

Merged
merged 2 commits into from
Sep 6, 2023

Conversation

helsaawy
Copy link
Contributor

Add -exclude flag to be able to specify all but a certain set of flags to run.
Eg, functional.test.exe -exclude LCOWIntegrity will run all test except for those that require rego enforcement.

Additionally, added require.AnyFeature functions to check that at least one feature is specified.
This allows skipping a test that with subtests that individually require non-overlapping features, which avoids running generalized test setup

@helsaawy helsaawy requested a review from a team as a code owner July 27, 2023 17:30
@helsaawy helsaawy changed the title test: Exclude features, add any feature check [test]Exclude features, add any feature check Jul 27, 2023
test/pkg/flag/flag.go Outdated Show resolved Hide resolved
test/pkg/flag/flag.go Outdated Show resolved Hide resolved
test/pkg/flag/flag.go Outdated Show resolved Hide resolved
Copy link
Contributor

@yyatmsft yyatmsft left a comment

Choose a reason for hiding this comment

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

🕐

@helsaawy helsaawy force-pushed the test-flags branch 2 times, most recently from dfae56b to 684dcb7 Compare August 25, 2023 22:58
@helsaawy helsaawy requested a review from yyatmsft August 29, 2023 19:13
test/pkg/flag/flag.go Outdated Show resolved Hide resolved
yyatmsft
yyatmsft previously approved these changes Aug 29, 2023
Copy link
Contributor

@yyatmsft yyatmsft left a comment

Choose a reason for hiding this comment

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

:shipit:

@helsaawy helsaawy force-pushed the test-flags branch 2 times, most recently from becdb27 to 6d5175e Compare August 29, 2023 22:37
@yyatmsft
Copy link
Contributor

It says this is from me but it's not...


In reply to: 1601395068

@yyatmsft yyatmsft dismissed stale reviews from themself August 29, 2023 22:42

revoking review

@yyatmsft
Copy link
Contributor

yyatmsft commented Aug 29, 2023

Can you create a work item to port this to azcri?
#Closed

Copy link
Contributor

@yyatmsft yyatmsft left a comment

Choose a reason for hiding this comment

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

:shipit:

Copy link
Contributor

@yyatmsft yyatmsft left a comment

Choose a reason for hiding this comment

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

Approved despite one minor comment.

Add `-exclude` flag to be able to specify all but a certain set of
flags to run, since it is common (especially locally) to want to run all
but a certain subset of tests.
eg, `functional.test.exe -exclude LCOWIntegrity` will run all test except
for those that require rego enforcement.

Add `require.AnyFeature` function to check that at least one of the listed
feature is specified.
This allows skipping a test that with subtests that individually require
non-overlapping features, which avoids running generalized test setup

Moved `"test/cri-containerd".requireBinary` to
`"test/pkg/require".Binary".

Signed-off-by: Hamza El-Saawy <[email protected]>
Signed-off-by: Hamza El-Saawy <[email protected]>
@helsaawy helsaawy merged commit 2bba98f into microsoft:main Sep 6, 2023
15 of 16 checks passed
@helsaawy helsaawy deleted the test-flags branch September 6, 2023 16:56
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 7, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 7, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 7, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 7, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 7, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 7, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 7, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 7, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Fix bug in `internal\winapi\winapi.go` where `user.go` is referenced but
does not exist.

Remove `/usr/local/include` from `Protobuild.toml`, since it does not
exist on Windows, and our CI build logic does not rely on it.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 7, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Remove `/usr/local/include` from `Protobuild.toml`, since it does not
exist on Windows, and our CI build logic does not rely on it.

Update `.gitignore` and `.gitattributes` to match main.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 8, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Remove `/usr/local/include` from `Protobuild.toml`, since it does not
exist on Windows, and our CI build logic does not rely on it.

Update `.gitignore` and `.gitattributes` to match main.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 8, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Remove `/usr/local/include` from `Protobuild.toml`, since it does not
exist on Windows, and our CI build logic does not rely on it.

Update `.gitignore` and `.gitattributes` to match main.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 8, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Remove `/usr/local/include` from `Protobuild.toml`, since it does not
exist on Windows, and our CI build logic does not rely on it.

Update `.gitignore` and `.gitattributes` to match main.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 8, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Remove `/usr/local/include` from `Protobuild.toml`, since it does not
exist on Windows, and our CI build logic does not rely on it.

Update `.gitignore` and `.gitattributes` to match main.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 8, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Remove `/usr/local/include` from `Protobuild.toml`, since it does not
exist on Windows, and our CI build logic does not rely on it.

Update `.gitignore` and `.gitattributes` to match main.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 8, 2023
Incorporate several CI changes from multiple PRs:

 - microsoft#1632
 - microsoft#1752
 - microsoft#1755
 - microsoft#1799
 - microsoft#1820
 - microsoft#1836
 - microsoft#1853
 - microsoft#1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Remove `/usr/local/include` from `Protobuild.toml`, since it does not
exist on Windows, and our CI build logic does not rely on it.

Update `.gitignore` and `.gitattributes` to match main.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit that referenced this pull request Sep 19, 2023
* [release/0.9] Update CI

Incorporate several CI changes from multiple PRs:

 - #1632
 - #1752
 - #1755
 - #1799
 - #1820
 - #1836
 - #1853
 - #1854

It is easier to checkout the changes directly rather than cherry-pick
commits and undo any changes that affect code not backported to this
release.

Remove `/usr/local/include` from `Protobuild.toml`, since it does not
exist on Windows, and our CI build logic does not rely on it.

Update `.gitignore` and `.gitattributes` to match main.

Signed-off-by: Hamza El-Saawy <[email protected]>

* [release/0.9] Skip failaing symlink tests

CRI integration tests `TestContainerSymlinkVolumes/*` are consistently
failing.

Skip until a fix is backported from containerd 1.7 to 1.6.

Signed-off-by: Hamza El-Saawy <[email protected]>

[release/0.9] Skip failing symlink tests

Signed-off-by: Hamza El-Saawy <[email protected]>

* [release/0.9] Update proto files to v3

Many files were last updated with `github.com/gogo/[email protected]`, hence
the `proto.GoGoProtoPackageIsVersion2` assertion in the `*.pb.go` files.

Regenerate them using new version (v1.6.2) of `protoc-gen-gogoctrd`.

Signed-off-by: Hamza El-Saawy <[email protected]>

* [release/0.9] Update generated files

Run `go generate` on repo to bring all auto-generated files up to date.

Fix bug in `internal\winapi\winapi.go` where `user.go` is referenced but
does not exist.

Signed-off-by: Hamza El-Saawy <[email protected]>

---------

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 20, 2023
Backport testing support functions in the `test/pkg` directory.
This includes changes from:
 - microsoft#1536
 - microsoft#1704
 - microsoft#1853
 - microsoft#1893

Rather than cherry-pick them, only changes to `test/pkg` are included,
since tests themselves will require significant changes to bring
up-to-date.

The goal is to expose testing functions so that tests can be moved out
of the repo.

Updated go version in `test` to 1.8, as required by `test/pkg/flag`.

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit to helsaawy/hcsshim that referenced this pull request Sep 27, 2023
* test: Exclude features, add any feature check

Add `-exclude` flag to be able to specify all but a certain set of
flags to run, since it is common (especially locally) to want to run all
but a certain subset of tests.
eg, `functional.test.exe -exclude LCOWIntegrity` will run all test except
for those that require rego enforcement.

Add `require.AnyFeature` function to check that at least one of the listed
feature is specified.
This allows skipping a test that with subtests that individually require
non-overlapping features, which avoids running generalized test setup

Moved `"test/cri-containerd".requireBinary` to
`"test/pkg/require".Binary".

Signed-off-by: Hamza El-Saawy <[email protected]>

* PR: docs, comments, naming

Signed-off-by: Hamza El-Saawy <[email protected]>

---------

Signed-off-by: Hamza El-Saawy <[email protected]>
helsaawy added a commit that referenced this pull request Sep 28, 2023
Backport testing support functions in the `test/pkg` directory.
This includes changes from:
 - #1536
 - #1704
 - #1853
 - #1893

Rather than cherry-pick them, only changes to `test/pkg` are included,
since tests themselves will require significant changes to bring
up-to-date.

The goal is to expose testing functions so that tests can be moved out
of the repo.

Updated go version in `test` to 1.8, as required by `test/pkg/flag`.

Signed-off-by: Hamza El-Saawy <[email protected]>
ambarve pushed a commit to ambarve/hcsshim that referenced this pull request Oct 17, 2023
* test: Exclude features, add any feature check

Add `-exclude` flag to be able to specify all but a certain set of
flags to run, since it is common (especially locally) to want to run all
but a certain subset of tests.
eg, `functional.test.exe -exclude LCOWIntegrity` will run all test except
for those that require rego enforcement.

Add `require.AnyFeature` function to check that at least one of the listed
feature is specified.
This allows skipping a test that with subtests that individually require
non-overlapping features, which avoids running generalized test setup

Moved `"test/cri-containerd".requireBinary` to
`"test/pkg/require".Binary".

Signed-off-by: Hamza El-Saawy <[email protected]>

* PR: docs, comments, naming

Signed-off-by: Hamza El-Saawy <[email protected]>

---------

Signed-off-by: Hamza El-Saawy <[email protected]>
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

Successfully merging this pull request may close these issues.

4 participants