diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2020-03-18 11:20:13 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2020-03-18 11:20:13 -0700 |
| commit | 090e7f8e76bffc232293dac98e1dbf38d4256e69 (patch) | |
| tree | f5133e29c627e093c9924ed6f9b0e9a41a0aa6d7 /toolsrc/src | |
| parent | ebf8213945060c646e8074bcdf2b9463bcd44216 (diff) | |
| download | vcpkg-090e7f8e76bffc232293dac98e1dbf38d4256e69.tar.gz vcpkg-090e7f8e76bffc232293dac98e1dbf38d4256e69.zip | |
[vcpkg] Write abi information to generated test results
Diffstat (limited to 'toolsrc/src')
| -rw-r--r-- | toolsrc/src/vcpkg/commands.ci.cpp | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index 09bee8ddc..b5ab9e79d 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -221,6 +221,7 @@ namespace vcpkg::Commands::CI std::map<PackageSpec, Build::BuildResult> known; std::map<PackageSpec, std::vector<std::string>> features; std::unordered_map<std::string, SourceControlFileLocation> default_feature_provider; + std::map<PackageSpec, std::string> abi_map; }; static bool supported_for_triplet(const CMakeVars::CMakeVarProvider& var_provider, @@ -295,6 +296,7 @@ namespace vcpkg::Commands::CI install_specs.emplace_back(FullPackageSpec{ install_action.spec, std::vector<std::string>{install_action.feature_list.begin(), install_action.feature_list.end()}}); + ret->abi_map.emplace(install_action.spec, install_action.package_abi.value_or_exit(VCPKG_LINE_INFO)); } var_provider.load_tag_vars(install_specs, provider); @@ -365,10 +367,12 @@ namespace vcpkg::Commands::CI b_will_build = true; } - Strings::append( - stdout_buffer, - Strings::format( - "%40s: %1s %8s: %s\n", p->spec, (b_will_build ? "*" : " "), state, action.public_abi())); + Strings::append(stdout_buffer, + Strings::format("%40s: %1s %8s: %s\n", + p->spec, + (b_will_build ? "*" : " "), + state, + action.package_abi.value_or_exit(VCPKG_LINE_INFO))); if (stdout_buffer.size() > 2048) { System::print2(stdout_buffer); @@ -506,18 +510,24 @@ namespace vcpkg::Commands::CI // Adding results for ports that were built or pulled from an archive for (auto&& result : summary.results) { - auto& port_features = split_specs->features[result.spec]; + auto& port_features = split_specs->features.at(result.spec); split_specs->known.erase(result.spec); - xunitTestResults.add_test_results( - result.spec.to_string(), result.build_result.code, result.timing, "", port_features); + xunitTestResults.add_test_results(result.spec.to_string(), + result.build_result.code, + result.timing, + split_specs->abi_map.at(result.spec), + port_features); } // Adding results for ports that were not built because they have known states for (auto&& port : split_specs->known) { - auto& port_features = split_specs->features[port.first]; - xunitTestResults.add_test_results( - port.first.to_string(), port.second, Chrono::ElapsedTime{}, "", port_features); + auto& port_features = split_specs->features.at(port.first); + xunitTestResults.add_test_results(port.first.to_string(), + port.second, + Chrono::ElapsedTime{}, + split_specs->abi_map.at(port.first), + port_features); } all_known_results.emplace_back(std::move(split_specs->known)); |
