test an invocation of dump-config
This commit is contained in:
parent
7a9d5ad1d1
commit
654bebdeb6
|
@ -1,10 +1,28 @@
|
||||||
"""Test our tools themselves to make sure they adhere to certain flags."""
|
"""Test our tools themselves to make sure they adhere to certain flags."""
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
import unittest.mock as mock
|
import unittest.mock as mock
|
||||||
from subprocess import run
|
from subprocess import run
|
||||||
|
|
||||||
|
from decorator import decorator
|
||||||
|
|
||||||
from gp2040ce_bintools import __version__
|
from gp2040ce_bintools import __version__
|
||||||
|
from gp2040ce_bintools.storage import get_config_from_file
|
||||||
|
|
||||||
|
HERE = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
|
|
||||||
|
@decorator
|
||||||
|
def with_pb2s(test, *args, **kwargs):
|
||||||
|
"""Wrap a test with precompiled pb2 files on the path."""
|
||||||
|
proto_path = os.path.join(HERE, 'test-files', 'pb2-files')
|
||||||
|
sys.path.append(proto_path)
|
||||||
|
|
||||||
|
test(*args, **kwargs)
|
||||||
|
|
||||||
|
sys.path.pop()
|
||||||
|
del sys.modules['config_pb2']
|
||||||
|
|
||||||
|
|
||||||
def test_version_flag():
|
def test_version_flag():
|
||||||
|
@ -31,6 +49,17 @@ def test_concatenate_invocation(tmpdir):
|
||||||
assert out[2088960:2097152] == storage
|
assert out[2088960:2097152] == storage
|
||||||
|
|
||||||
|
|
||||||
|
@with_pb2s
|
||||||
|
def test_dump_config_invocation(tmpdir, storage_dump, config_binary):
|
||||||
|
"""Test that dumping a config to file works."""
|
||||||
|
out_filename = os.path.join(tmpdir, 'out.bin')
|
||||||
|
with mock.patch('gp2040ce_bintools.pico.get_bootsel_endpoints', return_value=(mock.MagicMock(), mock.MagicMock())):
|
||||||
|
with mock.patch('gp2040ce_bintools.pico.read', return_value=storage_dump):
|
||||||
|
run(['dump-config', '-P', 'tests/test-files/proto-files', '--filename', out_filename])
|
||||||
|
new_config = get_config_from_file(out_filename)
|
||||||
|
assert new_config.boardVersion == "v0.7.2"
|
||||||
|
|
||||||
|
|
||||||
def test_storage_dump_invocation():
|
def test_storage_dump_invocation():
|
||||||
"""Test that a normal invocation against a dump works."""
|
"""Test that a normal invocation against a dump works."""
|
||||||
result = run(['visualize-storage', '-P', 'tests/test-files/proto-files',
|
result = run(['visualize-storage', '-P', 'tests/test-files/proto-files',
|
||||||
|
|
Loading…
Reference in New Issue