Skip to content

Document x-test-features and format-feature-baseline#455

Merged
vicroms merged 11 commits intoMicrosoftDocs:mainfrom
BillyONeal:feature/test-features
Jun 23, 2025
Merged

Document x-test-features and format-feature-baseline#455
vicroms merged 11 commits intoMicrosoftDocs:mainfrom
BillyONeal:feature/test-features

Conversation

@BillyONeal
Copy link
Copy Markdown
Collaborator

@learn-build-service-prod

This comment was marked as outdated.

@prmerger-automator

This comment was marked as outdated.

* **no-separate-feature-test** - The listed features are not tested in the "seperate" feature test.
* **options** - The listed features are mutually exclusive and can not be selected together. The
first feature in the list is added to every test combination. Use the `core` feature as first one
to add no feature to every test combination.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It's not clear to me what this means.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I'll be honest, it isn't super clear to me either. @autoantwort can you clarify?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

If we have for example a library A that can be build with openssl or boringssl the following would be tested by default:

  1. a[core] "core"
  2. a[core, openssl] "test-features"
  3. a[core, boringssl] "test-features"
  4. a[core, some-feature] "test-features"
  5. a[core, openssl, boringssl, some-feature] "test-features-combined"

Now it is often the case that you can not select openssl and boringssl at the same time. If the lib works when no ssl backend is selected you would choose a[core, openssl, boringssl] = options which would result in

  1. a[core]
  2. a[core, openssl]
  3. a[core, boringssl]
  4. a[core, some-feature]

But in case you must at least select one ssl backend you would write a[openssl, boringssl] = options which would result in

  1. a[core, openssl]
  2. a[core, boringssl]
  3. a[core, openssl, some-feature]

In the example block there is the following

## Examples:
##    qt3d[extras] = options # extras will be always added to the test combination (it is currently a requirement)
##    curl[core,openssl,wolfssl] = options # openssl and wolfssl are exclusive ssl backends but none must be selected
##    libgit2[pcre,pcre2] = options # you have to select pcre xor pcre2

Co-authored-by: Thomas1664 <46387399+Thomas1664@users.noreply.github.com>
@learn-build-service-prod

This comment was marked as outdated.

@prmerger-automator

This comment was marked as outdated.

@learn-build-service-prod

This comment was marked as outdated.

@prmerger-automator

This comment was marked as outdated.


## Description

Tests all features of a package by installing them in manifest mode. This command is useful for testing that all features of a package are working correctly.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Tests all features of a package by installing them in manifest mode. This command is useful for testing that all features of a package are working correctly.
Installs all features of a package using manifest mode. This command is designed for testing that all features of a package work correctly.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I think "tests" is correct rather than "installed" as the intended outcome isn't an installation. Moreover, the following block "the following tests are performed" doesn't really make sense in an "installs" context.

I applied everything else.

@vicroms vicroms self-assigned this Mar 14, 2025
...
```

## Options
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Also needs --for-merge-with

@learn-build-service-prod

This comment was marked as outdated.

@BillyONeal
Copy link
Copy Markdown
Collaborator Author

Also needs --known-failures-from added to the ci command.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit cc2c40d:

⚠️ Validation status: warnings

File Status Preview URL Details
vcpkg/commands/test-features.md ⚠️Warning View Details
vcpkg/commands/format-feature-baseline.md ✅Succeeded View
vcpkg/TOC.yml ✅Succeeded View

vcpkg/commands/test-features.md

  • Line 25, Column 50: [Warning: bookmark-not-found - See documentation] Cannot find bookmark '#ci-feature-baseline' in 'commands/test-features.md', did you mean '#--ci-feature-baseline'?

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

For any questions, please:

@BillyONeal
Copy link
Copy Markdown
Collaborator Author

Also needs --known-failures-from added to the ci command.

No: there is no page for the ci command. I guess it would be z- if we added it today.

@learn-build-service-prod
Copy link
Copy Markdown
Contributor

Learn Build status updates of commit b2c10a4:

✅ Validation status: passed

File Status Preview URL Details
vcpkg/commands/format-feature-baseline.md ✅Succeeded View
vcpkg/commands/test-features.md ✅Succeeded View
vcpkg/TOC.yml ✅Succeeded View

For more details, please refer to the build report.

@prmerger-automator
Copy link
Copy Markdown

PRMerger Results

Issue Description
Added File(s) This PR contains added files. New files require human review.
Yaml File(s) This PR includes changes to .yml file(s) owned by another author.
File Change Percent This PR contains file(s) with more than 30% file change.

@BillyONeal BillyONeal requested a review from vicroms June 20, 2025 19:08
@vicroms vicroms merged commit bc2eac2 into MicrosoftDocs:main Jun 23, 2025
2 checks passed
@BillyONeal BillyONeal deleted the feature/test-features branch June 23, 2025 21:56
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.

4 participants