patman: locate test data files via __file__ and pathlib

Previously it would rely on the executing script location, which could
break for example when running the tests via 'pytest'.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
This commit is contained in:
Maxim Cournoyer 2022-12-19 17:32:39 -05:00 committed by Simon Glass
parent f9e20e3bff
commit 1c77598402

View File

@ -7,6 +7,7 @@
"""Functional tests for checking that patman behaves correctly""" """Functional tests for checking that patman behaves correctly"""
import os import os
import pathlib
import re import re
import shutil import shutil
import sys import sys
@ -28,6 +29,10 @@ from patman.test_util import capture_sys_output
import pygit2 import pygit2
from patman import status from patman import status
TEST_DATA_DIR = pathlib.Path(__file__).parent / 'test/'
class TestFunctional(unittest.TestCase): class TestFunctional(unittest.TestCase):
"""Functional tests for checking that patman behaves correctly""" """Functional tests for checking that patman behaves correctly"""
leb = (b'Lord Edmund Blackadd\xc3\xabr <weasel@blackadder.org>'. leb = (b'Lord Edmund Blackadd\xc3\xabr <weasel@blackadder.org>'.
@ -57,8 +62,7 @@ class TestFunctional(unittest.TestCase):
Returns: Returns:
str: Full path to file in the test directory str: Full path to file in the test directory
""" """
return os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])), return TEST_DATA_DIR / fname
'test', fname)
@classmethod @classmethod
def _get_text(cls, fname): def _get_text(cls, fname):