[pacman-dev] [PATCH] pactest: remove need for pause when running tests

Dan McGee dan at archlinux.org
Sun Aug 3 23:00:39 EDT 2008


Instead of pausing 1.5 seconds on tests that check file mtimes, change the
mtimes to something in the far past so we can immediately tell if a file was
modified and/or touched. This saves a decent amount of time on the upgrade
tests which often check mtimes.

355 was a completely arbitrary time value, don't ask me why I picked it.

Signed-off-by: Dan McGee <dan at archlinux.org>
---
 pactest/pmenv.py  |    8 +++++---
 pactest/pmfile.py |    8 ++++++++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/pactest/pmenv.py b/pactest/pmenv.py
index e9d0b4c..cc433dd 100755
--- a/pactest/pmenv.py
+++ b/pactest/pmenv.py
@@ -71,9 +71,11 @@ class pmenv:
             t.generate()
             # Hack for mtimes consistency
             for i in t.rules:
-                if i.rule.find("MODIFIED") != -1:
-                    time.sleep(1.5)
-                    break
+                if i.rule.find("FILE_MODIFIED") != -1:
+                    [test, arg] = i.rule.split("=")
+                    for f in t.files:
+                        if f.name == arg:
+                            f.resettimes()
 
             t.run(self.pacman)
 
diff --git a/pactest/pmfile.py b/pactest/pmfile.py
index 21baf01..ab4aa2c 100755
--- a/pactest/pmfile.py
+++ b/pactest/pmfile.py
@@ -56,6 +56,14 @@ class pmfile:
 
         return retval
 
+    def resettimes(self):
+        """
+        """
+
+        filename = os.path.join(self.root, self.name)
+        os.utime(filename, (355, 355))
+        self.mtime = getmtime(filename)
+        vprint("\tmtime reset (%s)" % self.name)
 
 if __name__ == "__main__":
     f = pmfile("/tmp", "foobar")
-- 
1.5.6.3




More information about the pacman-dev mailing list