2025-08-22 12:21:42 +00:00
|
|
|
import sys
|
2025-08-22 16:18:27 +00:00
|
|
|
import time
|
2025-08-22 12:21:42 +00:00
|
|
|
|
|
|
|
|
from tuf.ngclient import Updater
|
|
|
|
|
|
2025-08-22 15:42:50 +00:00
|
|
|
print(f"Fetching metadata {sys.argv[1]} times:")
|
2025-08-22 12:21:42 +00:00
|
|
|
print(f" metadata dir: {sys.argv[2]}")
|
|
|
|
|
print(f" metadata url: {sys.argv[3]}")
|
|
|
|
|
|
2025-08-22 16:18:27 +00:00
|
|
|
start = time.time()
|
2025-08-22 12:21:42 +00:00
|
|
|
|
|
|
|
|
for i in range(int(sys.argv[1])):
|
|
|
|
|
try:
|
2025-08-22 16:18:27 +00:00
|
|
|
refresh_start = time.time()
|
2025-08-22 12:21:42 +00:00
|
|
|
u = Updater(metadata_dir=sys.argv[2], metadata_base_url=sys.argv[3])
|
2025-08-22 15:42:50 +00:00
|
|
|
# file3.txt is delegated so we end up exercising all metadata load paths
|
|
|
|
|
u.get_targetinfo("file3.txt")
|
2025-08-22 12:21:42 +00:00
|
|
|
except OSError as e:
|
2025-08-22 16:18:27 +00:00
|
|
|
print(
|
|
|
|
|
f"Failed on iteration {i}, "
|
|
|
|
|
f"{time.time() - refresh_start} secs elapsed ({time.time() - start} total)"
|
|
|
|
|
)
|
|
|
|
|
raise e
|