mirror of
https://github.com/naruxde/revpimodio2.git
synced 2025-11-08 22:03:53 +01:00
45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""Shared functions for tests."""
|
|
__author__ = "Sven Sager"
|
|
__copyright__ = "Copyright (C) 2024 Sven Sager"
|
|
__license__ = "GPLv2"
|
|
|
|
from os.path import dirname, join
|
|
from tempfile import NamedTemporaryFile
|
|
from unittest import TestCase
|
|
|
|
import revpimodio2
|
|
|
|
DEFAULT_PROCIMG = join(dirname(__file__), "proc.img")
|
|
RUN_ON_REVPI = False # todo: Check revpi system
|
|
|
|
|
|
class TestRevPiModIO(TestCase):
|
|
|
|
data_dir = dirname(__file__)
|
|
|
|
def setUp(self):
|
|
self.fh_procimg = NamedTemporaryFile("wb+", 0, prefix="test_procimg_")
|
|
self.fh_procimg.write(b"\x00" * 4096)
|
|
self.fh_procimg.seek(0)
|
|
|
|
def tearDown(self):
|
|
self.fh_procimg.close()
|
|
|
|
def modio(self, **kwargs):
|
|
"""Default ModIO object with temp process image."""
|
|
if not RUN_ON_REVPI:
|
|
if "procimg" in kwargs:
|
|
# Use a copy of given prepared process image
|
|
with open(kwargs["procimg"], "rb") as fh:
|
|
self.fh_procimg.write(fh.read())
|
|
self.fh_procimg.seek(0)
|
|
|
|
# Always use the temporary process image of testing class
|
|
kwargs["procimg"] = self.fh_procimg.name
|
|
|
|
# Always use a config inside the testing folder (default config.rsc)
|
|
kwargs["configrsc"] = join(self.data_dir, kwargs.get("configrsc", "config.rsc"))
|
|
|
|
return revpimodio2.RevPiModIO(**kwargs)
|