releng r1032 - in trunk/tools: . smoketesting



Author: fpeters
Date: Fri Feb  6 13:30:45 2009
New Revision: 1032
URL: http://svn.gnome.org/viewvc/releng?rev=1032&view=rev

Log:
* smoketesting/convert-to-tarballs.py: cache md5sum of tarballs



Modified:
   trunk/tools/ChangeLog
   trunk/tools/smoketesting/convert-to-tarballs.py

Modified: trunk/tools/smoketesting/convert-to-tarballs.py
==============================================================================
--- trunk/tools/smoketesting/convert-to-tarballs.py	(original)
+++ trunk/tools/smoketesting/convert-to-tarballs.py	Fri Feb  6 13:30:45 2009
@@ -410,13 +410,17 @@
                     tries -= 1
                     continue
 
-            print 'Untarring archive to check integrity'
-            cmd = ['tar', flags, newfile]
-            retcode = subprocess.call(cmd, stdout=file('/dev/null', 'w'))
-            if retcode:
-                sys.stderr.write('Integrity check for ' + filename + ' failed!\n')
-                tries -= 1
-                continue
+                if os.path.exists(newfile + '.md5sum'):
+                    os.unlink(newfile + '.md5sum')
+
+            if not os.path.exists(newfile + '.md5sum'):
+                print 'Untarring archive to check integrity'
+                cmd = ['tar', flags, newfile]
+                retcode = subprocess.call(cmd, stdout=file('/dev/null', 'w'))
+                if retcode:
+                    sys.stderr.write('Integrity check for ' + filename + ' failed!\n')
+                    tries -= 1
+                    continue
 
             break
         else:
@@ -424,14 +428,18 @@
             return '', ''
 
         size = os.stat(newfile)[6]
-        sum = md5.new()
-        fp = open(newfile, 'rb')
-        data = fp.read(32768)
-        while data:
-            sum.update(data)
+        if not os.path.exists(newfile + '.md5sum'):
+            sum = md5.new()
+            fp = open(newfile, 'rb')
             data = fp.read(32768)
-        fp.close()
-        md5sum = sum.hexdigest()
+            while data:
+                sum.update(data)
+                data = fp.read(32768)
+            fp.close()
+            md5sum = sum.hexdigest()
+            file(newfile + '.md5sum', 'w').write(md5sum)
+        else:
+            md5sum = file(newfile + '.md5sum').read()
         return md5sum, str(size)
 
     def _get_files_from_ftp(self, parsed_url, max_version):



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]