mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-04 05:50:31 -05: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()
							 |