diff options
author | Ms2ger <Ms2ger@gmail.com> | 2015-08-03 15:01:23 +0200 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2015-08-03 15:01:23 +0200 |
commit | 2a7f262b7df8761261a0fa618394f4e991733a5e (patch) | |
tree | ed9574e92d21073df0924bc56640a5aeabc934b6 /components/script/dom | |
parent | 1809748dc12ec63e3179b66109c91983f744c235 (diff) | |
download | servo-2a7f262b7df8761261a0fa618394f4e991733a5e.tar.gz servo-2a7f262b7df8761261a0fa618394f4e991733a5e.zip |
Lock and flush stdout in Window#alert.
We use alert() to communicate test results to wptrunner. Unfortunately,
sometimes the alert output is interleaved with other output on stdout,
causing wptrunner to classify the test result as a timeout. I hope this will
avoid that scenario.
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/window.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index d7a9e9f243a..4e90cc71012 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -72,6 +72,7 @@ use std::cell::{Cell, Ref, RefMut, RefCell}; use std::collections::HashSet; use std::default::Default; use std::ffi::CString; +use std::io::{stdout, Write}; use std::mem as std_mem; use std::rc::Rc; use std::sync::Arc; @@ -342,7 +343,10 @@ impl<'a> WindowMethods for &'a Window { // https://html.spec.whatwg.org/#dom-alert fn Alert(self, s: DOMString) { // Right now, just print to the console - println!("ALERT: {}", s); + let stdout = stdout(); + let mut stdout = stdout.lock(); + writeln!(&mut stdout, "ALERT: {}", s).unwrap(); + stdout.flush().unwrap(); } // https://html.spec.whatwg.org/multipage/#dom-window-close |