mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/python
 | |
| 
 | |
| # Copyright 2005 Dave Abrahams
 | |
| # Distributed under the Boost Software License, Version 1.0.
 | |
| # (See accompanying file LICENSE_1_0.txt or copy at
 | |
| # http://www.boost.org/LICENSE_1_0.txt)
 | |
| 
 | |
| import BoostBuild
 | |
| 
 | |
| 
 | |
| def wait_for_bar(t):
 | |
|     """
 | |
|       Wait to make the test system correctly recognize the 'bar' file as
 | |
|     touched after the next build run. Without the wait, the next build run may
 | |
|     rebuild the 'bar' file with the new and the old file modification timestamp
 | |
|     too close to each other - which could, depending on the currently supported
 | |
|     file modification timestamp resolution, be detected as 'no change' by the
 | |
|     testing system.
 | |
| 
 | |
|     """
 | |
|     t.wait_for_time_change("bar", touch=False)
 | |
| 
 | |
| 
 | |
| t = BoostBuild.Tester(["-ffile.jam", "-d+3", "-d+12", "-d+13"], pass_d0=False,
 | |
|     pass_toolset=0)
 | |
| 
 | |
| t.write("file.jam", """\
 | |
| rule make
 | |
| {
 | |
|     DEPENDS $(<) : $(>) ;
 | |
|     DEPENDS all : $(<) ;
 | |
| }
 | |
| actions make
 | |
| {
 | |
|     echo "******" making $(<) from $(>) "******"
 | |
|     echo made from $(>) > $(<)
 | |
| }
 | |
| 
 | |
| make aux1 : bar ;
 | |
| make foo : bar ;
 | |
| REBUILDS foo : bar ;
 | |
| make bar : baz ;
 | |
| make aux2 : bar ;
 | |
| """)
 | |
| 
 | |
| t.write("baz", "nothing")
 | |
| 
 | |
| t.run_build_system(["bar"])
 | |
| t.expect_addition("bar")
 | |
| t.expect_nothing_more()
 | |
| 
 | |
| wait_for_bar(t)
 | |
| t.run_build_system(["foo"])
 | |
| t.expect_touch("bar")
 | |
| t.expect_addition("foo")
 | |
| t.expect_nothing_more()
 | |
| 
 | |
| t.run_build_system()
 | |
| t.expect_addition(["aux1", "aux2"])
 | |
| t.expect_nothing_more()
 | |
| 
 | |
| t.touch("bar")
 | |
| wait_for_bar(t)
 | |
| t.run_build_system()
 | |
| t.expect_touch(["foo", "bar", "aux1", "aux2"])
 | |
| t.expect_nothing_more()
 | |
| 
 | |
| t.cleanup()
 |