aboutsummaryrefslogtreecommitdiff
path: root/lib/project/tests/test_gui_browser_races.py
diff options
context:
space:
mode:
authorhistoria <historiavg@proton.me>2026-09-12 21:18:34 -0400
committerhistoria <historiavg@proton.me>2026-09-12 21:18:34 -0400
commit544134f0534d2e4e4fd7ab823d8a0da543fa80ef (patch)
treeef0f787b6377608b3814ac642804e8c778980ddf /lib/project/tests/test_gui_browser_races.py
parent0cd53b67793e74e8be0201b90711cb51b7186d6e (diff)
downloadproducer-544134f0534d2e4e4fd7ab823d8a0da543fa80ef.tar.gz
fix: output wavs from gui go into correct directory
Diffstat (limited to 'lib/project/tests/test_gui_browser_races.py')
-rw-r--r--lib/project/tests/test_gui_browser_races.py31
1 files changed, 20 insertions, 11 deletions
diff --git a/lib/project/tests/test_gui_browser_races.py b/lib/project/tests/test_gui_browser_races.py
index 5f2638b..32b7eef 100644
--- a/lib/project/tests/test_gui_browser_races.py
+++ b/lib/project/tests/test_gui_browser_races.py
@@ -13,7 +13,7 @@ def test_gui_browser_cancellation_is_not_pretend(studio):
from playwright.sync_api import sync_playwright, expect
with sync_playwright() as playwright:
- browser = playwright.chromium.launch(headless=True, args=["--no-sandbox"])
+ browser = playwright.chromium.launch(headless=True, channel=os.environ.get("PRODUCER_BROWSER_CHANNEL") or None, args=["--no-sandbox"])
page = browser.new_page()
page.goto(studio["url"])
page.locator("#pick-files").set_input_files(studio["source"])
@@ -22,6 +22,13 @@ def test_gui_browser_cancellation_is_not_pretend(studio):
page.locator("#render-preview").click()
assert studio["control"]["started"].wait(10)
expect(page.locator("#jobs .job").filter(has_text="running")).to_have_count(1, timeout=10000)
+ # The launch override disables denoising, hiding its strength control;
+ # enable the denoiser module (checkbox), then pick FFT and edit
+ # another control while the preview is running.
+ page.locator("#enable-denoiser").check()
+ expect(page.locator("#setting-denoiser")).to_be_enabled()
+ page.locator("#setting-denoiser").select_option("fft")
+ expect(page.locator("#setting-denoise_strength")).to_be_visible()
page.locator("#setting-denoise_strength").fill("0.4")
page.locator("#render-preview").click()
queued = page.locator("#jobs .job").filter(has_text="queued")
@@ -42,7 +49,7 @@ def test_gui_browser_late_audio_is_aborted_and_urls_are_released(studio):
from playwright.sync_api import sync_playwright, expect
with sync_playwright() as playwright:
- browser = playwright.chromium.launch(headless=True, args=["--no-sandbox"])
+ browser = playwright.chromium.launch(headless=True, channel=os.environ.get("PRODUCER_BROWSER_CHANNEL") or None, args=["--no-sandbox"])
page = browser.new_page()
page.add_init_script("""window.objectURLs = {created: [], revoked: []};
const create = URL.createObjectURL.bind(URL), revoke = URL.revokeObjectURL.bind(URL);
@@ -92,7 +99,7 @@ def test_gui_browser_nonzero_monitoring_gain_is_playback_only(studio):
from playwright.sync_api import sync_playwright, expect
with sync_playwright() as playwright:
- browser = playwright.chromium.launch(headless=True, args=["--no-sandbox"])
+ browser = playwright.chromium.launch(headless=True, channel=os.environ.get("PRODUCER_BROWSER_CHANNEL") or None, args=["--no-sandbox"])
page = browser.new_page()
page.add_init_script("""window.monitorGains = [];
const createGain = AudioContext.prototype.createGain;
@@ -117,13 +124,11 @@ def test_gui_browser_nonzero_monitoring_gain_is_playback_only(studio):
assert min(gains) < .9, "A nonzero measured loudness difference should attenuate one playback side"
assert page.locator("#preview-settings").text_content() == requested
assert page.locator("#meters").inner_text() == meters
+ # The old pacing export dialog is gone; export submits directly and
+ # nothing exists in the output directory to overwrite.
+ page.locator("#output-dir").fill(str(studio["root"] / "delivery"))
page.locator("#prepare-export").click()
- expect(page.locator("#export-dialog")).to_be_visible()
- frozen_export = page.locator("#export-settings").text_content()
- assert '"level_target_db": -12' in frozen_export
- assert "original_gain_db" not in frozen_export and "processed_gain_db" not in frozen_export
- assert "monitoring" not in frozen_export
- page.locator("#cancel-export").click()
+ expect(page.locator("#export-results")).to_contain_text("Full recording exported", timeout=30000)
page.locator("#match").uncheck()
assert page.evaluate("monitorGains.map(node => node.gain.value)") == [1, 1]
browser.close()
@@ -134,7 +139,7 @@ def test_delayed_job_list_preserves_new_submission_intent(studio, kind):
from playwright.sync_api import sync_playwright, expect
with sync_playwright() as playwright:
- browser = playwright.chromium.launch(headless=True, args=["--no-sandbox"])
+ browser = playwright.chromium.launch(headless=True, channel=os.environ.get("PRODUCER_BROWSER_CHANNEL") or None, args=["--no-sandbox"])
page = browser.new_page()
page.goto(studio["url"])
if kind == "preview":
@@ -176,7 +181,7 @@ def test_delayed_audio_resume_does_not_start_superseded_playback(studio, interru
from playwright.sync_api import sync_playwright, expect
with sync_playwright() as playwright:
- browser = playwright.chromium.launch(headless=True, args=["--no-sandbox"])
+ browser = playwright.chromium.launch(headless=True, channel=os.environ.get("PRODUCER_BROWSER_CHANNEL") or None, args=["--no-sandbox"])
page = browser.new_page()
page.add_init_script("""window.releaseAudioResume = null;
const resume = AudioContext.prototype.resume;
@@ -196,6 +201,10 @@ def test_delayed_audio_resume_does_not_start_superseded_playback(studio, interru
page.locator("#listen-processed").click()
expect(page.locator("#listen-processed")).to_have_attribute("aria-pressed", "true")
elif interruption == "edit":
+ # The launch override hides the denoiser module; enable it and
+ # pick FFT so the strength control is editable.
+ page.locator("#enable-denoiser").check()
+ page.locator("#setting-denoiser").select_option("fft")
page.locator("#setting-denoise_strength").fill("0.4")
else:
page.route("**/api/jobs", lambda route: route.fulfill(