import importlib.util import json from pathlib import Path import struct import tempfile import unittest from unittest import mock spec = importlib.util.spec_from_file_location( 'windows_vr_build', Path(__file__).resolve().parents[1] / 'vr/build_windows.py') vr = importlib.util.module_from_spec(spec) spec.loader.exec_module(vr) class WindowsVrBuildTest(unittest.TestCase): def setUp(self): self.temp = tempfile.TemporaryDirectory() self.addCleanup(self.temp.cleanup) self.root = Path(self.temp.name) self.out = self.root / 'build/vr' self.include = self.root / 'ndk/include' for name in vr.SOURCE_FILES: self.write(self.root / name, b'build source\n') for tree in vr.SOURCE_TREES: self.write(self.root / tree / 'input.h', b'header\n') for name, source in vr.CONFIGS.items(): self.write(self.root / source, b'{"name": "current"}\n') self.write(self.out / name, b'{"name": "current"}\n') for name in vr.LIBRARIES | vr.EXECUTABLES: data = bytearray(64) data[:6] = b'\x7fELF\x02\x01' struct.pack_into('