summaryrefslogtreecommitdiff
path: root/tools/build/v2/test/engine/builtin_shell.jam
blob: 13d6245e320796eab9c819905a0b9ef69f64ecd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#~ Copyright 2006 Rene Rivera.
#~ 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)

# TODO: Here we should test for the Windows popen() command unquoting bug but
# that test will have to wait until a better testing framework is implemented.
# To reproduce the bug try executing any command with its first parameter quoted
# and containing spaces and having at least one other quote in the command
# string.
#
# For example:
#
#   "\Long folder name\aaa.exe" --name="Jurko" --no-surname
#
# would get its outermost quotes stripped and would be executed as:
#
#   \Long folder name\aaa.exe" --name="Jurko --no-surname

ECHO --- Testing SHELL builtin... ;

local c = "date" ;
if $(NT) { c = "PATH" ; }

assert ""   : (!=) : [ SHELL $(c) ] ;
assert ""   : (==) : [ SHELL $(c) : no-output ] ;
assert "" 0 : (!=) : [ SHELL $(c) : exit-status ] ;
assert "" 0 : (==) : [ SHELL $(c) : no-output : exit-status ] ;
assert ""   : (!=) : [ COMMAND $(c) ] ;
assert ""   : (==) : [ COMMAND $(c) : no-output ] ;
assert "" 0 : (!=) : [ COMMAND $(c) : exit-status ] ;
assert "" 0 : (==) : [ COMMAND $(c) : no-output : exit-status ] ;