@@ -327,53 +327,55 @@ def __init__(self):
327327 self .executable_opts = [self .name ]
328328 self .sanity_patterns = sn .assert_found (self .name , self .stdout )
329329
330- @rfm .parameterized_test (* ([kind ] for kind in ['fully' , 'by_case' ,
331- 'exact' ]))
332330 class Test1_deprecated (rfm .RunOnlyRegressionTest ):
333- def __init__ (self , kind ):
334- kindspec = {
335- 'fully' : rfm .DEPEND_FULLY ,
336- 'by_case' : rfm .DEPEND_BY_ENV ,
337- 'exact' : rfm .DEPEND_EXACT ,
338- }
331+ kind = parameter ([rfm .DEPEND_FULLY ,
332+ rfm .DEPEND_BY_ENV ,
333+ rfm .DEPEND_EXACT ])
334+
335+ def __init__ (self ):
339336 self .valid_systems = ['sys0:p0' , 'sys0:p1' ]
340337 self .valid_prog_environs = ['e0' , 'e1' ]
341338 self .executable = 'echo'
342339 self .executable_opts = [self .name ]
343- if kindspec [ kind ] == rfm .DEPEND_EXACT :
344- self .depends_on ('Test0' , kindspec [ kind ] ,
340+ if self . kind == rfm .DEPEND_EXACT :
341+ self .depends_on ('Test0' , self . kind ,
345342 {'e0' : ['e0' , 'e1' ], 'e1' : ['e1' ]})
346343 else :
347- self .depends_on ('Test0' , kindspec [kind ])
348-
349- with pytest .warns (ReframeDeprecationWarning ):
350- t1 = Test1_deprecated ('fully' )
351- assert (t1 ._userdeps == [('Test0' , udeps .by_part )])
352-
353- with pytest .warns (ReframeDeprecationWarning ):
354- t1 = Test1_deprecated ('by_case' )
355- assert (t1 ._userdeps == [('Test0' , udeps .by_case )])
356-
357- with pytest .warns (ReframeDeprecationWarning ):
358- t1 = Test1_deprecated ('exact' )
359- how = t1 ._userdeps [0 ][1 ]
360- t0_cases = [(p , e ) for p in ['p0' , 'p1' ]
361- for e in ['e0' , 'e1' ]]
362- t1_cases = [(p , e ) for p in ['p0' , 'p1' ]
363- for e in ['e0' , 'e1' ]]
364- deps = {(t0 , t1 ) for t0 in t0_cases
365- for t1 in t1_cases if how (t0 , t1 )}
366- assert deps == {
367- (t0 , t1 ) for t0 in t0_cases
368- for t1 in t1_cases
369- if ((t0 [0 ] == t1 [0 ] and t0 [1 ] == 'e0' ) or
370- (t0 [0 ] == t1 [0 ] and t0 [1 ] == 'e1' and t1 [1 ] == 'e1' ))
371- }
372- assert len (deps ) == 6
344+ self .depends_on ('Test0' , self .kind )
345+
346+ # We will do our assertions in a post-init hook
347+
348+ @rfm .run_after ('init' )
349+ def assert_deps (self ):
350+ if self .kind == rfm .DEPEND_FULLY :
351+ assert self ._userdeps == [('Test0' , udeps .by_part )]
352+ elif self .kind == rfm .DEPEND_BY_ENV :
353+ assert self ._userdeps == [('Test0' , udeps .by_case )]
354+ else :
355+ how = self ._userdeps [0 ][1 ]
356+ t0_cases = [(p , e ) for p in ['p0' , 'p1' ]
357+ for e in ['e0' , 'e1' ]]
358+ t1_cases = [(p , e ) for p in ['p0' , 'p1' ]
359+ for e in ['e0' , 'e1' ]]
360+ deps = {(t0 , t1 ) for t0 in t0_cases
361+ for t1 in t1_cases if how (t0 , t1 )}
362+ assert deps == {
363+ (t0 , t1 ) for t0 in t0_cases
364+ for t1 in t1_cases
365+ if ((t0 [0 ] == t1 [0 ] and t0 [1 ] == 'e0' ) or
366+ (t0 [0 ] == t1 [0 ] and t0 [1 ] == 'e1' and t1 [1 ] == 'e1' ))
367+ }
368+ assert len (deps ) == 6
369+
370+ with pytest .warns (ReframeDeprecationWarning ) as warnings :
371+ for _ in Test1_deprecated .param_space :
372+ Test1_deprecated (_rfm_use_params = True )
373+
374+ assert len (warnings ) == 3
373375
374376
375377def test_build_deps (loader , default_exec_ctx ):
376- checks = loader .load_all ()
378+ checks = loader .load_all (force = True )
377379 cases = executors .generate_testcases (checks )
378380
379381 # Test calling getdep() before having built the graph
0 commit comments