mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	
		
			
	
	
		
			137 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			137 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | #!/usr/bin/python | ||
|  | 
 | ||
|  | # Copyright 2002, 2003 Dave Abrahams | ||
|  | # Copyright 2002, 2003, 2004, 2006 Vladimir Prus | ||
|  | # 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 | ||
|  | import os | ||
|  | 
 | ||
|  | t = BoostBuild.Tester(translate_suffixes=0) | ||
|  | 
 | ||
|  | # First check some startup. | ||
|  | t.set_tree("project-test3") | ||
|  | os.remove("jamroot.jam") | ||
|  | t.run_build_system(status=1) | ||
|  | 
 | ||
|  | t.expect_output_lines("error: Could not find parent for project at '.'\n" | ||
|  |     "error: Did not find Jamfile.jam or Jamroot.jam in any parent directory.") | ||
|  | 
 | ||
|  | t.set_tree("project-test3") | ||
|  | t.run_build_system() | ||
|  | 
 | ||
|  | t.expect_addition("bin/$toolset/debug/a.obj") | ||
|  | t.expect_content("bin/$toolset/debug/a.obj", """\
 | ||
|  | $toolset/debug | ||
|  | a.cpp | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.expect_addition("bin/$toolset/debug/a.exe") | ||
|  | t.expect_content("bin/$toolset/debug/a.exe", | ||
|  | "$toolset/debug\n" + | ||
|  | "bin/$toolset/debug/a.obj lib/bin/$toolset/debug/b.obj " + | ||
|  | "lib2/bin/$toolset/debug/c.obj lib2/bin/$toolset/debug/d.obj " + | ||
|  | "lib2/helper/bin/$toolset/debug/e.obj " + | ||
|  | "lib3/bin/$toolset/debug/f.obj\n" | ||
|  | ) | ||
|  | 
 | ||
|  | t.expect_addition("lib/bin/$toolset/debug/b.obj") | ||
|  | t.expect_content("lib/bin/$toolset/debug/b.obj", """\
 | ||
|  | $toolset/debug | ||
|  | lib/b.cpp | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.expect_addition("lib/bin/$toolset/debug/m.exe") | ||
|  | t.expect_content("lib/bin/$toolset/debug/m.exe", """\
 | ||
|  | $toolset/debug | ||
|  | lib/bin/$toolset/debug/b.obj lib2/bin/$toolset/debug/c.obj | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.expect_addition("lib2/bin/$toolset/debug/c.obj") | ||
|  | t.expect_content("lib2/bin/$toolset/debug/c.obj", """\
 | ||
|  | $toolset/debug | ||
|  | lib2/c.cpp | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.expect_addition("lib2/bin/$toolset/debug/d.obj") | ||
|  | t.expect_content("lib2/bin/$toolset/debug/d.obj", """\
 | ||
|  | $toolset/debug | ||
|  | lib2/d.cpp | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.expect_addition("lib2/bin/$toolset/debug/l.exe") | ||
|  | t.expect_content("lib2/bin/$toolset/debug/l.exe", """\
 | ||
|  | $toolset/debug | ||
|  | lib2/bin/$toolset/debug/c.obj bin/$toolset/debug/a.obj | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.expect_addition("lib2/helper/bin/$toolset/debug/e.obj") | ||
|  | t.expect_content("lib2/helper/bin/$toolset/debug/e.obj", """\
 | ||
|  | $toolset/debug | ||
|  | lib2/helper/e.cpp | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.expect_addition("lib3/bin/$toolset/debug/f.obj") | ||
|  | t.expect_content("lib3/bin/$toolset/debug/f.obj", """\
 | ||
|  | $toolset/debug | ||
|  | lib3/f.cpp lib2/helper/bin/$toolset/debug/e.obj | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.touch("a.cpp") | ||
|  | t.run_build_system() | ||
|  | t.expect_touch(["bin/$toolset/debug/a.obj", | ||
|  |                 "bin/$toolset/debug/a.exe", | ||
|  |                 "lib2/bin/$toolset/debug/l.exe"]) | ||
|  | 
 | ||
|  | t.run_build_system(["release", "optimization=off,speed"]) | ||
|  | t.expect_addition(["bin/$toolset/release/a.exe", | ||
|  |                   "bin/$toolset/release/a.obj", | ||
|  |                   "bin/$toolset/release/optimization-off/a.exe", | ||
|  |                   "bin/$toolset/release/optimization-off/a.obj"]) | ||
|  | 
 | ||
|  | t.run_build_system(["--clean-all"]) | ||
|  | t.expect_removal(["bin/$toolset/debug/a.obj", | ||
|  |                  "bin/$toolset/debug/a.exe", | ||
|  |                  "lib/bin/$toolset/debug/b.obj", | ||
|  |                  "lib/bin/$toolset/debug/m.exe", | ||
|  |                  "lib2/bin/$toolset/debug/c.obj", | ||
|  |                  "lib2/bin/$toolset/debug/d.obj", | ||
|  |                  "lib2/bin/$toolset/debug/l.exe", | ||
|  |                  "lib3/bin/$toolset/debug/f.obj"]) | ||
|  | 
 | ||
|  | # Now test target ids in command line. | ||
|  | t.set_tree("project-test3") | ||
|  | t.run_build_system(["lib//b.obj"]) | ||
|  | t.expect_addition("lib/bin/$toolset/debug/b.obj") | ||
|  | t.expect_nothing_more() | ||
|  | 
 | ||
|  | t.run_build_system(["--clean", "lib//b.obj"]) | ||
|  | t.expect_removal("lib/bin/$toolset/debug/b.obj") | ||
|  | t.expect_nothing_more() | ||
|  | 
 | ||
|  | t.run_build_system(["lib//b.obj"]) | ||
|  | t.expect_addition("lib/bin/$toolset/debug/b.obj") | ||
|  | t.expect_nothing_more() | ||
|  | 
 | ||
|  | t.run_build_system(["release", "lib2/helper//e.obj", "/lib3//f.obj"]) | ||
|  | t.expect_addition("lib2/helper/bin/$toolset/release/e.obj") | ||
|  | t.expect_addition("lib3/bin/$toolset/release/f.obj") | ||
|  | t.expect_nothing_more() | ||
|  | 
 | ||
|  | # Test project ids in command line work as well. | ||
|  | t.set_tree("project-test3") | ||
|  | t.run_build_system(["/lib2"]) | ||
|  | t.expect_addition("lib2/bin/$toolset/debug/" * | ||
|  |     BoostBuild.List("c.obj d.obj l.exe")) | ||
|  | t.expect_addition("bin/$toolset/debug/a.obj") | ||
|  | t.expect_nothing_more() | ||
|  | 
 | ||
|  | t.run_build_system(["lib"]) | ||
|  | t.expect_addition("lib/bin/$toolset/debug/" * | ||
|  |     BoostBuild.List("b.obj m.exe")) | ||
|  | t.expect_nothing_more() | ||
|  | 
 | ||
|  | t.cleanup() |