Skip to content

Commit 5274fa5

Browse files
committed
speed up test/AddOption/optional-arg.py by disabling tool initialiazation which is not needed for this test
1 parent 4818f19 commit 5274fa5

File tree

1 file changed

+107
-106
lines changed

1 file changed

+107
-106
lines changed

test/AddOption/optional-arg.py

Lines changed: 107 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,107 @@
1-
#!/usr/bin/env python
2-
#
3-
# __COPYRIGHT__
4-
#
5-
# Permission is hereby granted, free of charge, to any person obtaining
6-
# a copy of this software and associated documentation files (the
7-
# "Software"), to deal in the Software without restriction, including
8-
# without limitation the rights to use, copy, modify, merge, publish,
9-
# distribute, sublicense, and/or sell copies of the Software, and to
10-
# permit persons to whom the Software is furnished to do so, subject to
11-
# the following conditions:
12-
#
13-
# The above copyright notice and this permission notice shall be included
14-
# in all copies or substantial portions of the Software.
15-
#
16-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
17-
# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
18-
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23-
#
24-
25-
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
26-
27-
"""
28-
Verify use of the nargs='?' keyword argument to specify a long
29-
command-line option with an optional argument value.
30-
"""
31-
32-
import TestSCons
33-
34-
test = TestSCons.TestSCons()
35-
36-
test.write('SConstruct', """\
37-
AddOption('--install',
38-
nargs='?',
39-
dest='install',
40-
default='/default/directory',
41-
const='/called/default/directory',
42-
action='store',
43-
type='string',
44-
metavar='DIR',
45-
help='installation directory')
46-
print(GetOption('install'))
47-
""")
48-
49-
test.run('-Q -q',
50-
stdout="/default/directory\n")
51-
52-
test.run('-Q -q next-arg',
53-
stdout="/default/directory\n",
54-
status=1)
55-
56-
test.run('-Q -q . --install',
57-
stdout="/called/default/directory\n")
58-
59-
test.run('-Q -q . --install next-arg',
60-
stdout="/called/default/directory\n",
61-
status=1)
62-
63-
test.run('-Q -q . first-arg --install',
64-
stdout="/called/default/directory\n",
65-
status=1)
66-
67-
test.run('-Q -q . first-arg --install next-arg',
68-
stdout="/called/default/directory\n",
69-
status=1)
70-
71-
test.run('-Q -q . --install=/command/line/directory',
72-
stdout="/command/line/directory\n")
73-
74-
test.run('-Q -q . --install=/command/line/directory next-arg',
75-
stdout="/command/line/directory\n",
76-
status=1)
77-
78-
test.run('-Q -q . first-arg --install=/command/line/directory',
79-
stdout="/command/line/directory\n",
80-
status=1)
81-
82-
test.run('-Q -q . first-arg --install=/command/line/directory next-arg',
83-
stdout="/command/line/directory\n",
84-
status=1)
85-
86-
87-
test.write('SConstruct', """\
88-
AddOption('-X', nargs='?')
89-
""")
90-
91-
expect = r"""
92-
scons: \*\*\* option -X: nargs='\?' is incompatible with short options
93-
File "[^"]+", line \d+, in \S+
94-
"""
95-
96-
test.run(status=2, stderr=expect, match=TestSCons.match_re)
97-
98-
99-
100-
test.pass_test()
101-
102-
# Local Variables:
103-
# tab-width:4
104-
# indent-tabs-mode:nil
105-
# End:
106-
# vim: set expandtab tabstop=4 shiftwidth=4:
1+
#!/usr/bin/env python
2+
#
3+
# MIT License
4+
#
5+
# Copyright The SCons Foundation
6+
#
7+
# Permission is hereby granted, free of charge, to any person obtaining
8+
# a copy of this software and associated documentation files (the
9+
# "Software"), to deal in the Software without restriction, including
10+
# without limitation the rights to use, copy, modify, merge, publish,
11+
# distribute, sublicense, and/or sell copies of the Software, and to
12+
# permit persons to whom the Software is furnished to do so, subject to
13+
# the following conditions:
14+
#
15+
# The above copyright notice and this permission notice shall be included
16+
# in all copies or substantial portions of the Software.
17+
#
18+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
19+
# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
20+
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25+
26+
"""
27+
Verify use of the nargs='?' keyword argument to specify a long
28+
command-line option with an optional argument value.
29+
"""
30+
31+
import TestSCons
32+
33+
test = TestSCons.TestSCons()
34+
35+
test.write('SConstruct', """\
36+
DefaultEnvironment(tools=[])
37+
AddOption('--install',
38+
nargs='?',
39+
dest='install',
40+
default='/default/directory',
41+
const='/called/default/directory',
42+
action='store',
43+
type='string',
44+
metavar='DIR',
45+
help='installation directory')
46+
print(GetOption('install'))
47+
""")
48+
49+
test.run('-Q -q',
50+
stdout="/default/directory\n")
51+
52+
test.run('-Q -q next-arg',
53+
stdout="/default/directory\n",
54+
status=1)
55+
56+
test.run('-Q -q . --install',
57+
stdout="/called/default/directory\n")
58+
59+
test.run('-Q -q . --install next-arg',
60+
stdout="/called/default/directory\n",
61+
status=1)
62+
63+
test.run('-Q -q . first-arg --install',
64+
stdout="/called/default/directory\n",
65+
status=1)
66+
67+
test.run('-Q -q . first-arg --install next-arg',
68+
stdout="/called/default/directory\n",
69+
status=1)
70+
71+
test.run('-Q -q . --install=/command/line/directory',
72+
stdout="/command/line/directory\n")
73+
74+
test.run('-Q -q . --install=/command/line/directory next-arg',
75+
stdout="/command/line/directory\n",
76+
status=1)
77+
78+
test.run('-Q -q . first-arg --install=/command/line/directory',
79+
stdout="/command/line/directory\n",
80+
status=1)
81+
82+
test.run('-Q -q . first-arg --install=/command/line/directory next-arg',
83+
stdout="/command/line/directory\n",
84+
status=1)
85+
86+
87+
test.write('SConstruct', """\
88+
DefaultEnvironment(tools=[])
89+
AddOption('-X', nargs='?')
90+
""")
91+
92+
expect = r"""
93+
scons: \*\*\* option -X: nargs='\?' is incompatible with short options
94+
File "[^"]+", line \d+, in \S+
95+
"""
96+
97+
test.run(status=2, stderr=expect, match=TestSCons.match_re)
98+
99+
100+
101+
test.pass_test()
102+
103+
# Local Variables:
104+
# tab-width:4
105+
# indent-tabs-mode:nil
106+
# End:
107+
# vim: set expandtab tabstop=4 shiftwidth=4:

0 commit comments

Comments
 (0)