diff options
author | Steven Knight <knight@baldmt.com> | 2002-08-05 04:05:13 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-08-05 04:05:13 (GMT) |
commit | 30e7b8895dff89607f971face4e68fa8f38bfcb3 (patch) | |
tree | b10dbfe3f0b036f8b731bc5556d91e4bac43f881 /test/sconsign.py | |
parent | 711e5cdfe154688814d7f493cc2c832c79fd1014 (diff) | |
download | SCons-30e7b8895dff89607f971face4e68fa8f38bfcb3.zip SCons-30e7b8895dff89607f971face4e68fa8f38bfcb3.tar.gz SCons-30e7b8895dff89607f971face4e68fa8f38bfcb3.tar.bz2 |
Add a decent error message for corrupted .sconsign files (Bug 579666). (Anthony Roach)
Diffstat (limited to 'test/sconsign.py')
-rw-r--r-- | test/sconsign.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/test/sconsign.py b/test/sconsign.py index 76fa355..57906af 100644 --- a/test/sconsign.py +++ b/test/sconsign.py @@ -26,8 +26,9 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" import os import TestSCons +import TestCmd -test = TestSCons.TestSCons() +test = TestSCons.TestSCons(match = TestCmd.match_re) test.subdir('sub1', 'sub2', 'sub3') @@ -70,4 +71,33 @@ test.fail_test(test.read(sub2__sconsign) == "") os.chmod(sub1__sconsign, 0666) +test.write('SConstruct', """ +def build1(target, source, env): + print '%s->%s'%(str(source[0]), str(target[0])) + open(str(target[0]), 'wb').write(open(str(source[0]), 'rb').read()) + return None + +B1 = Builder(action = build1) +env = Environment(BUILDERS = { 'B1' : B1}) +env.B1(target = 'sub1/foo.out', source = 'foo.in') +""") + +stderr = ''' +SCons warning: Ignoring corrupt .sconsign file: sub1..sconsign +.* +''' + +stdout = '''foo.in->sub1.foo.out +''' + +test.write(sub1__sconsign, 'garbage') +test.run(arguments = '.', stderr=stderr, stdout=stdout) + +test.write(sub1__sconsign, 'not:a:sconsign:file') +test.run(arguments = '.', stderr=stderr, stdout=stdout) + +test.write(sub1__sconsign, '\0\0\0\0\0\0\0\0\0\0\0\0\0\0') +test.run(arguments = '.', stderr=stderr, stdout=stdout) + + test.pass_test() |