diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-07-27 01:33:01 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-07-27 18:56:16 +0300 |
| commit | 9be35f82c1abf2ecbab489bca9eca138ea648312 (patch) | |
| tree | 69888506e34af447d9748c0d542de3ba1dd76210 /src/test/ui/modules | |
| parent | ca9faa52f5ada0054b1fa27d97aedf448afb059b (diff) | |
| download | rust-9be35f82c1abf2ecbab489bca9eca138ea648312.tar.gz rust-9be35f82c1abf2ecbab489bca9eca138ea648312.zip | |
tests: Move run-pass tests without naming conflicts to ui
Diffstat (limited to 'src/test/ui/modules')
22 files changed, 166 insertions, 0 deletions
diff --git a/src/test/ui/modules/auxiliary/two_macros_2.rs b/src/test/ui/modules/auxiliary/two_macros_2.rs new file mode 100644 index 00000000000..8ad2c0f1275 --- /dev/null +++ b/src/test/ui/modules/auxiliary/two_macros_2.rs @@ -0,0 +1,3 @@ +macro_rules! macro_one { ($($t:tt)*) => ($($t)*) } + +macro_rules! macro_two { ($($t:tt)*) => ($($t)*) } diff --git a/src/test/ui/modules/mod-inside-fn.rs b/src/test/ui/modules/mod-inside-fn.rs new file mode 100644 index 00000000000..93050c8919a --- /dev/null +++ b/src/test/ui/modules/mod-inside-fn.rs @@ -0,0 +1,13 @@ +// run-pass + +fn f() -> isize { + mod m { + pub fn g() -> isize { 720 } + } + + m::g() +} + +pub fn main() { + assert_eq!(f(), 720); +} diff --git a/src/test/ui/modules/mod-view-items.rs b/src/test/ui/modules/mod-view-items.rs new file mode 100644 index 00000000000..db2b303668b --- /dev/null +++ b/src/test/ui/modules/mod-view-items.rs @@ -0,0 +1,14 @@ +// run-pass +// Test view items inside non-file-level mods + +// This is a regression test for an issue where we were failing to +// pretty-print such view items. If that happens again, this should +// begin failing. + +// pretty-expanded FIXME #23616 + +mod m { + pub fn f() -> Vec<isize> { Vec::new() } +} + +pub fn main() { let _x = m::f(); } diff --git a/src/test/ui/modules/mod_dir_implicit.rs b/src/test/ui/modules/mod_dir_implicit.rs new file mode 100644 index 00000000000..d6ea6a98bda --- /dev/null +++ b/src/test/ui/modules/mod_dir_implicit.rs @@ -0,0 +1,8 @@ +// run-pass +// ignore-pretty issue #37195 + +mod mod_dir_implicit_aux; + +pub fn main() { + assert_eq!(mod_dir_implicit_aux::foo(), 10); +} diff --git a/src/test/ui/modules/mod_dir_implicit_aux/compiletest-ignore-dir b/src/test/ui/modules/mod_dir_implicit_aux/compiletest-ignore-dir new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/src/test/ui/modules/mod_dir_implicit_aux/compiletest-ignore-dir diff --git a/src/test/ui/modules/mod_dir_implicit_aux/mod.rs b/src/test/ui/modules/mod_dir_implicit_aux/mod.rs new file mode 100644 index 00000000000..4f1eb85e4cc --- /dev/null +++ b/src/test/ui/modules/mod_dir_implicit_aux/mod.rs @@ -0,0 +1,2 @@ +// run-pass +pub fn foo() -> isize { 10 } diff --git a/src/test/ui/modules/mod_dir_path.rs b/src/test/ui/modules/mod_dir_path.rs new file mode 100644 index 00000000000..70f592d0c0e --- /dev/null +++ b/src/test/ui/modules/mod_dir_path.rs @@ -0,0 +1,23 @@ +// run-pass +#![allow(unused_macros)] +// ignore-pretty issue #37195 + +mod mod_dir_simple { + #[path = "test.rs"] + pub mod syrup; +} + +pub fn main() { + assert_eq!(mod_dir_simple::syrup::foo(), 10); + + #[path = "auxiliary"] + mod foo { + mod two_macros_2; + } + + #[path = "auxiliary"] + mod bar { + macro_rules! m { () => { mod two_macros_2; } } + m!(); + } +} diff --git a/src/test/ui/modules/mod_dir_path2.rs b/src/test/ui/modules/mod_dir_path2.rs new file mode 100644 index 00000000000..c3e3e1d639e --- /dev/null +++ b/src/test/ui/modules/mod_dir_path2.rs @@ -0,0 +1,12 @@ +// run-pass +// ignore-pretty issue #37195 + +#[path = "mod_dir_simple"] +mod pancakes { + #[path = "test.rs"] + pub mod syrup; +} + +pub fn main() { + assert_eq!(pancakes::syrup::foo(), 10); +} diff --git a/src/test/ui/modules/mod_dir_path3.rs b/src/test/ui/modules/mod_dir_path3.rs new file mode 100644 index 00000000000..fed70c1bc98 --- /dev/null +++ b/src/test/ui/modules/mod_dir_path3.rs @@ -0,0 +1,11 @@ +// run-pass +// ignore-pretty issue #37195 + +#[path = "mod_dir_simple"] +mod pancakes { + pub mod test; +} + +pub fn main() { + assert_eq!(pancakes::test::foo(), 10); +} diff --git a/src/test/ui/modules/mod_dir_path_multi.rs b/src/test/ui/modules/mod_dir_path_multi.rs new file mode 100644 index 00000000000..2b805141a63 --- /dev/null +++ b/src/test/ui/modules/mod_dir_path_multi.rs @@ -0,0 +1,17 @@ +// run-pass +// ignore-pretty issue #37195 + +#[path = "mod_dir_simple"] +mod biscuits { + pub mod test; +} + +#[path = "mod_dir_simple"] +mod gravy { + pub mod test; +} + +pub fn main() { + assert_eq!(biscuits::test::foo(), 10); + assert_eq!(gravy::test::foo(), 10); +} diff --git a/src/test/ui/modules/mod_dir_recursive.rs b/src/test/ui/modules/mod_dir_recursive.rs new file mode 100644 index 00000000000..b109d13d164 --- /dev/null +++ b/src/test/ui/modules/mod_dir_recursive.rs @@ -0,0 +1,14 @@ +// run-pass +// ignore-pretty issue #37195 + +// Testing that the parser for each file tracks its modules +// and paths independently. The load_another_mod module should +// not try to reuse the 'mod_dir_simple' path. + +mod mod_dir_simple { + pub mod load_another_mod; +} + +pub fn main() { + assert_eq!(mod_dir_simple::load_another_mod::test::foo(), 10); +} diff --git a/src/test/ui/modules/mod_dir_simple.rs b/src/test/ui/modules/mod_dir_simple.rs new file mode 100644 index 00000000000..1d92c968a8f --- /dev/null +++ b/src/test/ui/modules/mod_dir_simple.rs @@ -0,0 +1,10 @@ +// run-pass +// ignore-pretty issue #37195 + +mod mod_dir_simple { + pub mod test; +} + +pub fn main() { + assert_eq!(mod_dir_simple::test::foo(), 10); +} diff --git a/src/test/ui/modules/mod_dir_simple/compiletest-ignore-dir b/src/test/ui/modules/mod_dir_simple/compiletest-ignore-dir new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/src/test/ui/modules/mod_dir_simple/compiletest-ignore-dir diff --git a/src/test/ui/modules/mod_dir_simple/load_another_mod.rs b/src/test/ui/modules/mod_dir_simple/load_another_mod.rs new file mode 100644 index 00000000000..f96b546aa2f --- /dev/null +++ b/src/test/ui/modules/mod_dir_simple/load_another_mod.rs @@ -0,0 +1,3 @@ +// run-pass +#[path = "test.rs"] +pub mod test; diff --git a/src/test/ui/modules/mod_dir_simple/test.rs b/src/test/ui/modules/mod_dir_simple/test.rs new file mode 100644 index 00000000000..4f1eb85e4cc --- /dev/null +++ b/src/test/ui/modules/mod_dir_simple/test.rs @@ -0,0 +1,2 @@ +// run-pass +pub fn foo() -> isize { 10 } diff --git a/src/test/ui/modules/mod_file.rs b/src/test/ui/modules/mod_file.rs new file mode 100644 index 00000000000..0ca52889e5c --- /dev/null +++ b/src/test/ui/modules/mod_file.rs @@ -0,0 +1,10 @@ +// run-pass +// ignore-pretty issue #37195 + +// Testing that a plain .rs file can load modules from other source files + +mod mod_file_aux; + +pub fn main() { + assert_eq!(mod_file_aux::foo(), 10); +} diff --git a/src/test/ui/modules/mod_file_aux.rs b/src/test/ui/modules/mod_file_aux.rs new file mode 100644 index 00000000000..6d052272eb3 --- /dev/null +++ b/src/test/ui/modules/mod_file_aux.rs @@ -0,0 +1,4 @@ +// run-pass +// ignore-test Not a test. Used by other tests + +pub fn foo() -> isize { 10 } diff --git a/src/test/ui/modules/mod_file_with_path_attr.rs b/src/test/ui/modules/mod_file_with_path_attr.rs new file mode 100644 index 00000000000..48e253eadae --- /dev/null +++ b/src/test/ui/modules/mod_file_with_path_attr.rs @@ -0,0 +1,11 @@ +// run-pass +// ignore-pretty issue #37195 + +// Testing that a plain .rs file can load modules from other source files + +#[path = "mod_file_aux.rs"] +mod m; + +pub fn main() { + assert_eq!(m::foo(), 10); +} diff --git a/src/test/ui/modules/module-polymorphism3-files/compiletest-ignore-dir b/src/test/ui/modules/module-polymorphism3-files/compiletest-ignore-dir new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/src/test/ui/modules/module-polymorphism3-files/compiletest-ignore-dir diff --git a/src/test/ui/modules/module-polymorphism3-files/float-template/inst_f32.rs b/src/test/ui/modules/module-polymorphism3-files/float-template/inst_f32.rs new file mode 100644 index 00000000000..49d2b3d4b85 --- /dev/null +++ b/src/test/ui/modules/module-polymorphism3-files/float-template/inst_f32.rs @@ -0,0 +1,3 @@ +// run-pass + +pub type T = f32; diff --git a/src/test/ui/modules/module-polymorphism3-files/float-template/inst_f64.rs b/src/test/ui/modules/module-polymorphism3-files/float-template/inst_f64.rs new file mode 100644 index 00000000000..e2aad480e3d --- /dev/null +++ b/src/test/ui/modules/module-polymorphism3-files/float-template/inst_f64.rs @@ -0,0 +1,3 @@ +// run-pass + +pub type T = f64; diff --git a/src/test/ui/modules/module-polymorphism3-files/float-template/inst_float.rs b/src/test/ui/modules/module-polymorphism3-files/float-template/inst_float.rs new file mode 100644 index 00000000000..5828718cddc --- /dev/null +++ b/src/test/ui/modules/module-polymorphism3-files/float-template/inst_float.rs @@ -0,0 +1,3 @@ +// run-pass + +pub type T = float; |
