mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-08-23 14:46:37 -04:00
85 lines
1.8 KiB
Python
85 lines
1.8 KiB
Python
|
#!/usr/bin/python
|
||
|
|
||
|
# Copyright 2013 Steven Watanabe
|
||
|
# Distributed under the Boost Software License, Version 1.0.
|
||
|
# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||
|
|
||
|
# Tests that action sources are not reordered
|
||
|
|
||
|
import BoostBuild
|
||
|
|
||
|
t = BoostBuild.Tester()
|
||
|
|
||
|
t.write("check-order.jam", """\
|
||
|
import type ;
|
||
|
import generators ;
|
||
|
|
||
|
type.register ORDER_TEST : order-test ;
|
||
|
|
||
|
SPACE = " " ;
|
||
|
nl = "\n" ;
|
||
|
actions check-order
|
||
|
{
|
||
|
echo$(SPACE)$(>[1])>$(<[1])
|
||
|
echo$(SPACE)$(>[2-])>>$(<[1])$(nl)
|
||
|
}
|
||
|
|
||
|
generators.register-composing check-order.check-order : C : ORDER_TEST ;
|
||
|
""")
|
||
|
|
||
|
t.write(
|
||
|
'check-order.py',
|
||
|
"""
|
||
|
import bjam
|
||
|
|
||
|
from b2.build import type as type_, generators
|
||
|
from b2.tools import common
|
||
|
from b2.manager import get_manager
|
||
|
|
||
|
MANAGER = get_manager()
|
||
|
ENGINE = MANAGER.engine()
|
||
|
|
||
|
type_.register('ORDER_TEST', ['order-test'])
|
||
|
|
||
|
generators.register_composing('check-order.check-order', ['C'], ['ORDER_TEST'])
|
||
|
|
||
|
def check_order(targets, sources, properties):
|
||
|
ENGINE.set_target_variable(targets, 'SPACE', ' ')
|
||
|
ENGINE.set_target_variable(targets, 'nl', '\\n')
|
||
|
|
||
|
ENGINE.register_action(
|
||
|
'check-order.check-order',
|
||
|
function=check_order,
|
||
|
command='''
|
||
|
echo$(SPACE)$(>[1])>$(<[1])
|
||
|
echo$(SPACE)$(>[2-])>>$(<[1])$(nl)
|
||
|
'''
|
||
|
)
|
||
|
"""
|
||
|
)
|
||
|
|
||
|
# The aliases are necessary for this test, since
|
||
|
# the targets were sorted by virtual target
|
||
|
# id, not by file name.
|
||
|
t.write("jamroot.jam", """\
|
||
|
import check-order ;
|
||
|
alias file1 : file1.c ;
|
||
|
alias file2 : file2.c ;
|
||
|
alias file3 : file3.c ;
|
||
|
order-test check : file2 file1 file3 ;
|
||
|
""")
|
||
|
|
||
|
t.write("file1.c", "")
|
||
|
t.write("file2.c", "")
|
||
|
t.write("file3.c", "")
|
||
|
|
||
|
t.run_build_system()
|
||
|
t.expect_addition("bin/$toolset/debug/check.order-test")
|
||
|
t.expect_content("bin/$toolset/debug/check.order-test", """\
|
||
|
file2.c
|
||
|
file1.c
|
||
|
file3.c
|
||
|
""", True)
|
||
|
|
||
|
t.cleanup()
|