1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-08-13 17:03:46 -04:00
pacman/pactest/pmfile.py
Dan McGee b3033a59e9 pactest: remove need for pause when running tests
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@archlinux.org>
2008-08-23 09:20:32 -05:00

72 lines
1.9 KiB
Python
Executable File

#! /usr/bin/python
#
# Copyright (c) 2006 by Aurelien Foret <orelien@chez.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import os
from util import *
class pmfile:
"""File object
"""
def __init__(self, root, name):
self.name = name
self.root = root
filename = os.path.join(self.root, self.name)
self.checksum = getmd5sum(filename)
self.mtime = getmtime(filename)
def __str__(self):
return "%s (%s / %lu)" % (self.name, self.checksum, self.mtime)
def ismodified(self):
"""
"""
retval = 0
filename = os.path.join(self.root, self.name)
checksum = getmd5sum(filename)
mtime = getmtime(filename)
vprint("\tismodified(%s)" % self.name)
vprint("\t\told: %s / %s" % (self.checksum, self.mtime))
vprint("\t\tnew: %s / %s" % (checksum, mtime))
if self.checksum != checksum \
or (self.mtime[1], self.mtime[2]) != (mtime[1], mtime[2]):
retval = 1
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")
print f
# vim: set ts=4 sw=4 et: