@@ -11,6 +11,9 @@ use expect_test::expect_file;
11
11
12
12
use crate :: { Edition , LexedStr , TopEntryPoint } ;
13
13
14
+ #[ path = "../test_data/generated/runner.rs" ]
15
+ mod runner;
16
+
14
17
#[ test]
15
18
fn lex_ok ( ) {
16
19
for case in TestCase :: list ( "lexer/ok" ) {
@@ -54,16 +57,6 @@ fn parse_ok() {
54
57
}
55
58
}
56
59
57
- #[ test]
58
- fn parse_inline_ok ( ) {
59
- for case in TestCase :: list ( "parser/inline/ok" ) {
60
- let _guard = stdx:: panic_context:: enter ( format ! ( "{:?}" , case. rs) ) ;
61
- let ( actual, errors) = parse ( TopEntryPoint :: SourceFile , & case. text ) ;
62
- assert ! ( !errors, "errors in an OK file {}:\n {actual}" , case. rs. display( ) ) ;
63
- expect_file ! [ case. rast] . assert_eq ( & actual) ;
64
- }
65
- }
66
-
67
60
#[ test]
68
61
fn parse_err ( ) {
69
62
for case in TestCase :: list ( "parser/err" ) {
@@ -74,16 +67,6 @@ fn parse_err() {
74
67
}
75
68
}
76
69
77
- #[ test]
78
- fn parse_inline_err ( ) {
79
- for case in TestCase :: list ( "parser/inline/err" ) {
80
- let _guard = stdx:: panic_context:: enter ( format ! ( "{:?}" , case. rs) ) ;
81
- let ( actual, errors) = parse ( TopEntryPoint :: SourceFile , & case. text ) ;
82
- assert ! ( errors, "no errors in an ERR file {}:\n {actual}" , case. rs. display( ) ) ;
83
- expect_file ! [ case. rast] . assert_eq ( & actual)
84
- }
85
- }
86
-
87
70
fn parse ( entry : TopEntryPoint , text : & str ) -> ( String , bool ) {
88
71
let lexed = LexedStr :: new ( Edition :: CURRENT , text) ;
89
72
let input = lexed. to_input ( ) ;
@@ -167,3 +150,27 @@ impl TestCase {
167
150
res
168
151
}
169
152
}
153
+
154
+ #[ track_caller]
155
+ fn run_and_expect_no_errors ( path : & str ) {
156
+ let path = PathBuf :: from ( path) ;
157
+ let text = std:: fs:: read_to_string ( & path) . unwrap ( ) ;
158
+ let ( actual, errors) = parse ( TopEntryPoint :: SourceFile , & text) ;
159
+ assert ! ( !errors, "errors in an OK file {}:\n {actual}" , path. display( ) ) ;
160
+ let mut p = PathBuf :: from ( ".." ) ;
161
+ p. push ( path) ;
162
+ p. set_extension ( "rast" ) ;
163
+ expect_file ! [ p] . assert_eq ( & actual)
164
+ }
165
+
166
+ #[ track_caller]
167
+ fn run_and_expect_errors ( path : & str ) {
168
+ let path = PathBuf :: from ( path) ;
169
+ let text = std:: fs:: read_to_string ( & path) . unwrap ( ) ;
170
+ let ( actual, errors) = parse ( TopEntryPoint :: SourceFile , & text) ;
171
+ assert ! ( errors, "no errors in an ERR file {}:\n {actual}" , path. display( ) ) ;
172
+ let mut p = PathBuf :: from ( ".." ) ;
173
+ p. push ( path) ;
174
+ p. set_extension ( "rast" ) ;
175
+ expect_file ! [ p] . assert_eq ( & actual)
176
+ }
0 commit comments