"""
import os
+import locale
import logging
import platform
import subprocess
import multiprocessing
-from fiotestlib import FioJobFileTest
SUCCESS_DEFAULT = {
'timeout': 600,
}
+
+def get_file(filename):
+ """Safely read a file."""
+ file_data = ''
+ success = True
+
+ try:
+ with open(filename, "r", encoding=locale.getpreferredencoding()) as output_file:
+ file_data = output_file.read()
+ except OSError:
+ success = False
+
+ return file_data, success
+
+
class Requirements():
"""Requirements consists of multiple run environment characteristics.
These are to determine if a particular test can be run"""
if Requirements._linux:
config_file = os.path.join(fio_root, "config-host.h")
- contents, success = FioJobFileTest.get_file(config_file)
+ contents, success = get_file(config_file)
if not success:
print(f"Unable to open {config_file} to check requirements")
Requirements._zbd = True
Requirements._zbd = "CONFIG_HAS_BLKZONED" in contents
Requirements._libaio = "CONFIG_LIBAIO" in contents
- contents, success = FioJobFileTest.get_file("/proc/kallsyms")
+ contents, success = get_file("/proc/kallsyms")
if not success:
print("Unable to open '/proc/kallsyms' to probe for io_uring support")
else:
import traceback
import subprocess
from pathlib import Path
+from fiotestcommon import get_file
class FioTest():
else:
logging.debug("Test %d: precondition step failed", self.testnum)
- @classmethod
- def get_file(cls, filename):
- """Safely read a file."""
- file_data = ''
- success = True
-
- try:
- with open(filename, "r", encoding=locale.getpreferredencoding()) as output_file:
- file_data = output_file.read()
- except OSError:
- success = False
-
- return file_data, success
-
def get_file_fail(self, filename):
"""Safely read a file and fail the test upon error."""
file_data = None
else:
result = f"FAILED: {test.failure_reason}"
failed = failed + 1
- contents, _ = FioJobFileTest.get_file(test.stderr_file)
+ contents, _ = get_file(test.stderr_file)
logging.debug("Test %d: stderr:\n%s", config['test_id'], contents)
- contents, _ = FioJobFileTest.get_file(test.stdout_file)
+ contents, _ = get_file(test.stdout_file)
logging.debug("Test %d: stdout:\n%s", config['test_id'], contents)
print(f"Test {config['test_id']} {result} {desc}")