Feat/granular testing progress tracking #978
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



In raising this pull request, I confirm the following (please check boxes):
My familiarity with the project is as follows (check one):
📋 Summary
Implements granular progress tracking for the "Testing" stage to show real-time test execution progress (e.g., "Testing 15/100") instead of a single static stage indicator. This provides users with better visibility into test execution progress and estimated completion time.
Closes: #927
🎯 Problem Statement
Previously, the test progress indicator showed only 3 high-level stages:
During the "Testing" stage, users had no visibility into:
This lack of granularity made it difficult to estimate test completion time, especially for test suites with many samples.
✨ Changes Made
1. Database Schema
current_test(nullable integer) totest_progresstabletotal_tests(nullable integer) totest_progresstablec8f3d9a4b2e1_add_test_progress_tracking.py2. Backend Changes
models.py:
TestProgressmodel with optionalcurrent_testandtotal_testsparametersprogress_data()method to include test counts in returned dictionarycontrollers.py:
progress_type_request()to accept and validatecurrent_testandtotal_testsparameterscontrollers.py:
get_json_data()endpoint to include test counts in JSON response3. Frontend Changes
by_id.html:
app.css:
.test-countstyling for visual consistency4. CI Script Updates
runCI:
current_test=0andtotal_tests=Nwhen testing startsrunCI.bat:
findstrfor XML parsing🎬 How It Works
<test>elements in XML fileTesting (0/100)to progress endpoint📸 Visual Changes
Before:
After:
🔒 Backward Compatibility
✅ Fully backward compatible:
TestProgressinstantiations continue to work unchangedNone✅ Testing & Validation
Automated Checks
Manual Validation
Edge Cases Handled
See VALIDATION_REPORT.md for comprehensive validation details.
📊 Performance Impact
🔐 Security
📚 Documentation
🚀 Deployment Steps
Install missing dependency (if needed):
Apply database migration:
Restart application
Monitor first test execution to verify counts display correctly
🔄 Rollback Plan
If issues arise:
Migration is fully reversible with no data loss.
🎯 Future Enhancements
To show incremental progress like "Testing (15/100)" in real-time:
CCExtractorTesterneeds modification to POST progress after each test📋 Checklist
🙏 Acknowledgments
This implementation enhances user experience by providing transparency into test execution progress, making it easier to monitor long-running test suites and estimate completion times.
Related Documentation: