Skip to content

Ur test summary python#22091

Draft
kekaczma wants to merge 31 commits into
intel:syclfrom
kekaczma:ur-test-summary-python
Draft

Ur test summary python#22091
kekaczma wants to merge 31 commits into
intel:syclfrom
kekaczma:ur-test-summary-python

Conversation

@kekaczma
Copy link
Copy Markdown
Contributor

No description provided.

kekaczma added 30 commits March 27, 2026 09:44
Add comprehensive test result logging to Unified Runtime tests similar
to SYCL E2E tests:

- Enhanced LIT_OPTS with --show-unsupported, --show-pass, --show-xfail
  to display test status details
- Added --no-progress-bar for cleaner CI output
- Redirect test output to log files (adapter_tests.log, conformance_tests.log)
- Added steps to display full logs in collapsible groups
- Added steps to extract and report test summaries (Failed Tests,
  Unexpectedly Passed Tests, Unresolved Tests, Timed Out Tests, Testing Time)
- Report summaries both in step output and GitHub Step Summary

This improves visibility into which tests pass, fail, or are skipped,
making it easier to diagnose CI issues.
GoogleTest format used by UR doesn't print full test lists like ShTest
format in E2E. Parse LIT output to extract and display:

- Passed tests list (collapsible)
- Failed tests list (expanded if present)
- Unsupported tests list (collapsible)
- Expected failures list (collapsible)

Includes statistics with emoji indicators for better readability.
- Parse LIT test output in single-pass awk for efficiency (O(n) vs O(n²))
- Generate GitHub step summary with collapsible test lists
- Show TIMEOUT/FAIL/XPASS tests expanded by default for visibility
- Collapse PASS/XFAIL/UNSUPPORTED/SKIPPED for long test lists
- Simplify LIT_OPTS using `-a` flag for all test statuses
- Add security hardening: printf instead of echo, input validation
- Add error handling and graceful degradation for missing logs
- Memory optimization: use arrays instead of string concatenation

Tested with all LIT statuses: PASS, FAIL, XFAIL, XPASS, TIMEOUT,
UNSUPPORTED, UNRESOLVED, SKIPPED
- Format test lists in code blocks instead of bullets for better readability
- Remove misleading raw log steps that showed truncated output (535 vs 5536)
- Add check for empty log files with warning message
- Add debug output showing current directory and log file status
- Add error handling to show warnings if summary generation fails
- Explicitly call bash interpreter for script execution

This fixes issue where test lists appeared with asterisks and numbers
didn't match (showed 535 tests when actually 5536 were run due to
GitHub Actions output truncation).
- Move statistics and test lists to composite actions
- Cut full log at asterisks (remove lists/stats duplication)
- Report failures shows only error details
- Show statistics and collapsed sections in composite actions
- Fix clang-format issues in ci_validation_tests.cpp

This eliminates information duplication across workflow and
composite actions while preserving all test details.
- Pipe tee directly to awk to avoid showing output twice
- Change Report failures pattern to stop at test list headers
  instead of 'Testing Time' (which doesn't exist in GoogleTest)
- Now shows error details + statistics but not test lists
  (lists are in collapsed sections)
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.

1 participant