mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-25 18:10:21 -04:00 
			
		
		
		
	
		
			
	
	
		
			85 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			85 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | #!/usr/bin/python | ||
|  | 
 | ||
|  | # Copyright 2013 Steven Watanabe | ||
|  | # Distributed under the Boost Software License, Version 1.0. | ||
|  | # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) | ||
|  | 
 | ||
|  | # Tests that action sources are not reordered | ||
|  | 
 | ||
|  | import BoostBuild | ||
|  | 
 | ||
|  | t = BoostBuild.Tester() | ||
|  | 
 | ||
|  | t.write("check-order.jam", """\
 | ||
|  | import type ; | ||
|  | import generators ; | ||
|  | 
 | ||
|  | type.register ORDER_TEST : order-test ; | ||
|  | 
 | ||
|  | SPACE = " " ; | ||
|  | nl = "\n" ; | ||
|  | actions check-order | ||
|  | { | ||
|  |     echo$(SPACE)$(>[1])>$(<[1]) | ||
|  |     echo$(SPACE)$(>[2-])>>$(<[1])$(nl) | ||
|  | } | ||
|  | 
 | ||
|  | generators.register-composing check-order.check-order : C : ORDER_TEST ; | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.write( | ||
|  |     'check-order.py', | ||
|  | """
 | ||
|  | import bjam | ||
|  | 
 | ||
|  | from b2.build import type as type_, generators | ||
|  | from b2.tools import common | ||
|  | from b2.manager import get_manager | ||
|  | 
 | ||
|  | MANAGER = get_manager() | ||
|  | ENGINE = MANAGER.engine() | ||
|  | 
 | ||
|  | type_.register('ORDER_TEST', ['order-test']) | ||
|  | 
 | ||
|  | generators.register_composing('check-order.check-order', ['C'], ['ORDER_TEST']) | ||
|  | 
 | ||
|  | def check_order(targets, sources, properties): | ||
|  |     ENGINE.set_target_variable(targets, 'SPACE', ' ') | ||
|  |     ENGINE.set_target_variable(targets, 'nl', '\\n') | ||
|  | 
 | ||
|  | ENGINE.register_action( | ||
|  |     'check-order.check-order', | ||
|  |     function=check_order, | ||
|  |     command='''
 | ||
|  |     echo$(SPACE)$(>[1])>$(<[1]) | ||
|  |     echo$(SPACE)$(>[2-])>>$(<[1])$(nl) | ||
|  |     '''
 | ||
|  | ) | ||
|  | """
 | ||
|  | ) | ||
|  | 
 | ||
|  | # The aliases are necessary for this test, since | ||
|  | # the targets were sorted by virtual target | ||
|  | # id, not by file name. | ||
|  | t.write("jamroot.jam", """\
 | ||
|  | import check-order ; | ||
|  | alias file1 : file1.c ; | ||
|  | alias file2 : file2.c ; | ||
|  | alias file3 : file3.c ; | ||
|  | order-test check : file2 file1 file3 ; | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.write("file1.c", "") | ||
|  | t.write("file2.c", "") | ||
|  | t.write("file3.c", "") | ||
|  | 
 | ||
|  | t.run_build_system() | ||
|  | t.expect_addition("bin/$toolset/debug/check.order-test") | ||
|  | t.expect_content("bin/$toolset/debug/check.order-test", """\
 | ||
|  | file2.c | ||
|  | file1.c | ||
|  | file3.c | ||
|  | """, True)
 | ||
|  | 
 | ||
|  | t.cleanup() |