35 lines
		
	
	
		
			838 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			838 B
		
	
	
	
		
			Python
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0-only
 | 
						|
"""
 | 
						|
Randomize all dependent choices
 | 
						|
 | 
						|
This is a somewhat tricky case for randconfig; the visibility of one choice is
 | 
						|
determined by a member of another choice. Randconfig should be able to generate
 | 
						|
all possible patterns.
 | 
						|
"""
 | 
						|
 | 
						|
 | 
						|
def test(conf):
 | 
						|
 | 
						|
    expected0 = False
 | 
						|
    expected1 = False
 | 
						|
    expected2 = False
 | 
						|
 | 
						|
    for i in range(100):
 | 
						|
        assert conf.randconfig(seed=i) == 0
 | 
						|
 | 
						|
        if conf.config_matches('expected_config0'):
 | 
						|
            expected0 = True
 | 
						|
        elif conf.config_matches('expected_config1'):
 | 
						|
            expected1 = True
 | 
						|
        elif conf.config_matches('expected_config2'):
 | 
						|
            expected2 = True
 | 
						|
        else:
 | 
						|
            assert False
 | 
						|
 | 
						|
        if expected0 and expected1 and expected2:
 | 
						|
            break
 | 
						|
 | 
						|
    assert expected0
 | 
						|
    assert expected1
 | 
						|
    assert expected2
 |