diff options
Diffstat (limited to 'gcc/testsuite/rust/compile/nr2')
-rw-r--r-- | gcc/testsuite/rust/compile/nr2/compile.exp | 38 | ||||
-rw-r--r-- | gcc/testsuite/rust/compile/nr2/exclude | 149 |
2 files changed, 30 insertions, 157 deletions
diff --git a/gcc/testsuite/rust/compile/nr2/compile.exp b/gcc/testsuite/rust/compile/nr2/compile.exp index f2724f6..4d91dd0 100644 --- a/gcc/testsuite/rust/compile/nr2/compile.exp +++ b/gcc/testsuite/rust/compile/nr2/compile.exp @@ -14,9 +14,7 @@ # along with GCC; see the file COPYING3. If not see # <http://www.gnu.org/licenses/>. -# Compile tests, no torture testing, for name resolution 2.0 -# -# These tests raise errors in the front end; torture testing doesn't apply. +# Run compile tests with name resolution 2.0 enabled # Load support procs. load_lib rust-dg.exp @@ -44,23 +42,27 @@ namespace eval rust-nr2-ns { # Run tests in directories # Manually specifying these, in case some other test file # does something weird - set test_dirs {{} {macros builtin} {macros mbe} {macros proc}} + set test_dirs {{} {macros builtin} {macros mbe} {macros proc} {torture}} set tests_expect_ok "" set tests_expect_err "" + set compile_dir [list {*}[file split $srcdir] {*}[file split $subdir]] + set compile_dir [lreplace $compile_dir end end] + foreach test_dir $test_dirs { - set directory [list {*}[file split $srcdir] {*}[file split $subdir]] - set directory [lreplace $directory end end] - set directory [list {*}$directory {*}$test_dir] - foreach test [lsort [glob -nocomplain -tails -directory [file join {*}$directory] *.rs]] { + foreach test [lsort [glob -nocomplain -tails -directory [file join {*}$compile_dir {*}$test_dir] *.rs]] { # use '/' as the path seperator for entries in the exclude file set test_lbl [join [list {*}$test_dir $test] "/"] set idx [lsearch -exact -sorted $exclude $test_lbl] if {$idx == -1} { - lappend tests_expect_ok [file join {*}$directory $test] + if {[runtest_file_p $runtests [file join {*}$compile_dir {*}$test_dir $test]]} { + lappend tests_expect_ok [list {*}$test_dir $test] + } } else { - lappend tests_expect_err [file join {*}$directory $test] + if {[runtest_file_p $runtests [file join {*}$compile_dir {*}$test_dir $test]]} { + lappend tests_expect_err [list {*}$test_dir $test] + } set exclude [lreplace $exclude $idx $idx] } } @@ -85,10 +87,10 @@ namespace eval rust-nr2-ns { variable record_test_out switch $type { FAIL { - lappend record_test_out "$type: $msg" + lappend record_test_out [list $type $msg] } XPASS { - lappend record_test_out "$type: $msg" + lappend record_test_out [list $type $msg] } } } @@ -111,23 +113,23 @@ namespace eval rust-nr2-ns { # check for unexpected failures foreach test $tests_expect_ok { - set fails [try_test $test] + set fails [try_test [file join {*}$compile_dir {*}$test]] if {[llength $fails] != 0} { foreach ent $fails { - record_test FAIL "$test: nr2 failure: $ent" + record_test [lindex $ent 0] "on nr2: [lindex $ent 1]" } } else { - record_test PASS "$test: nr2 success" + record_test PASS "[file join {*}$test] on nr2" } } #check for unexpected successes foreach test $tests_expect_err { - set fails [try_test $test] + set fails [try_test [file join {*}$compile_dir {*}$test]] if {[llength $fails] == 0} { - record_test XPASS "$test: nr2 unexpectedly passed" + record_test XPASS "[file join {*}$test] on nr2" } else { - record_test XFAIL "$test: nr2 was rightfully excluded" + record_test XFAIL "[file join {*}$test] on nr2 was rightfully excluded" } } } diff --git a/gcc/testsuite/rust/compile/nr2/exclude b/gcc/testsuite/rust/compile/nr2/exclude index 60322f3..4772517 100644 --- a/gcc/testsuite/rust/compile/nr2/exclude +++ b/gcc/testsuite/rust/compile/nr2/exclude @@ -1,154 +1,25 @@ -bounds1.rs -break-rust2.rs -break-rust3.rs canonical_paths1.rs cfg1.rs -cfg3.rs -cfg4.rs -cfg5.rs -closure_no_type_anno.rs -complex-path1.rs -const-issue1440.rs -const_generics_3.rs -const_generics_4.rs -const_generics_5.rs -const_generics_7.rs -derive_empty.rs -derive_macro1.rs -expected_type_args2.rs -feature_rust_attri0.rs -format_args_basic_expansion.rs -generic-default1.rs -generics1.rs -generics10.rs -generics11.rs -generics3.rs -generics4.rs -generics5.rs -generics6.rs generics9.rs -if_let_expr.rs -issue-1130.rs -issue-1173.rs -issue-1272.rs -issue-1447.rs -issue-1483.rs -issue-1725-1.rs -issue-1725-2.rs -issue-1786.rs -issue-1893.rs -issue-1901.rs -issue-1981.rs -issue-2036.rs -issue-2043.rs -issue-2136-2.rs -issue-2142.rs -issue-2238.rs -issue-2330.rs -issue-2479.rs -issue-2723-1.rs -issue-2723-2.rs -issue-2772-2.rs -issue-2775.rs -issue-2782.rs -issue-2812.rs -issue-850.rs -issue-852.rs -issue-855.rs -iterators1.rs +issue-3315-2.rs lookup_err1.rs -macros/mbe/macro13.rs -macros/mbe/macro15.rs -macros/mbe/macro23.rs -macros/mbe/macro40.rs -macros/mbe/macro43.rs -macros/mbe/macro44.rs -macros/mbe/macro50.rs -macros/mbe/macro54.rs -macros/mbe/macro6.rs -macros/mbe/macro_rules_macro_rules.rs -macros/mbe/macro_use1.rs -match-never-ltype.rs -match-never-rtype.rs -match1.rs -match2.rs -match3.rs -match4.rs -match5.rs -match9.rs -method2.rs multiple_bindings1.rs multiple_bindings2.rs -name_resolution2.rs -name_resolution4.rs -nested_macro_use1.rs -nested_macro_use2.rs -nested_macro_use3.rs -not_find_value_in_scope.rs -parse_associated_type_as_generic_arg.rs -parse_associated_type_as_generic_arg2.rs -parse_associated_type_as_generic_arg3.rs -parse_complex_generic_application.rs -parse_complex_generic_application2.rs -path_as_generic_arg.rs -pattern-struct.rs -privacy4.rs privacy5.rs privacy8.rs -macros/proc/attribute_non_function.rs -macros/proc/derive_non_function.rs -macros/proc/non_function.rs pub_restricted_1.rs pub_restricted_2.rs pub_restricted_3.rs -redef_error2.rs -redef_error4.rs -redef_error5.rs -self-path1.rs -self-path2.rs -sizeof-stray-infer-var-bug.rs -struct-expr-parse.rs -traits3.rs -traits6.rs -traits7.rs -type-bindings1.rs -unconstrained_type_param.rs -undeclared_label.rs use_1.rs -use_2.rs -v0-mangle1.rs -v0-mangle2.rs -while_break_expr.rs -exhaustiveness1.rs -exhaustiveness2.rs -exhaustiveness3.rs -issue-2324-1.rs -issue-2324-2.rs -issue-3046.rs -issue-3139-2.rs -issue-3032-1.rs -issue-3032-2.rs -# https://github.com/Rust-GCC/gccrs/issues/3189 -if_let_expr_simple.rs -iflet.rs -issue-3033.rs -issue-3009.rs -issue-2953-2.rs -issue-1773.rs issue-2905-2.rs -issue-2907.rs -issue-2423.rs -issue-266.rs -additional-trait-bounds2.rs -auto_traits3.rs -issue-3140.rs -cmp1.rs -derive_clone_enum1.rs -derive_clone_enum2.rs derive_clone_enum3.rs -derive_macro4.rs -derive_macro6.rs -issue-2987.rs -issue-3139-1.rs -issue-3139-3.rs +derive-debug1.rs +derive-default1.rs +derive-eq-invalid.rs +derive-hash1.rs +torture/alt_patterns1.rs +torture/name_resolve1.rs +issue-3568.rs +issue-3663.rs +issue-3671.rs # please don't delete the trailing newline |