⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_all.py

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 PY
字号:
#!/usr/bin/python# Copyright Bruno da Silva de Oliveira 2003. Use, modification and# distribution is subject to 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 osimport globimport shutilimport sysimport time#=============================================================================# win32 configuration#=============================================================================if sys.platform == 'win32':    includes = '-ID:/programming/libraries/boost-cvs/boost -ID:/Bin/Python/include'    build_pyste_cmd = 'python ../src/Pyste/pyste.py --pyste-ns=pyste --cache-dir=cache %s ' % includes    compile_single_cmd = 'cl /nologo /GR /GX -c %s -I. ' % includes    link_single_cmd = 'link /nologo /DLL '\        '/libpath:D:/programming/libraries/boost-cvs/lib /libpath:D:/Bin/Python/libs '\        'boost_python.lib python24.lib /out:_%s.dll '    obj_ext = 'obj'#=============================================================================# linux configuration#=============================================================================elif sys.platform == 'linux2':    build_pyste_cmd = 'python ../src/Pyste/pyste.py -I. '    compile_single_cmd = 'g++ -shared -c -I. -I/usr/include/python2.4 '    link_single_cmd = 'g++ -shared -o _%s.so -lboost_python '    obj_ext = 'o'def build_pyste(multiple, module):    rest = '%s --module=_%s %s.pyste' % (multiple, module, module)    execute(build_pyste_cmd + rest)def compile_single(module):    module_obj = ''    if os.path.isfile(module+'.cpp'):        execute(compile_single_cmd + module+'.cpp')        module_obj = module + '.' + obj_ext    execute(compile_single_cmd + ('_%s.cpp' % module))    link = link_single_cmd % module    execute(link + ('_%s.%s ' % (module, obj_ext)) + module_obj)def compile_multiple(module):    module_obj = ''    if os.path.isfile(module+'.cpp'):        execute(compile_single_cmd + module+'.cpp')        module_obj = module + '.' + obj_ext    files = glob.glob('_%s/*.cpp' % module)    for f in files:        execute(compile_single_cmd + f)    def basename(name):        return os.path.basename(os.path.splitext(name)[0])    objs = [basename(x) + '.' + obj_ext for x in files]    objs.append(module_obj)    execute((link_single_cmd % module) + ' '.join(objs))def execute(cmd):    os.system(cmd)def run_tests():    if os.system('python runtests.py') != 0:        raise RuntimeError, 'tests failed'def cleanup():    modules = get_modules()    extensions = '*.dll *.pyc *.obj *.exp *.lib *.o *.so'    files = []    for module in modules:        files.append('_' + module + '.cpp')    for ext in extensions.split():        files += glob.glob(ext)    files.append('build.log')    for file in files:        try:            os.remove(file)        except OSError: pass    for module in modules:        try:            shutil.rmtree('_' + module)        except OSError: passdef main(multiple, module=None):    if module is None:        modules = get_modules()    else:        modules = [module]    start = time.clock()    for module in modules:        build_pyste(multiple, module)    print '-'*50    print 'Building pyste files: %0.2f seconds' % (time.clock()-start)    print    start = time.clock()    for module in modules:        if multiple:            compile_multiple(module)        else:            compile_single(module)    print '-'*50    print 'Compiling files: %0.2f seconds' % (time.clock()-start)    print    if len(modules) == 1:        os.system('python %sUT.py' % modules[0])    else:        run_tests()    #cleanup()def get_modules():    def getname(file):        return os.path.splitext(os.path.basename(file))[0]    return [getname(x) for x in glob.glob('*.pyste')]if __name__ == '__main__':    if len(sys.argv) > 1:        module = sys.argv[1]    else:        module = None    try:#        main('--multiple', module)        main('', module)    except RuntimeError, e:        print e

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -