From c83e498f52ce6989d2e5df730ec78c6570abd2ca Mon Sep 17 00:00:00 2001
From: Alex Crichton <alex@alexcrichton.com>
Date: Mon, 6 Aug 2018 09:55:20 -0700
Subject: [PATCH] Move non-wasm test to an actual non-wasm test

---
 tests/all/main.rs     |   1 -
 tests/all/non_wasm.rs | 101 ------------------------------------------
 tests/non_wasm.rs     |  53 ++++++++++++++++++++++
 3 files changed, 53 insertions(+), 102 deletions(-)
 delete mode 100644 tests/all/non_wasm.rs
 create mode 100644 tests/non_wasm.rs

diff --git a/tests/all/main.rs b/tests/all/main.rs
index 8c3164db..607b8f6d 100644
--- a/tests/all/main.rs
+++ b/tests/all/main.rs
@@ -11,5 +11,4 @@ mod imports;
 mod simple;
 mod node;
 mod non_debug;
-mod non_wasm;
 mod typescript;
diff --git a/tests/all/non_wasm.rs b/tests/all/non_wasm.rs
deleted file mode 100644
index 63099863..00000000
--- a/tests/all/non_wasm.rs
+++ /dev/null
@@ -1,101 +0,0 @@
-use super::{project, run};
-use std::process::Command;
-
-#[test]
-fn works() {
-    let mut p = project();
-    let name = p.crate_name();
-    p.rlib(true)
-        .file(
-            "src/lib.rs",
-            r#"
-            #![feature(use_extern_macros)]
-
-            extern crate wasm_bindgen;
-
-            use wasm_bindgen::prelude::*;
-
-            #[wasm_bindgen]
-            pub struct A {
-                x: u32,
-            }
-
-            #[wasm_bindgen]
-            impl A {
-                pub fn new() -> A {
-                    A { x: 3 }
-                }
-
-                pub fn foo(&self) {
-                }
-            }
-
-            #[wasm_bindgen]
-            pub fn foo(x: bool) {
-                A::new().foo();
-
-                if x {
-                    bar("test");
-                    baz(JsValue::from(3));
-                }
-            }
-
-            #[wasm_bindgen]
-            extern {
-                fn some_import();
-                static A: JsValue;
-            }
-
-            #[wasm_bindgen]
-            pub fn bar(_: &str) -> JsValue {
-                some_import();
-                A.clone()
-            }
-
-            #[wasm_bindgen]
-            pub fn baz(_: JsValue) {
-            }
-        "#,
-        )
-        .file(
-            "tests/foo.rs",
-            &format!(
-                "
-            extern crate {} as mytest;
-
-            #[test]
-            fn foo() {{
-                mytest::foo(false);
-                mytest::A::new().foo();
-            }}
-        ",
-                name
-            ),
-        )
-        .file(
-            "benches/foo.rs",
-            &format!(
-                "
-            #![feature(test)]
-            extern crate test;
-            extern crate {} as mytest;
-
-            #[bench]
-            fn foo(b: &mut test::Bencher) {{
-                b.iter(|| mytest::foo(false));
-            }}
-        ",
-                name
-            ),
-        );
-    let (root, target_dir) = p.build();
-    let mut cmd = Command::new("cargo");
-    cmd.arg("test")
-        .arg("--test")
-        .arg("foo")
-        .arg("--bench")
-        .arg("foo")
-        .current_dir(&root)
-        .env("CARGO_TARGET_DIR", &target_dir);
-    run(&mut cmd, "cargo");
-}
diff --git a/tests/non_wasm.rs b/tests/non_wasm.rs
new file mode 100644
index 00000000..7a8128f7
--- /dev/null
+++ b/tests/non_wasm.rs
@@ -0,0 +1,53 @@
+#![feature(use_extern_macros)]
+
+extern crate wasm_bindgen;
+
+use wasm_bindgen::prelude::*;
+
+#[wasm_bindgen]
+pub struct A {
+    x: u32,
+}
+
+#[wasm_bindgen]
+impl A {
+    pub fn new() -> A {
+        A { x: 3 }
+    }
+
+    pub fn foo(&self) {
+        drop(self.x);
+    }
+}
+
+#[wasm_bindgen]
+pub fn foo(x: bool) {
+    A::new().foo();
+
+    if x {
+        bar("test");
+        baz(JsValue::from(3));
+    }
+}
+
+#[wasm_bindgen]
+extern {
+    fn some_import();
+    static A: JsValue;
+}
+
+#[wasm_bindgen]
+pub fn bar(_: &str) -> JsValue {
+    some_import();
+    A.clone()
+}
+
+#[wasm_bindgen]
+pub fn baz(_: JsValue) {
+}
+
+#[test]
+fn test_foo() {
+    foo(false);
+    A::new().foo();
+}