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

📄 sort_rule.py

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 PY
字号:
#!/usr/bin/python#  Copyright (C) Jurko Gospodnetic 2008.#  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)# Tests for the Boost Jam builtin SORT rule.import BoostBuild################################################################################## testSORTCorrectness()# ---------------------#################################################################################def testSORTCorrectness():    """Testing that Boost Jam's SORT builtin rule actually sorts correctly.    """    t = BoostBuild.Tester("-f test.jam -d1", pass_toolset=False,        use_test_config=False)    t.write("test.jam", """NOCARE all ;source-data = 1 8 9 2 7 3 4 7 1 27 27 9 98 98 1 1 4 5 6 2 3 4 8 1 -2 -2 0 0 0 ;target-data = -2 -2 0 0 0 1 1 1 1 1 2 2 27 27 3 3 4 4 4 5 6 7 7 8 8 9 9 98 98 ;ECHO "starting up" ;sorted-data = [ SORT $(source-data) ] ;ECHO "done" ;if $(sorted-data) != $(target-data){    ECHO "Source       :" $(source-data) ;    ECHO "Expected     :" $(target-data) ;    ECHO "SORT returned:" $(sorted-data) ;    EXIT "SORT error" : -2 ;}""")    t.run_build_system()    t.expect_output_line("starting up")    t.expect_output_line("done")    t.expect_output_line("SORT error", False)    t.cleanup()################################################################################## testSORTDuration()# ------------------#################################################################################def testSORTDuration():    """Regression test making sure Boost Jam's SORT builtin rule does not get    quadratic behaviour again in this use case.    """    t = BoostBuild.Tester("-f test.jam -d1", pass_toolset=False,        use_test_config=False)    f = open(t.workpath("test.jam"), "w")    print >> f, "data = "    for i in range(0, 20000):        if i % 2 != 0:            print >> f, '"aaa"'        else:            print >> f, '"bbb"'    print >> f, """;ECHO "starting up" ;sorted = [ SORT $(data) ] ;ECHO "done" ;NOCARE all ;"""    f.close()    t.run_build_system(expected_duration=1)    t.expect_output_line("starting up")    t.expect_output_line("done")    t.cleanup()################################################################################## main()# ------#################################################################################testSORTCorrectness()testSORTDuration()

⌨️ 快捷键说明

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