-
Notifications
You must be signed in to change notification settings - Fork 53
MLE-25617 More fragile test handling #1042
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Copyright Validation Results ⏭️ Skipped (Excluded) Files
✅ All files have valid copyright headers! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR modifies the Jenkins pipeline to add support for excluding fragile tests from E2E test runs. The main pipeline stage (ML 12) will exclude certain nodejs-dmsdk tests, while other stages (ML 11, ML 12.1 EA, ML 10) will continue running the complete test suite.
Key Changes:
- Added a parameter to
runE2ETests()function to conditionally exclude fragile tests - Changed shell script delimiters from single quotes to double quotes to support variable interpolation
- Only the main ML 12 stage excludes fragile tests; other stages run all tests
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| sh label: 'run-e2e-tests', script: ''' | ||
| export PATH=${NODE_HOME_DIR}/bin:$PATH | ||
| def runE2ETests(excludeFragileTests) { | ||
| def excludeFlag = excludeFragileTests ? '--exclude "test-complete/nodejs-dmsdk*.js"' : '' |
Copilot
AI
Nov 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The excludeFlag construction may cause command-line parsing issues because the exclude pattern contains unescaped quotes. Consider moving the quotes outside or ensuring proper escaping: def excludeFlag = excludeFragileTests ? '--exclude test-complete/nodejs-dmsdk*.js' : '' or using proper escaping for the shell context.
| def excludeFlag = excludeFragileTests ? '--exclude "test-complete/nodejs-dmsdk*.js"' : '' | |
| def excludeFlag = excludeFragileTests ? '--exclude test-complete/nodejs-dmsdk*.js' : '' |
| echo "Running test-complete tests" | ||
| ./node_modules/.bin/mocha --no-parallel -R xunit --timeout 60000 test-complete/ --reporter mocha-junit-reporter --reporter-options mochaFile=$WORKSPACE/test-complete-results.xml || true | ||
| ./node_modules/.bin/mocha --no-parallel -R xunit --timeout 60000 test-complete/ ${excludeFlag} --reporter mocha-junit-reporter --reporter-options mochaFile=\$WORKSPACE/test-complete-results.xml || true |
Copilot
AI
Nov 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ${excludeFlag} variable may not be properly expanded when empty, potentially causing syntax errors in the shell command. When excludeFlag is an empty string, this could result in two consecutive spaces in the command. Consider using Groovy string interpolation more carefully or testing with an empty flag value.
No description provided.