mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -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()
 |