diff options
Diffstat (limited to 'testing/framework/SConscript')
| -rw-r--r-- | testing/framework/SConscript | 62 | 
1 files changed, 62 insertions, 0 deletions
diff --git a/testing/framework/SConscript b/testing/framework/SConscript new file mode 100644 index 0000000..f79a254 --- /dev/null +++ b/testing/framework/SConscript @@ -0,0 +1,62 @@ +# +# SConscript file for external packages we need. +# + +# +# Copyright (c) 2001 - 2019 The SCons Foundation +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +import os.path + +Import('build_dir', 'env') + +files = [ +    'TestCmd.py', +    'TestCommon.py', +    'TestRuntest.py', +    'TestSCons.py', +    'TestSConsign.py', +    'TestSCons_time.py', +] + +def copy(target, source, env): +    t = str(target[0]) +    s = str(source[0]) +    with open(s, 'r') as i, open(t, 'w') as o: +        c = i.read() +        # Note:  We construct the __ VERSION __ substitution string at +        # run-time so it doesn't get replaced when this file gets copied +        # into the tree for packaging. +        c = c.replace('__' + 'VERSION' + '__', env['VERSION']) +        o.write(c) + +for file in files: +    # Guarantee that real copies of these files always exist in +    # build/testing/framework.  If there's a symlink there, then this is an Aegis +    # build and we blow them away now so that they'll get "built" later. +    p = os.path.join(build_dir, 'testing','framework', file) +    if os.path.islink(p): +        os.unlink(p) +    if not os.path.isabs(p): +        p = '#' + p +    env.Command(p, file, copy) +    Local(p)  | 
