diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index ace748b..127dd2b 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -89,99 +89,5 @@ jobs: node-modules- - name: Install dependencies run: npm install - - name: Install Chrome - uses: browser-actions/setup-chrome@latest - with: - chrome-version: stable - name: Run tests - env: - CHROME_HEADLESS: 1 - CHROME_PATH: chrome - CHROME_FLAGS: "--headless --disable-gpu --no-sandbox --enable-features=SharedArrayBuffer,CrossOriginIsolation" - HEADERS: '{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp","Cross-Origin-Resource-Policy":"cross-origin","Origin-Agent-Cluster":"?1"}' - run: | - # Start test server with proper headers - npm run serve -- --headers "${HEADERS}" & - - # Increase wait time to ensure server is ready - sleep 15 - - # Verify headers and isolation status - echo "Checking security headers and isolation status..." - curl -I http://localhost:3000/tests/ffmpeg-core-st.test.html - - # Run verification script first - echo "Verifying browser environment..." - cat << EOF > verify-browser.html - - - - - - - - - - - EOF - - # Run single-threaded tests first - echo "Running single-threaded tests..." - npx mocha-headless-chrome \ - --args="$CHROME_FLAGS" \ - -a no-sandbox \ - -f http://localhost:3000/tests/ffmpeg-core-st.test.html 2>&1 | tee st-core-test.log - - npx mocha-headless-chrome \ - --args="$CHROME_FLAGS" \ - -a no-sandbox \ - -f http://localhost:3000/tests/ffmpeg-st.test.html 2>&1 | tee st-test.log - - # Run multi-threaded tests - echo "Running multi-threaded tests..." - # Create a test script to verify browser environment - cat << EOF > verify-browser.html - - - - Browser Environment Test - - - - - - EOF - - # Run the verification in Chrome - echo "Verifying browser environment..." - npx mocha-headless-chrome \ - --args="$CHROME_FLAGS --enable-features=SharedArrayBuffer,CrossOriginIsolation" \ - -a no-sandbox \ - -f http://localhost:3000/verify-browser.html - - # Run MT tests with verified configuration - npx mocha-headless-chrome \ - --args="$CHROME_FLAGS --enable-features=SharedArrayBuffer,CrossOriginIsolation" \ - -a no-sandbox \ - -f http://localhost:3000/tests/ffmpeg-core-mt.test.html 2>&1 | tee mt-core-test.log - - npx mocha-headless-chrome \ - --args="$CHROME_FLAGS --enable-features=SharedArrayBuffer,CrossOriginIsolation" \ - -a no-sandbox \ - -f http://localhost:3000/tests/ffmpeg-mt.test.html 2>&1 | tee mt-test.log - - # Display all logs for debugging - echo "=== Test Logs ===" - for log in *-test.log; do - echo "Contents of $log:" - cat $log - done + run: npm test diff --git a/tests/ffmpeg-core.test.js b/tests/ffmpeg-core.test.js index 6de5bb8..158391e 100644 --- a/tests/ffmpeg-core.test.js +++ b/tests/ffmpeg-core.test.js @@ -1,14 +1,3 @@ -const isMTSupported = typeof SharedArrayBuffer !== "undefined"; -const isIsolated = window.crossOriginIsolated; - -if (FFMPEG_TYPE === "mt" && !isMTSupported) { - console.warn("SharedArrayBuffer not available, skipping MT tests"); -} - -if (FFMPEG_TYPE === "mt" && !isIsolated) { - console.warn("Cross-origin isolation not available, skipping MT tests"); -} - let core; const genName = (name) => `[ffmpeg-core][${FFMPEG_TYPE}] ${name}`;