85e5a2caa8
Now that the tests work in py2 or p3 we don't set py version in AP. This allows for dealing with the AP images that don't have a way to set the py version.
85 lines
1.7 KiB
Python
85 lines
1.7 KiB
Python
#!/usr/bin/python
|
|
|
|
"""
|
|
Traverses a directory and output the code that would create the same directory
|
|
structure during testing. Assumes that the instance of Tester is called 't'.
|
|
"""
|
|
|
|
from __future__ import print_function
|
|
|
|
import sys
|
|
import os
|
|
import stat
|
|
import string
|
|
|
|
def usage():
|
|
print("usage: load_dir.py directory")
|
|
|
|
|
|
def remove_first_component(path):
|
|
result = [path]
|
|
while 1:
|
|
s = os.path.split(result[0])
|
|
if not s[0]:
|
|
break
|
|
result[:1] = list(s)
|
|
return os.path.join(*result[1:])
|
|
|
|
|
|
def create_file(arg, dirname, fnames):
|
|
for n in fnames:
|
|
path = os.path.join(dirname, n)
|
|
if not os.path.isdir(path):
|
|
print("t.write(\"%s\", \"\"\"" % (remove_first_component(path),),)
|
|
f = open(path, "r")
|
|
for l in f:
|
|
print(l)
|
|
print('\n""")\n')
|
|
|
|
|
|
header = """#!/usr/bin/python
|
|
|
|
# Copyright (C) FILL SOMETHING HERE 2005.
|
|
# 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
|
|
|
|
t = BoostBuild.Tester()
|
|
"""
|
|
|
|
footer = """
|
|
|
|
t.run_build_system()
|
|
|
|
t.expect_addition("bin/$toolset/debug*/FILL_SOME_HERE.exe")
|
|
|
|
t.cleanup()
|
|
"""
|
|
|
|
|
|
def main():
|
|
if len(sys.argv) != 2:
|
|
usage()
|
|
else:
|
|
path = sys.argv[1]
|
|
|
|
if not os.access(path, os.F_OK):
|
|
print("Path '%s' does not exist" % (path,))
|
|
sys.exit(1)
|
|
|
|
if not os.path.isdir(path):
|
|
print("Path '%s' is not a directory" % (path,))
|
|
|
|
print(header)
|
|
|
|
for root, _, files in os.walk(path):
|
|
create_file(None, root, files)
|
|
|
|
print(footer)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|