diff options
author | William Deegan <bill@baddogconsulting.com> | 2017-03-20 17:58:07 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2017-03-20 17:58:07 (GMT) |
commit | cc3600de679eafd05414286af141d6215701018b (patch) | |
tree | dd76d7b6bc4310867065417d9b5f332ed07c3b06 /test | |
parent | b66404ee6d63522fe35b056cb7940531caafa804 (diff) | |
download | SCons-cc3600de679eafd05414286af141d6215701018b.zip SCons-cc3600de679eafd05414286af141d6215701018b.tar.gz SCons-cc3600de679eafd05414286af141d6215701018b.tar.bz2 |
remove deprecated Perforce tool
Diffstat (limited to 'test')
-rw-r--r-- | test/Deprecated/SourceCode/Perforce/P4COM.py | 140 | ||||
-rw-r--r-- | test/Deprecated/SourceCode/Perforce/P4COMSTR.py | 142 | ||||
-rw-r--r-- | test/Deprecated/SourceCode/Perforce/Perforce.py | 287 |
3 files changed, 0 insertions, 569 deletions
diff --git a/test/Deprecated/SourceCode/Perforce/P4COM.py b/test/Deprecated/SourceCode/Perforce/P4COM.py deleted file mode 100644 index e58cb60..0000000 --- a/test/Deprecated/SourceCode/Perforce/P4COM.py +++ /dev/null @@ -1,140 +0,0 @@ -#!/usr/bin/env python -# -# __COPYRIGHT__ -# -# 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. - -__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" - -""" -Test setting the $P4COM variable. -""" - -import os.path - -import TestSCons - -_python_ = TestSCons._python_ - -test = TestSCons.TestSCons(match = TestSCons.match_re_dotall) - -test.write('SConscript', """ -Environment(tools = ['Perforce']).Perforce() -""") - -msg_p4 = """The Perforce() factory is deprecated and there is no replacement.""" -warn_p4 = test.deprecated_fatal('deprecated-build-dir', msg_p4) -msg_sc = """SourceCode() has been deprecated and there is no replacement. -\tIf you need this function, please contact scons-dev@scons.org""" -warn_sc = test.deprecated_wrap(msg_sc) - -test.subdir('Perforce', ['Perforce', 'sub'], 'sub') - -sub_Perforce = os.path.join('sub', 'Perforce') -sub_SConscript = os.path.join('sub', 'SConscript') -sub_all = os.path.join('sub', 'all') -sub_ddd_in = os.path.join('sub', 'ddd.in') -sub_ddd_out = os.path.join('sub', 'ddd.out') -sub_eee_in = os.path.join('sub', 'eee.in') -sub_eee_out = os.path.join('sub', 'eee.out') -sub_fff_in = os.path.join('sub', 'fff.in') -sub_fff_out = os.path.join('sub', 'fff.out') - -test.write('my-p4.py', """ -import shutil -import sys -for f in sys.argv[1:]: - shutil.copy('Perforce/'+f, f) -""") - -test.write('SConstruct', """ -SetOption('warn', 'deprecated-source-code') -def cat(env, source, target): - target = str(target[0]) - f = open(target, "wb") - for src in source: - f.write(open(str(src), "rb").read()) - f.close() -env = Environment(TOOLS = ['default', 'Perforce'], - BUILDERS={'Cat':Builder(action=cat)}, - P4COM=r'%(_python_)s my-p4.py $TARGET') -env.Cat('aaa.out', 'aaa.in') -env.Cat('bbb.out', 'bbb.in') -env.Cat('ccc.out', 'ccc.in') -env.Cat('all', ['aaa.out', 'bbb.out', 'ccc.out']) -env.SourceCode('.', env.Perforce()) -SConscript('sub/SConscript', "env") -""" % locals()) - -test.write(['Perforce', 'sub', 'SConscript'], """\ -Import("env") -env.Cat('ddd.out', 'ddd.in') -env.Cat('eee.out', 'eee.in') -env.Cat('fff.out', 'fff.in') -env.Cat('all', ['ddd.out', 'eee.out', 'fff.out']) -""") - -test.write(['Perforce', 'aaa.in'], "Perforce/aaa.in\n") -test.write('bbb.in', "checked-out bbb.in\n") -test.write(['Perforce', 'ccc.in'], "Perforce/ccc.in\n") - -test.write(['Perforce', 'sub', 'ddd.in'], "Perforce/sub/ddd.in\n") -test.write(['sub', 'eee.in'], "checked-out sub/eee.in\n") -test.write(['Perforce', 'sub', 'fff.in'], "Perforce/sub/fff.in\n") - -read_str = """\ -%(_python_)s my-p4.py %(sub_SConscript)s -""" % locals() - -build_str = """\ -%(_python_)s my-p4.py aaa.in -cat(["aaa.out"], ["aaa.in"]) -cat(["bbb.out"], ["bbb.in"]) -%(_python_)s my-p4.py ccc.in -cat(["ccc.out"], ["ccc.in"]) -cat(["all"], ["aaa.out", "bbb.out", "ccc.out"]) -%(_python_)s my-p4.py %(sub_ddd_in)s -cat(["%(sub_ddd_out)s"], ["%(sub_ddd_in)s"]) -cat(["%(sub_eee_out)s"], ["%(sub_eee_in)s"]) -%(_python_)s my-p4.py %(sub_fff_in)s -cat(["%(sub_fff_out)s"], ["%(sub_fff_in)s"]) -cat(["%(sub_all)s"], ["%(sub_ddd_out)s", "%(sub_eee_out)s", "%(sub_fff_out)s"]) -""" % locals() - -stdout = test.wrap_stdout(read_str = read_str, build_str = build_str) - -test.run(arguments = '.', - stdout = TestSCons.re_escape(stdout), - stderr = warn_p4 + warn_sc) - -test.must_match('all', - "Perforce/aaa.in\nchecked-out bbb.in\nPerforce/ccc.in\n") - -test.must_match(['sub', 'all'], - "Perforce/sub/ddd.in\nchecked-out sub/eee.in\nPerforce/sub/fff.in\n") - - -test.pass_test() - -# Local Variables: -# tab-width:4 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=4 shiftwidth=4: diff --git a/test/Deprecated/SourceCode/Perforce/P4COMSTR.py b/test/Deprecated/SourceCode/Perforce/P4COMSTR.py deleted file mode 100644 index 7b2fbba..0000000 --- a/test/Deprecated/SourceCode/Perforce/P4COMSTR.py +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/env python -# -# __COPYRIGHT__ -# -# 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. - -__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" - -""" -Test setting the $P4COMSTR variable. -""" - -import os.path - -import TestSCons - -_python_ = TestSCons._python_ - -test = TestSCons.TestSCons() -test = TestSCons.TestSCons(match = TestSCons.match_re_dotall) - -test.write('SConscript', """ -Environment(tools = ['Perforce']).Perforce() -""") - -msg_p4 = """The Perforce() factory is deprecated and there is no replacement.""" -warn_p4 = test.deprecated_fatal('deprecated-build-dir', msg_p4) -msg_sc = """SourceCode() has been deprecated and there is no replacement. -\tIf you need this function, please contact scons-dev@scons.org""" -warn_sc = test.deprecated_wrap(msg_sc) - -test.subdir('Perforce', ['Perforce', 'sub'], 'sub') - -sub_Perforce = os.path.join('sub', 'Perforce') -sub_SConscript = os.path.join('sub', 'SConscript') -sub_all = os.path.join('sub', 'all') -sub_ddd_in = os.path.join('sub', 'ddd.in') -sub_ddd_out = os.path.join('sub', 'ddd.out') -sub_eee_in = os.path.join('sub', 'eee.in') -sub_eee_out = os.path.join('sub', 'eee.out') -sub_fff_in = os.path.join('sub', 'fff.in') -sub_fff_out = os.path.join('sub', 'fff.out') - -test.write('my-p4.py', """ -import shutil -import sys -for f in sys.argv[1:]: - shutil.copy('Perforce/'+f, f) -""") - -test.write('SConstruct', """ -SetOption('warn', 'deprecated-source-code') -def cat(env, source, target): - target = str(target[0]) - f = open(target, "wb") - for src in source: - f.write(open(str(src), "rb").read()) - f.close() -env = Environment(TOOLS = ['default', 'Perforce'], - BUILDERS={'Cat':Builder(action=cat)}, - P4COM=r'%(_python_)s my-p4.py $TARGET', - P4COMSTR='Checking out $TARGET from our fake Perforce') -env.Cat('aaa.out', 'aaa.in') -env.Cat('bbb.out', 'bbb.in') -env.Cat('ccc.out', 'ccc.in') -env.Cat('all', ['aaa.out', 'bbb.out', 'ccc.out']) -env.SourceCode('.', env.Perforce()) -SConscript('sub/SConscript', "env") -""" % locals()) - -test.write(['Perforce', 'sub', 'SConscript'], """\ -Import("env") -env.Cat('ddd.out', 'ddd.in') -env.Cat('eee.out', 'eee.in') -env.Cat('fff.out', 'fff.in') -env.Cat('all', ['ddd.out', 'eee.out', 'fff.out']) -""") - -test.write(['Perforce', 'aaa.in'], "Perforce/aaa.in\n") -test.write('bbb.in', "checked-out bbb.in\n") -test.write(['Perforce', 'ccc.in'], "Perforce/ccc.in\n") - -test.write(['Perforce', 'sub', 'ddd.in'], "Perforce/sub/ddd.in\n") -test.write(['sub', 'eee.in'], "checked-out sub/eee.in\n") -test.write(['Perforce', 'sub', 'fff.in'], "Perforce/sub/fff.in\n") - -read_str = """\ -Checking out %(sub_SConscript)s from our fake Perforce -""" % locals() - -build_str = """\ -Checking out aaa.in from our fake Perforce -cat(["aaa.out"], ["aaa.in"]) -cat(["bbb.out"], ["bbb.in"]) -Checking out ccc.in from our fake Perforce -cat(["ccc.out"], ["ccc.in"]) -cat(["all"], ["aaa.out", "bbb.out", "ccc.out"]) -Checking out %(sub_ddd_in)s from our fake Perforce -cat(["%(sub_ddd_out)s"], ["%(sub_ddd_in)s"]) -cat(["%(sub_eee_out)s"], ["%(sub_eee_in)s"]) -Checking out %(sub_fff_in)s from our fake Perforce -cat(["%(sub_fff_out)s"], ["%(sub_fff_in)s"]) -cat(["%(sub_all)s"], ["%(sub_ddd_out)s", "%(sub_eee_out)s", "%(sub_fff_out)s"]) -""" % locals() - -stdout = test.wrap_stdout(read_str = read_str, build_str = build_str) - -test.run(arguments = '.', - stdout = TestSCons.re_escape(stdout), - stderr = warn_p4 + warn_sc) - -test.must_match('all', - "Perforce/aaa.in\nchecked-out bbb.in\nPerforce/ccc.in\n") - -test.must_match(['sub', 'all'], - "Perforce/sub/ddd.in\nchecked-out sub/eee.in\nPerforce/sub/fff.in\n") - - -test.pass_test() - -# Local Variables: -# tab-width:4 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=4 shiftwidth=4: diff --git a/test/Deprecated/SourceCode/Perforce/Perforce.py b/test/Deprecated/SourceCode/Perforce/Perforce.py deleted file mode 100644 index 3be22d8..0000000 --- a/test/Deprecated/SourceCode/Perforce/Perforce.py +++ /dev/null @@ -1,287 +0,0 @@ -#!/usr/bin/env python -# -# __COPYRIGHT__ -# -# 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. - -__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" - -""" -Test fetching source files from Perforce. - -This test requires that a Perforce server be running on the test system -on port 1666, as well as that of course a client must be present. -""" - -import os - -import TestSCons - -test = TestSCons.TestSCons() - -test.write('SConscript', """ -Environment(tools = ['Perforce']).Perforce() -""") - -msg_p4 = """The Perforce() factory is deprecated and there is no replacement.""" -warn_p4 = test.deprecated_fatal('deprecated-build-dir', msg_p4) -msg_sc = """SourceCode() has been deprecated and there is no replacement. -\tIf you need this function, please contact scons-dev@scons.org""" -warn_sc = test.deprecated_wrap(msg_sc) - -class TestPerforce(TestSCons.TestSCons): - def __init__(self, *args, **kw): - TestSCons.TestSCons.__init__(self, *args, **kw) - - self.p4d = None - - self.p4path = self.where_is('p4') - if not self.p4path: - self.skip_test("Could not find 'p4'; skipping test(s).\n") - - #import socket - #self.host = socket.gethostname() - self.host = '127.0.0.1' - - self.user = os.environ.get('USER') - if not self.user: - self.user = os.environ.get('USERNAME') - if not self.user: - self.user = os.environ.get('P4USER') - - self.depot = 'testme' - - self.p4d = self.where_is('p4d') - if self.p4d: - self.p4portflags = ['-p', self.host + ':1777'] - self.subdir('depot', ['depot', 'testme']) - def quote_space(a): - if ' ' in a: - a = '"%s"' % a - return a - args = list(map(quote_space, [self.p4d, '-q', '-d'] + \ - self.p4portflags + \ - ['-J', 'Journal', - '-L', 'Log', - '-r', self.workpath('depot')])) - - # We don't use self.run() because the TestCmd logic will hang - # waiting for the daemon to exit, even when we pass it - # the -d option. - os.spawnv(os.P_NOWAIT, self.p4d, args) - self.sleep(2) - else: - import socket - s = socket.socket() - host_port = (self.host, 1666) - try: - s.connect(host_port) - except socket.error: - self.skip_test("No Perforce server found; skipping test(s).\n") - else: - s.close() - - self.p4portflags = ['-p', '%s:%s' % host_port] - try: - self.p4('obliterate -y //%s/...' % self.depot) - self.p4('depot -d %s' % self.depot) - except TestSCons.TestFailed: - # It's okay if this fails. It will fail if the depot - # is already clear. - pass - - self.portflag = ' '.join(self.p4portflags) - - def p4(self, *args, **kw): - try: - arguments = kw['arguments'] - except KeyError: - arguments = args[0] - args = args[1:] - kw['arguments'] = ' '.join(self.p4portflags + [arguments]) - kw['program'] = self.p4path - return self.run(*args, **kw) - - def substitute(self, s, **kw): - kw = kw.copy() - kw.update(self.__dict__) - return s % kw - - def cleanup(self, condition = None): - if self.p4d: - self.p4('admin stop') - self.p4d = None - - if TestSCons: - TestSCons.TestSCons.cleanup(self, condition) - -test = TestPerforce() - -# Set up a perforce depot for testing. -depotspec = test.substitute("""\ -# A Perforce Depot Specification. -Depot: %(depot)s - -Owner: %(user)s - -Date: 2003/02/19 17:21:41 - -Description: - A test depot. - -Type: local - -Address: subdir - -Map: %(depot)s/... -""") - -test.p4(arguments='depot -i', stdin = depotspec) - -# Now set up 2 clients, one to check in some files, and one to -# do the building. -clientspec = """\ -# A Perforce Client Specification. -Client: %(client)s - -Owner: %(user)s - -Description: - Created by %(user)s. - -Root: %(root)s - -Options: noallwrite noclobber nocompress unlocked nomodtime normdir - -LineEnd: local - -View: - //%(depot)s/%(subdir)s... //%(client)s/... -""" - -clientspec1 = test.substitute(clientspec, - client = 'testclient1', - root = test.workpath('import'), - subdir = 'foo/', - ) - -clientspec2 = test.substitute(clientspec, - client = 'testclient2', - root = test.workpath('work'), - subdir = '', - ) - -test.subdir('import', ['import', 'sub'], 'work') - -test.p4('client -i', stdin=clientspec1) -test.p4('client -i', stdin=clientspec2) - -test.write(['import', 'aaa.in'], "import/aaa.in\n") -test.write(['import', 'bbb.in'], "import/bbb.in\n") -test.write(['import', 'ccc.in'], "import/ccc.in\n") - -test.write(['import', 'sub', 'SConscript'], """ -Import("env") -env.Cat('ddd.out', 'ddd.in') -env.Cat('eee.out', 'eee.in') -env.Cat('fff.out', 'fff.in') -env.Cat('all', ['ddd.out', 'eee.out', 'fff.out']) -""") - -test.write(['import', 'sub', 'ddd.in'], "import/sub/ddd.in\n") -test.write(['import', 'sub', 'eee.in'], "import/sub/eee.in\n") -test.write(['import', 'sub', 'fff.in'], "import/sub/fff.in\n") - -# Perforce uses the PWD environment variable in preference to the actual cwd -os.environ["PWD"] = test.workpath('import') -paths = [ 'aaa.in', 'bbb.in', 'ccc.in', - 'sub/ddd.in', 'sub/eee.in', 'sub/fff.in', 'sub/SConscript' ] -paths = list(map(os.path.normpath, paths)) -args = '-c testclient1 add -t binary %s' % ' '.join(paths) -test.p4(args, chdir='import') - -changespec = test.substitute(""" -Change: new - -Client: testclient1 - -User: %(user)s - -Status: new - -Description: - A test check in - -Files: - //%(depot)s/foo/aaa.in # add - //%(depot)s/foo/bbb.in # add - //%(depot)s/foo/ccc.in # add - //%(depot)s/foo/sub/SConscript # add - //%(depot)s/foo/sub/ddd.in # add - //%(depot)s/foo/sub/eee.in # add - //%(depot)s/foo/sub/fff.in # add -""") - -test.p4('-c testclient1 opened') -test.p4('-c testclient1 submit -i', stdin=changespec) - -SConstruct_contents = test.substitute(""" -SetOption('warn', 'deprecated-source-code') -def cat(env, source, target): - target = str(target[0]) - f = open(target, "wb") - for src in source: - f.write(open(str(src), "rb").read()) - f.close() -env = Environment(tools = ['default', 'Perforce'], - BUILDERS={'Cat':Builder(action=cat)}, - P4=r'%(p4path)s', - P4FLAGS='%(portflag)s -c testclient2') -env.Cat('aaa.out', 'foo/aaa.in') -env.Cat('bbb.out', 'foo/bbb.in') -env.Cat('ccc.out', 'foo/ccc.in') -env.Cat('all', ['aaa.out', 'bbb.out', 'ccc.out']) -env.SourceCode('.', env.Perforce()) -SConscript('foo/sub/SConscript', 'env') -""") - -test.write(['work', 'SConstruct'], SConstruct_contents) - -test.subdir(['work', 'foo']) -test.write(['work', 'foo', 'bbb.in'], "work/foo/bbb.in\n") - -test.subdir(['work', 'foo', 'sub']) -test.write(['work', 'foo', 'sub', 'eee.in'], "work/foo/sub/eee.in\n") - -test.run(chdir = 'work', - arguments = '.', - stderr = warn_p4 + warn_sc, - match = TestSCons.match_re_dotall) - -test.fail_test(test.read(['work', 'all']) != "import/aaa.in\nwork/foo/bbb.in\nimport/ccc.in\n") -test.fail_test(test.read(['work', 'foo', 'sub', 'all']) != "import/sub/ddd.in\nwork/foo/sub/eee.in\nimport/sub/fff.in\n") - -test.pass_test() - -# Local Variables: -# tab-width:4 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=4 shiftwidth=4: |