tests/functional: Set current time stamp of assets when using them
We are going to remove obsolete assets from the cache, so keep the time stamps of the assets that we use up-to-date to have a way to detect stale assets later. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20251014083424.103202-2-thuth@redhat.com>
This commit is contained in:
parent
1d7fdee97b
commit
cb1379ce64
1 changed files with 13 additions and 0 deletions
|
|
@ -10,6 +10,7 @@ import logging
|
|||
import os
|
||||
import stat
|
||||
import sys
|
||||
import time
|
||||
import unittest
|
||||
import urllib.request
|
||||
from time import sleep
|
||||
|
|
@ -113,6 +114,16 @@ class Asset:
|
|||
self.log.debug("Time out while waiting for %s!", tmp_cache_file)
|
||||
raise
|
||||
|
||||
def _save_time_stamp(self):
|
||||
'''
|
||||
Update the time stamp of the asset in the cache. Unfortunately, we
|
||||
cannot use the modification or access time of the asset file itself,
|
||||
since e.g. the functional jobs in the gitlab CI reload the files
|
||||
from the gitlab cache and thus always have recent file time stamps,
|
||||
so we have to save our asset time stamp to a separate file instead.
|
||||
'''
|
||||
self.cache_file.with_suffix(".stamp").write_text(f"{int(time.time())}")
|
||||
|
||||
def fetch(self):
|
||||
if not self.cache_dir.exists():
|
||||
self.cache_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
|
@ -120,6 +131,7 @@ class Asset:
|
|||
if self.valid():
|
||||
self.log.debug("Using cached asset %s for %s",
|
||||
self.cache_file, self.url)
|
||||
self._save_time_stamp()
|
||||
return str(self.cache_file)
|
||||
|
||||
if not self.fetchable():
|
||||
|
|
@ -208,6 +220,7 @@ class Asset:
|
|||
tmp_cache_file.unlink()
|
||||
raise AssetError(self, "Hash does not match %s" % self.hash)
|
||||
tmp_cache_file.replace(self.cache_file)
|
||||
self._save_time_stamp()
|
||||
# Remove write perms to stop tests accidentally modifying them
|
||||
os.chmod(self.cache_file, stat.S_IRUSR | stat.S_IRGRP)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue