mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-08-04 04:48:48 +00:00
tests: start moving common functions to top level
This commit is contained in:
parent
b3c58e4a17
commit
b7ba306a46
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
@ -14,6 +14,7 @@
|
|||||||
# You should have received a copy of the License along with this library.
|
# You should have received a copy of the License along with this library.
|
||||||
# If not, see <https://www.gnu.org/licenses/lgpl-3.0.html>.
|
# If not, see <https://www.gnu.org/licenses/lgpl-3.0.html>.
|
||||||
|
|
||||||
|
from collections import defaultdict
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import tempfile
|
import tempfile
|
||||||
@ -25,6 +26,47 @@ from trezorlib.transport import TransportException, get_transport
|
|||||||
BINDIR = os.path.dirname(os.path.abspath(__file__)) + "/emulators"
|
BINDIR = os.path.dirname(os.path.abspath(__file__)) + "/emulators"
|
||||||
ENV = {"SDL_VIDEODRIVER": "dummy"}
|
ENV = {"SDL_VIDEODRIVER": "dummy"}
|
||||||
|
|
||||||
|
ROOT = os.path.dirname(os.path.abspath(__file__)) + "/../"
|
||||||
|
LOCAL_BUILDS = {
|
||||||
|
"core": ROOT + "core/build/unix/micropython",
|
||||||
|
"legacy": ROOT + "legacy/firmware/trezor.elf",
|
||||||
|
}
|
||||||
|
BIN_DIR = os.path.dirname(os.path.abspath(__file__)) + "/emulators"
|
||||||
|
|
||||||
|
|
||||||
|
def check_version(tag, ver_emu):
|
||||||
|
if tag.startswith("v") and len(tag.split(".")) == 3:
|
||||||
|
assert tag == "v" + ".".join(["%d" % i for i in ver_emu])
|
||||||
|
|
||||||
|
|
||||||
|
def check_file(gen, tag):
|
||||||
|
if tag.startswith("/"):
|
||||||
|
filename = tag
|
||||||
|
else:
|
||||||
|
filename = "%s/trezor-emu-%s-%s" % (BIN_DIR, gen, tag)
|
||||||
|
if not os.path.exists(filename):
|
||||||
|
raise ValueError(filename + " not found. Do not forget to build firmware.")
|
||||||
|
|
||||||
|
|
||||||
|
def get_tags():
|
||||||
|
files = os.listdir(BIN_DIR)
|
||||||
|
if not files:
|
||||||
|
raise ValueError(
|
||||||
|
"No files found. Use download_emulators.sh to download emulators."
|
||||||
|
)
|
||||||
|
|
||||||
|
result = defaultdict(list)
|
||||||
|
for f in sorted(files):
|
||||||
|
try:
|
||||||
|
_, _, gen, tag = f.split("-", maxsplit=3)
|
||||||
|
result[gen].append(tag)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
ALL_TAGS = get_tags()
|
||||||
|
|
||||||
|
|
||||||
class EmulatorWrapper:
|
class EmulatorWrapper:
|
||||||
def __init__(self, gen, tag, storage=None):
|
def __init__(self, gen, tag, storage=None):
|
@ -21,7 +21,7 @@ import os.path
|
|||||||
from trezorlib import coins
|
from trezorlib import coins
|
||||||
from trezorlib.tx_api import json_to_tx
|
from trezorlib.tx_api import json_to_tx
|
||||||
|
|
||||||
CACHE_PATH = os.path.join(os.path.dirname(__file__), "..", "txcache")
|
CACHE_PATH = os.path.join(os.path.dirname(__file__), "txcache")
|
||||||
|
|
||||||
|
|
||||||
def tx_cache(coin_name, allow_fetch=True):
|
def tx_cache(coin_name, allow_fetch=True):
|
@ -25,10 +25,7 @@ from trezorlib.tools import H_
|
|||||||
MINIMUM_FIRMWARE_VERSION["1"] = (1, 0, 0)
|
MINIMUM_FIRMWARE_VERSION["1"] = (1, 0, 0)
|
||||||
MINIMUM_FIRMWARE_VERSION["T"] = (2, 0, 0)
|
MINIMUM_FIRMWARE_VERSION["T"] = (2, 0, 0)
|
||||||
|
|
||||||
try:
|
from ..emulators import EmulatorWrapper, ALL_TAGS, LOCAL_BUILDS
|
||||||
from .emulator_wrapper import EmulatorWrapper
|
|
||||||
except ImportError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
# **** COMMON DEFINITIONS ****
|
# **** COMMON DEFINITIONS ****
|
||||||
|
|
||||||
@ -39,47 +36,6 @@ LABEL = "test"
|
|||||||
LANGUAGE = "english"
|
LANGUAGE = "english"
|
||||||
STRENGTH = 128
|
STRENGTH = 128
|
||||||
|
|
||||||
ROOT = os.path.dirname(os.path.abspath(__file__)) + "/../../"
|
|
||||||
LOCAL_BUILDS = {
|
|
||||||
"core": ROOT + "core/build/unix/micropython",
|
|
||||||
"legacy": ROOT + "legacy/firmware/trezor.elf",
|
|
||||||
}
|
|
||||||
BIN_DIR = os.path.dirname(os.path.abspath(__file__)) + "/emulators"
|
|
||||||
|
|
||||||
|
|
||||||
def check_version(tag, ver_emu):
|
|
||||||
if tag.startswith("v") and len(tag.split(".")) == 3:
|
|
||||||
assert tag == "v" + ".".join(["%d" % i for i in ver_emu])
|
|
||||||
|
|
||||||
|
|
||||||
def check_file(gen, tag):
|
|
||||||
if tag.startswith("/"):
|
|
||||||
filename = tag
|
|
||||||
else:
|
|
||||||
filename = "%s/trezor-emu-%s-%s" % (BIN_DIR, gen, tag)
|
|
||||||
if not os.path.exists(filename):
|
|
||||||
raise ValueError(filename + " not found. Do not forget to build firmware.")
|
|
||||||
|
|
||||||
|
|
||||||
def get_tags():
|
|
||||||
files = os.listdir(BIN_DIR)
|
|
||||||
if not files:
|
|
||||||
raise ValueError(
|
|
||||||
"No files found. Use download_emulators.sh to download emulators."
|
|
||||||
)
|
|
||||||
|
|
||||||
result = defaultdict(list)
|
|
||||||
for f in sorted(files):
|
|
||||||
try:
|
|
||||||
_, _, gen, tag = f.split("-", maxsplit=3)
|
|
||||||
result[gen].append(tag)
|
|
||||||
except ValueError:
|
|
||||||
pass
|
|
||||||
return result
|
|
||||||
|
|
||||||
|
|
||||||
ALL_TAGS = get_tags()
|
|
||||||
|
|
||||||
|
|
||||||
def for_all(*args, minimum_version=(1, 0, 0)):
|
def for_all(*args, minimum_version=(1, 0, 0)):
|
||||||
if not args:
|
if not args:
|
||||||
|
Loading…
Reference in New Issue
Block a user