From d1795705de6f92020d14291d9842793d54c9cf54 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Fri, 17 Aug 2001 20:00:11 +0000 Subject: [PATCH] Test that uu.py will not override an existing file if out_file isn't given and the path is gleaned from the uu header. --- Lib/test/test_uu.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Lib/test/test_uu.py b/Lib/test/test_uu.py index 8c324d187d..07bd482a5e 100644 --- a/Lib/test/test_uu.py +++ b/Lib/test/test_uu.py @@ -122,3 +122,37 @@ try: raise TestFailed("No exception thrown") except uu.Error, e: verify(str(e) == 'No valid begin line found in input file') + +# Test to verify that decode() will refuse to overwrite an existing file +import tempfile +outfile = tempfile.mktemp() +inp = StringIO('Here is a message to be uuencoded') +out = StringIO() +uu.encode(inp, out, outfile) +out.seek(0) +try: + if verbose: + print '9. decode w/file not exists is okay' + uu.decode(out) + if not os.path.exists(outfile): + raise TestFailed('uudecode w/ out_file=None failed') + fp = open(outfile) + data = fp.read() + fp.close() + if data <> inp.getvalue(): + raise TestFailed('uudecode stored something weird') + # Try to write it again, which should cause a failure + if verbose: + print '10. uudecode w/file exists fails' + out.seek(0) + try: + uu.decode(out) + except uu.Error: + pass + else: + raise TestFailed('expected to get a "file exists" error') +finally: + try: + os.unlink(outfile) + except OSError: + pass -- 2.40.0