Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions azure-pipelines/e2e-assets/ci/ci.pass.baseline.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
not-sup-host-b:arm64-osx=pass
not-sup-host-b:x64-osx=pass
not-sup-host-b:x86-windows=pass
not-sup-host-b:x64-windows=pass
not-sup-host-b:arm64-windows=pass
not-sup-host-b:x64-linux=pass
not-sup-host-b:arm64-linux=pass


dep-on-feature-not-sup:arm64-osx=pass
dep-on-feature-not-sup:x64-osx=pass
dep-on-feature-not-sup:x86-windows=pass
dep-on-feature-not-sup:x64-windows=pass
dep-on-feature-not-sup:arm64-windows=pass
dep-on-feature-not-sup:x64-linux=pass
dep-on-feature-not-sup:arm64-linux=pass
12 changes: 12 additions & 0 deletions azure-pipelines/end-to-end-tests-dir/ci.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,18 @@ if (-not ($ErrorOutput.Contains("REGRESSION: dep-on-feature-not-sup:${Triplet} i
throw "feature-not-sup's baseline fail entry should result in a regression because the port is cascade for this triplet"
}

# pass means pass
$Output = Run-VcpkgAndCaptureOutput ci --dry-run --triplet=$Triplet --x-builtin-ports-root="$PSScriptRoot/../e2e-ports/ci" --binarysource=clear --ci-baseline="$PSScriptRoot/../e2e-assets/ci/ci.baseline.txt"
Throw-IfNotFailed
$ErrorOutput = Run-VcpkgAndCaptureStdErr ci --dry-run --triplet=$Triplet --x-builtin-ports-root="$PSScriptRoot/../e2e-ports/ci" --binarysource=clear --ci-baseline="$PSScriptRoot/../e2e-assets/ci/ci.pass.baseline.txt"
Throw-IfNotFailed
if (-not ($ErrorOutput.Contains("REGRESSION: not-sup-host-b:${Triplet} is marked as pass but not supported for ${Triplet}."))) {
throw "feature-not-sup's baseline pass entry should result in a regression because the port is not supported"
}
if (-not ($ErrorOutput.Contains("REGRESSION: dep-on-feature-not-sup:${Triplet} is marked as pass but one dependency is not supported for ${Triplet}."))) {
throw "feature-not-sup's baseline pass entry should result in a regression because the port is cascade for this triplet"
}

# any invalid manifest must raise an error
$Output = Run-VcpkgAndCaptureOutput ci --dry-run --triplet=$Triplet --x-builtin-ports-root="$PSScriptRoot/../e2e-ports/broken-manifests" --binarysource=clear --ci-baseline="$PSScriptRoot/../e2e-assets/ci/ci.baseline.txt"
Throw-IfNotFailed
Expand Down
8 changes: 8 additions & 0 deletions include/vcpkg/base/message-data.inc.h
Original file line number Diff line number Diff line change
Expand Up @@ -495,6 +495,14 @@ DECLARE_MESSAGE(CiBaselineUnexpectedPass,
(msg::spec, msg::path),
"",
"PASSING, REMOVE FROM FAIL LIST: {spec} ({path}).")
DECLARE_MESSAGE(CiBaselineUnexpectedPassCascade,
(msg::spec, msg::triplet),
"",
"REGRESSION: {spec} is marked as pass but one dependency is not supported for {triplet}.")
DECLARE_MESSAGE(CiBaselineUnexpectedPassUnsupported,
(msg::spec, msg::triplet),
"",
"REGRESSION: {spec} is marked as pass but not supported for {triplet}.")
DECLARE_MESSAGE(CISettingsOptCIBase,
(),
"",
Expand Down
4 changes: 4 additions & 0 deletions locales/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,10 @@
"_CiBaselineUnexpectedFailCascade.comment": "An example of {spec} is zlib:x64-windows. An example of {triplet} is x64-windows.",
"CiBaselineUnexpectedPass": "PASSING, REMOVE FROM FAIL LIST: {spec} ({path}).",
"_CiBaselineUnexpectedPass.comment": "An example of {spec} is zlib:x64-windows. An example of {path} is /foo/bar.",
"CiBaselineUnexpectedPassCascade": "REGRESSION: {spec} is marked as pass but one dependency is not supported for {triplet}.",
"_CiBaselineUnexpectedPassCascade.comment": "An example of {spec} is zlib:x64-windows. An example of {triplet} is x64-windows.",
"CiBaselineUnexpectedPassUnsupported": "REGRESSION: {spec} is marked as pass but not supported for {triplet}.",
"_CiBaselineUnexpectedPassUnsupported.comment": "An example of {spec} is zlib:x64-windows. An example of {triplet} is x64-windows.",
"ClearingContents": "Clearing contents of {path}",
"_ClearingContents.comment": "An example of {path} is /foo/bar.",
"CmakeTargetsExcluded": "{count} additional targets are not displayed.",
Expand Down
8 changes: 8 additions & 0 deletions src/vcpkg/commands.ci.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,14 @@ namespace vcpkg
msg::triplet = spec.package_spec.triplet())
.append_raw('\n');
}
else if (cidata.required_success.contains(spec.package_spec))
{
not_supported_regressions
.append(supp ? msgCiBaselineUnexpectedPassCascade : msgCiBaselineUnexpectedPassUnsupported,
msg::spec = spec.package_spec,
msg::triplet = spec.package_spec.triplet())
.append_raw('\n');
}
msg += fmt::format("{:>40}: {:>8}\n", spec.package_spec, supp ? "cascade" : "skip");
}
}
Expand Down
Loading