Eliminate unnecessary WIN32/Win32/win32 references in tests, too.
[scons.git] / test / Script-import.py
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 Test that a module that we import into an SConscript file can itself
29 easily import the global SCons variables, and a handful of other variables
30 directly from SCons.Script modules.
31 """
32
33 import TestSCons
34
35 test = TestSCons.TestSCons()
36
37 test.write('SConstruct', """\
38 import m1
39 """)
40
41 test.write("m1.py", """\
42 from SCons.Script import *
43 SConscript('SConscript')
44 """)
45
46 test.write('SConscript', """\
47 import m2
48 import m3
49 import m4
50 """)
51
52 test.write("m2.py", """\
53 from SCons.Script import *
54 Command("file.out", "file.in", Copy("$TARGET", "$SOURCE"))
55 """)
56
57 test.write("m3.py", """\
58 import SCons.Script
59
60 SCons.Script.BuildTask
61 SCons.Script.CleanTask
62 SCons.Script.QuestionTask
63 #SCons.Script.PrintHelp
64 SCons.Script.OptParser
65 SCons.Script.SConscriptSettableOptions
66
67 SCons.Script.keep_going_on_error
68 SCons.Script.print_dtree
69 SCons.Script.print_explanations
70 SCons.Script.print_includes
71 SCons.Script.print_objects
72 SCons.Script.print_time
73 SCons.Script.print_tree
74 SCons.Script.memory_stats
75 SCons.Script.ignore_errors
76 #SCons.Script.sconscript_time
77 #SCons.Script.command_time
78 #SCons.Script.exit_status
79 #SCons.Script.profiling
80 SCons.Script.repositories
81 """)
82
83 test.write("m4.py", """\
84 import SCons.Script.SConscript
85 SCons.Script.SConscript.Arguments
86 SCons.Script.SConscript.ArgList
87 SCons.Script.SConscript.BuildTargets
88 SCons.Script.SConscript.CommandLineTargets
89 SCons.Script.SConscript.DefaultTargets
90 """)
91
92 test.write("file.in", "file.in\n")
93
94 test.run(arguments = '.')
95
96 test.must_match("file.out", "file.in\n")
97
98 test.pass_test()