deal with filesystem corruption in n810s. bug 525937, r=jhford
authorAki Sasaki <asasaki@mozilla.com>
Thu, 21 Jan 2010 15:41:36 -0800
changeset 586 026bd101db689a2e4039f5b015b95608b9d1eaed
parent 585 8bb13060629c0decc063ae857c54176c4415d8df
child 587 4785b95b4155bbb4b9488d796fffda5f1c1ea58e
push id327
push userasasaki@mozilla.com
push dateThu, 21 Jan 2010 23:41:40 +0000
reviewersjhford
bugs525937
deal with filesystem corruption in n810s. bug 525937, r=jhford
process/mobiletestfactory.py
--- a/process/mobiletestfactory.py
+++ b/process/mobiletestfactory.py
@@ -32,29 +32,30 @@ from buildbotcustom.steps.unittest impor
 
 # Largely built from PackagedUnittests
 class MaemoUnittestFactory(BuildFactory):
     def __init__(self, activeTests=None, reboot=True):
         BuildFactory.__init__(self)
         self.binaryDir = '/builds/unittest'
         self.maemkitDir = '/tools/maemkit'
         self.baseDir = '/builds'
+        self.standaloneFile = '/builds/standalone.txt'
         self.activeTests = activeTests
         self.reboot = reboot
         self.mozChangesetLink = '<a href=%(repo_path)s/rev/%(got_revision)s title="Built from Mozilla revision %(got_revision)s">moz:%(got_revision)s</a>'
         self.mobileChangesetLink = '<a href=%(repo_path)s/rev/%(got_revision)s title="Built from Mobile revision %(got_revision)s">mobile:%(got_revision)s</a>'
 
         assert self.activeTests is not None
 
         self.addStep(ShellCommand,
             command='echo "TinderboxPrint: `hostname`"; ifconfig -a; date',
             description='hostname',
         )
         self.addStep(ShellCommand,
-            command='rm -rf %s fennec* talos* pageloader* /home/user/.mozilla /root/.mozilla /media/mmc2/.mozilla' % self.binaryDir,
+            command='rm -rf %s fennec* talos* pageloader* /home/user/.mozilla /root/.mozilla /media/mmc2/.mozilla || (echo "fs corruption at `date`" > %s && false)' % (self.binaryDir, self.standaloneFile),
             workdir=self.baseDir,
             haltOnFailure=True,
         )
         self.addStep(ShellCommand,
             command=['mkdir', '-p', '%s/maemkit_logs' % self.binaryDir],
             workdir=self.baseDir
         )
 
@@ -330,17 +331,17 @@ class MaemoRunPerfTests(ShellCommand):
 
 #
 # Offshoot of TalosFactory, without any of the checkouts and with a
 # number of options to make running on the mobile devices possible.
 #
 class MaemoTalosFactory(BuildFactory):
     """Create maemo talos build factory"""
     
-    maemoClean = "rm -rf fennec fennec*.tar.bz2 talos* pageloader* /home/user/.mozilla /root/.mozilla unittest /media/mmc2/.mozilla"
+    maemoClean = 'rm -rf fennec fennec*.tar.bz2 talos* pageloader* /home/user/.mozilla /root/.mozilla unittest /media/mmc2/.mozilla || (echo "fs corruption at `date`" > /builds/standalone.txt && false)'
     mozChangesetLink = '<a href=%(repo_path)s/rev/%(got_revision)s title="Built from Mozilla revision %(got_revision)s">moz:%(got_revision)s</a>'
     mobileChangesetLink = '<a href=%(repo_path)s/rev/%(got_revision)s title="Built from Mobile revision %(got_revision)s">mobile:%(got_revision)s</a>'
 
     def __init__(self, talosConfigFile='sample.config', resultsServer=None,
                  builderName='unnamed', hackTbPrint=0, reboot=True,
                  branch=None, baseDir='/builds',
                  activeTests={
                      'ts':       60,