22const DEPENDENCY_TESTS : [ & str ; 2 ] = [ "25_dependency_1" , "25_dependency_2" ] ;
33
44#[ cfg( test) ]
5- const STD_TESTS : [ & str ; 1 ] = [ "68_std " ] ;
5+ const STD_TESTS : [ & str ; 2 ] = [ "68_std_1" , "68_std_2 "] ;
66
77#[ cfg( test) ]
88const PACKAGE_SELF_REF_TESTS : [ & str ; 2 ] = [ "84_package_self_ref_1" , "84_package_self_ref_2" ] ;
@@ -28,6 +28,21 @@ mod parser {
2828 include ! ( concat!( env!( "OUT_DIR" ) , "/test.rs" ) ) ;
2929}
3030
31+ #[ cfg( test) ]
32+ fn skip_test ( name : & str ) -> bool {
33+ ( crate :: DEPENDENCY_TESTS . contains ( & name) && crate :: DEPENDENCY_TESTS [ 0 ] != name)
34+ || ( crate :: STD_TESTS . contains ( & name) && crate :: STD_TESTS [ 0 ] != name)
35+ || ( crate :: PACKAGE_SELF_REF_TESTS . contains ( & name)
36+ && crate :: PACKAGE_SELF_REF_TESTS [ 0 ] == name)
37+ }
38+
39+ #[ cfg( test) ]
40+ fn needs_sub_project ( name : & str ) -> bool {
41+ crate :: DEPENDENCY_TESTS . contains ( & name)
42+ || crate :: STD_TESTS . contains ( & name)
43+ || crate :: PACKAGE_SELF_REF_TESTS . contains ( & name)
44+ }
45+
3146#[ cfg( test) ]
3247mod analyzer {
3348 use std:: fs;
@@ -36,17 +51,11 @@ mod analyzer {
3651 use veryl_parser:: Parser ;
3752
3853 fn test ( name : & str ) {
39- if ( crate :: DEPENDENCY_TESTS . contains ( & name) && crate :: DEPENDENCY_TESTS [ 0 ] != name)
40- || ( crate :: PACKAGE_SELF_REF_TESTS . contains ( & name)
41- && crate :: PACKAGE_SELF_REF_TESTS [ 0 ] == name)
42- {
54+ if crate :: skip_test ( name) {
4355 return ;
4456 }
4557
46- let needs_sub_project = crate :: DEPENDENCY_TESTS . contains ( & name)
47- || crate :: STD_TESTS . contains ( & name)
48- || crate :: PACKAGE_SELF_REF_TESTS . contains ( & name) ;
49- let _lock = if needs_sub_project {
58+ let _lock = if crate :: needs_sub_project ( name) {
5059 Some ( crate :: DEPENDENCY_LOCK . lock ( ) )
5160 } else {
5261 None
@@ -55,7 +64,7 @@ mod analyzer {
5564 let metadata_path = Metadata :: search_from_current ( ) . unwrap ( ) ;
5665 let mut metadata = Metadata :: load ( & metadata_path) . unwrap ( ) ;
5766
58- if needs_sub_project {
67+ if crate :: needs_sub_project ( name ) {
5968 let paths = metadata. paths :: < & str > ( & [ ] , false , true ) . unwrap ( ) ;
6069 let dependency_path = metadata. project_dependencies_path ( ) ;
6170 for path in paths {
@@ -70,6 +79,8 @@ mod analyzer {
7079
7180 let files = if crate :: DEPENDENCY_TESTS . contains ( & name) {
7281 crate :: DEPENDENCY_TESTS . to_vec ( )
82+ } else if crate :: STD_TESTS . contains ( & name) {
83+ crate :: STD_TESTS . to_vec ( )
7384 } else if crate :: PACKAGE_SELF_REF_TESTS . contains ( & name) {
7485 crate :: PACKAGE_SELF_REF_TESTS . to_vec ( )
7586 } else {
@@ -215,17 +226,11 @@ mod emitter {
215226 use veryl_parser:: Parser ;
216227
217228 fn test ( name : & str ) {
218- if ( crate :: DEPENDENCY_TESTS . contains ( & name) && crate :: DEPENDENCY_TESTS [ 0 ] != name)
219- || ( crate :: PACKAGE_SELF_REF_TESTS . contains ( & name)
220- && crate :: PACKAGE_SELF_REF_TESTS [ 0 ] == name)
221- {
229+ if crate :: skip_test ( name) {
222230 return ;
223231 }
224232
225- let needs_sub_project = crate :: DEPENDENCY_TESTS . contains ( & name)
226- || crate :: STD_TESTS . contains ( & name)
227- || crate :: PACKAGE_SELF_REF_TESTS . contains ( & name) ;
228- let _lock = if needs_sub_project {
233+ let _lock = if crate :: needs_sub_project ( name) {
229234 Some ( crate :: DEPENDENCY_LOCK . lock ( ) )
230235 } else {
231236 None
@@ -234,7 +239,7 @@ mod emitter {
234239 let metadata_path = Metadata :: search_from_current ( ) . unwrap ( ) ;
235240 let mut metadata = Metadata :: load ( & metadata_path) . unwrap ( ) ;
236241
237- if needs_sub_project {
242+ if crate :: needs_sub_project ( name ) {
238243 let paths = metadata. paths :: < & str > ( & [ ] , false , true ) . unwrap ( ) ;
239244 let dependency_path = metadata. project_dependencies_path ( ) ;
240245 for path in paths {
@@ -249,6 +254,8 @@ mod emitter {
249254
250255 let names = if crate :: DEPENDENCY_TESTS . contains ( & name) {
251256 crate :: DEPENDENCY_TESTS . to_vec ( )
257+ } else if crate :: STD_TESTS . contains ( & name) {
258+ crate :: STD_TESTS . to_vec ( )
252259 } else if crate :: PACKAGE_SELF_REF_TESTS . contains ( & name) {
253260 crate :: PACKAGE_SELF_REF_TESTS . to_vec ( )
254261 } else {
0 commit comments