Conversation
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
It changes cross-platform baseline verification behavior for many predictor tests and explicitly notes Windows/Linux validation is still pending.
Review effort: Lite
Findings: 1
Open (1)
What changed in this PR
This PR fixes cross-platform invocation of the internal ResultProcessor used by predictor baseline tests by ensuring absolute Unix paths are passed as values (not mis-parsed as /option switches), and by re-enabling -rp.txt generation/verification on non-Windows platforms.
Changes:
- Update the ResultProcessor test helper to pass inputs/outputs using
in=ando=withCmdQuoter, and fail the test when ResultProcessor returns a non-zero exit code. - Remove the Windows-only guard so
-rp.txtbaselines are generated and compared on Linux/macOS as well. - Add regression coverage for absolute paths (including spaces and braces) and add missing macOS arm64
-rp.txtbaselines.
| File | Description |
|---|---|
| test/Microsoft.ML.TestFramework/BaseTestPredictorsMaml.cs | Fixes ResultProcessor argument construction/quoting and enables -rp.txt checks cross-platform. |
| test/Microsoft.ML.Predictor.Tests/ResultProcessor/TestResultProcessor.cs | Adds regression test covering absolute input paths with spaces/braces. |
| test/BaselineOutput/Common/WeightedEnsembleMulticlass/osx-arm64/WE-Bootstrap-TrainTest-iris-rp.txt | Adds missing osx-arm64 result-processor baseline. |
| test/BaselineOutput/Common/WeightedEnsembleMulticlass/osx-arm64/WE-Average-TrainTest-iris-rp.txt | Adds missing osx-arm64 result-processor baseline. |
| test/BaselineOutput/Common/WeightedEnsemble/osx-arm64/WE-Hetero-TrainTest-breast-cancer-rp.txt | Adds missing osx-arm64 result-processor baseline. |
| test/BaselineOutput/Common/WeightedEnsemble/osx-arm64/WE-AvgPer-TrainTest-breast-cancer-rp.txt | Adds missing osx-arm64 result-processor baseline. |
| test/BaselineOutput/Common/LdSvm/osx-arm64/LDSVM-nob-TrainTest-breast-cancer-rp.txt | Adds missing osx-arm64 result-processor baseline. |
| test/BaselineOutput/Common/LdSvm/osx-arm64/LDSVM-nob-CV-breast-cancer-rp.txt | Adds missing osx-arm64 result-processor baseline. |
| test/BaselineOutput/Common/LdSvm/osx-arm64/LDSVM-def-CV-breast-cancer-rp.txt | Adds missing osx-arm64 result-processor baseline. |
| test/BaselineOutput/Common/AveragedPerceptron/osx-arm64/AveragedPerceptron-TrainTest-breast-cancer.PAVcalibration-rp.txt | Adds missing osx-arm64 result-processor baseline. |
| test/BaselineOutput/Common/AveragedPerceptron/osx-arm64/AveragedPerceptron-TrainTest-breast-cancer.nocalibration-rp.txt | Adds missing osx-arm64 result-processor baseline. |
| test/BaselineOutput/Common/AveragedPerceptron/osx-arm64/AveragedPerceptron-TrainTest-breast-cancer.calibrateRandom-rp.txt | Adds missing osx-arm64 result-processor baseline. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| string[] lines = File.ReadAllLines(outputPath).Where(line => !string.IsNullOrWhiteSpace(line)).ToArray(); | ||
| Assert.Equal(4, lines.Length); | ||
| Assert.Equal("LogisticRegression", lines[0]); |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #7727 +/- ##
==========================================
+ Coverage 69.59% 69.89% +0.29%
==========================================
Files 1484 1487 +3
Lines 273606 276272 +2666
Branches 27949 28292 +343
==========================================
+ Hits 190408 193087 +2679
+ Misses 75836 75689 -147
- Partials 7362 7496 +134
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|

Addresses #26.
Result-processor tests fail to generate
-rp.txtfiles when absolute Unix input paths are interpreted as command-line options. A Windows-only guard has been masking this failure on Linux and macOS.Changes
in=ando=arguments withCmdQuoterto escape paths correctly.Validation