aboutsummaryrefslogtreecommitdiffstats
path: root/tests/runner/selenium/queue.js
diff options
context:
space:
mode:
authorTimmy Willison <timmywil@users.noreply.github.com>2024-04-09 13:31:27 -0400
committerGitHub <noreply@github.com>2024-04-09 13:31:27 -0400
commit4af5caed7a16cc0aca6b8f2b65ab0d697df139eb (patch)
tree6986a82205fa38ac5139cacb1b3fb22200c9a089 /tests/runner/selenium/queue.js
parent213fdbaa285158a21546b3edcb912275fed4a334 (diff)
downloadjquery-ui-4af5caed7a16cc0aca6b8f2b65ab0d697df139eb.tar.gz
jquery-ui-4af5caed7a16cc0aca6b8f2b65ab0d697df139eb.zip
Tests: align test runner with other repos
Close gh-2234
Diffstat (limited to 'tests/runner/selenium/queue.js')
-rw-r--r--tests/runner/selenium/queue.js97
1 files changed, 0 insertions, 97 deletions
diff --git a/tests/runner/selenium/queue.js b/tests/runner/selenium/queue.js
deleted file mode 100644
index de24c5bb0..000000000
--- a/tests/runner/selenium/queue.js
+++ /dev/null
@@ -1,97 +0,0 @@
-import chalk from "chalk";
-import { getBrowserString } from "../lib/getBrowserString.js";
-import {
- checkLastTouches,
- createBrowserWorker,
- setBrowserWorkerUrl
-} from "./browsers.js";
-
-const TEST_POLL_TIMEOUT = 1000;
-
-const queue = [];
-
-export function getNextBrowserTest( reportId ) {
- const index = queue.findIndex( ( test ) => test.id === reportId );
- if ( index === -1 ) {
- return;
- }
-
- // Remove the completed test from the queue
- const previousTest = queue[ index ];
- queue.splice( index, 1 );
-
- // Find the next test for the same browser
- for ( const test of queue.slice( index ) ) {
- if ( test.fullBrowser === previousTest.fullBrowser ) {
-
- // Set the URL for our tracking
- setBrowserWorkerUrl( test.browser, test.url );
- test.running = true;
-
- // Return the URL for the next test.
- // listeners.js will use this to set the browser URL.
- return { url: test.url };
- }
- }
-}
-
-export function retryTest( reportId, maxRetries ) {
- if ( !maxRetries ) {
- return;
- }
- const test = queue.find( ( test ) => test.id === reportId );
- if ( test ) {
- test.retries++;
- if ( test.retries <= maxRetries ) {
- console.log(
- `\nRetrying test ${ reportId } for ${ chalk.yellow( test.options.suite ) }...${
- test.retries
- }`
- );
- return test;
- }
- }
-}
-
-export function addRun( url, browser, options ) {
- queue.push( {
- browser,
- fullBrowser: getBrowserString( browser ),
- id: options.reportId,
- retries: 0,
- url,
- options,
- running: false
- } );
-}
-
-export async function runAll() {
- return new Promise( async( resolve, reject ) => {
- while ( queue.length ) {
- try {
- await checkLastTouches();
- } catch ( error ) {
- reject( error );
- }
-
- // Run one test URL per browser at a time
- const browsersTaken = [];
- for ( const test of queue ) {
- if ( browsersTaken.indexOf( test.fullBrowser ) > -1 ) {
- continue;
- }
- browsersTaken.push( test.fullBrowser );
- if ( !test.running ) {
- test.running = true;
- try {
- await createBrowserWorker( test.url, test.browser, test.options );
- } catch ( error ) {
- reject( error );
- }
- }
- }
- await new Promise( ( resolve ) => setTimeout( resolve, TEST_POLL_TIMEOUT ) );
- }
- resolve();
- } );
-}