Merge support for always closing files, with tweaks.
authorJelmer Vernooij <jelmer@samba.org>
Thu, 1 Mar 2012 20:42:06 +0000 (21:42 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Thu, 1 Mar 2012 20:42:06 +0000 (21:42 +0100)
1  2 
subvertpy/tests/__init__.py

index f7ca0679099607a5b4faaa49e158019d09ccfcb8,0bdf2e5a893461abc9d7e2f00b643082cab1853c..c5b09b72e294a16fc8260f7c41710eb3fa999728
@@@ -209,6 -209,11 +209,6 @@@ class SubversionTestCase(TestCaseInTemp
      def log_message_func(self, items):
          return self.next_message
  
 -    def write_file(self, filename, content):
 -        f = open(filename, 'w')
 -        f.write(content)
 -        f.close()
 -
      def make_repository(self, relpath, allow_revprop_changes=True):
          """Create a repository.
  
              if sys.platform == 'win32':
                  revprop_hook = os.path.join(abspath, "hooks",
                          "pre-revprop-change.bat")
 -                self.write_file(revprop_hook, "exit 0\n")
 +                f = open(revprop_hook, 'w')
 +                try:
 +                    f.write("exit 0\n")
 +                finally:
 +                    f.close()
              else:
                  revprop_hook = os.path.join(abspath, "hooks",
                          "pre-revprop-change")
 -                self.write_file(revprop_hook, "#!/bin/sh\n")
 +                f = open(revprop_hook, 'w')
 +                try:
 +                    f.write("#!/bin/sh\n")
 +                finally:
 +                    f.close()
                  os.chmod(revprop_hook, os.stat(revprop_hook).st_mode | 0111)
  
          if sys.platform == 'win32':
          :param files: Dictionary with filenames as keys, contents as
              values. None as value indicates a directory.
          """
--        for f in files:
--            if files[f] is None:
++        for name, content in files.iteritems():
++            if content is None:
                  try:
--                    os.makedirs(f)
++                    os.makedirs(name)
                  except OSError:
                      pass
              else:
                  try:
--                    os.makedirs(os.path.dirname(f))
++                    os.makedirs(os.path.dirname(name))
                  except OSError:
                      pass
-                 open(f, 'w').write(files[f])
 -                self.write_file(f, files[f])
++                f = open(name, 'w')
++                try:
++                    f.write(content)
++                finally:
++                    f.close()
  
      def make_client(self, repospath, clientpath, allow_revprop_changes=True):
          """Create a repository and a checkout. Return the checkout.