mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-26 10:30:22 -04:00 
			
		
		
		
	
		
			
	
	
		
			70 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | #!/usr/bin/python | ||
|  | # | ||
|  | # Copyright (c) 2008 Steven Watanabe | ||
|  | # | ||
|  | # 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) | ||
|  | 
 | ||
|  | # Test that the common.copy rule set the modification date of the new file to | ||
|  | # the current time. | ||
|  | 
 | ||
|  | import BoostBuild | ||
|  | 
 | ||
|  | tester = BoostBuild.Tester(use_test_config=False) | ||
|  | 
 | ||
|  | tester.write("test1.cpp", """\
 | ||
|  | template<bool, int M, class Next> | ||
|  | struct time_waster { | ||
|  |     typedef typename time_waster<true, M-1, time_waster>::type type1; | ||
|  |     typedef typename time_waster<false, M-1, time_waster>::type type2; | ||
|  |     typedef void type; | ||
|  | }; | ||
|  | template<bool B, class Next> | ||
|  | struct time_waster<B, 0, Next> { | ||
|  |     typedef void type; | ||
|  | }; | ||
|  | typedef time_waster<true, 10, void>::type type; | ||
|  | int f() { return 0; } | ||
|  | """)
 | ||
|  | 
 | ||
|  | tester.write("test2.cpp", """\
 | ||
|  | template<bool, int M, class Next> | ||
|  | struct time_waster { | ||
|  |     typedef typename time_waster<true, M-1, time_waster>::type type1; | ||
|  |     typedef typename time_waster<false, M-1, time_waster>::type type2; | ||
|  |     typedef void type; | ||
|  | }; | ||
|  | template<bool B, class Next> | ||
|  | struct time_waster<B, 0, Next> { | ||
|  |     typedef void type; | ||
|  | }; | ||
|  | typedef time_waster<true, 10, void>::type type; | ||
|  | int g() { return 0; } | ||
|  | """)
 | ||
|  | 
 | ||
|  | tester.write("jamroot.jam", """\
 | ||
|  | obj test2 : test2.cpp ; | ||
|  | obj test1 : test1.cpp : <dependency>test2 ; | ||
|  | install test2i : test2 : <dependency>test1 ; | ||
|  | """)
 | ||
|  | 
 | ||
|  | tester.run_build_system() | ||
|  | tester.expect_addition("bin/$toolset/debug/test2.obj") | ||
|  | tester.expect_addition("bin/$toolset/debug/test1.obj") | ||
|  | tester.expect_addition("test2i/test2.obj") | ||
|  | tester.expect_nothing_more() | ||
|  | 
 | ||
|  | test2src = tester.read("test2i/test2.obj") | ||
|  | test2dest = tester.read("bin/$toolset/debug/test2.obj") | ||
|  | if test2src != test2dest: | ||
|  |     BoostBuild.annotation("failure", "The object file was not copied " | ||
|  |         "correctly") | ||
|  |     tester.fail_test(1) | ||
|  | 
 | ||
|  | tester.run_build_system(["-d1"]) | ||
|  | tester.expect_output_lines("common.copy*", False) | ||
|  | tester.expect_nothing_more() | ||
|  | 
 | ||
|  | tester.cleanup() |