better --eject implementation via fixture

This commit is contained in:
scgbckbone 2024-02-13 08:36:10 +01:00 committed by doc-hex
parent 4190b3316b
commit bc8fa0b83c
3 changed files with 13 additions and 11 deletions

View File

@ -2019,6 +2019,17 @@ def seed_story_to_words():
return doit
@pytest.fixture
def sd_cards_eject(is_q1, sim_exec):
def doit(slot_a=1, slot_b=1):
cmd = (f'from machine import Pin;'
f'import files;'
f'files.CardSlot.sd_detect = Pin("SD_DETECT",value={slot_a});')
if is_q1:
cmd += f'files.CardSlot.sd_detect2 = Pin("SD_DETECT2",value={slot_b});'
assert sim_exec(cmd) == ''
return doit
# useful fixtures
from test_backup import backup_system

View File

@ -175,8 +175,9 @@ def try_sign_virtdisk(press_select, virtdisk_path, cap_story, virtdisk_wipe, pre
@pytest.mark.parametrize('encoding', ['binary', 'hex', 'base64'])
@pytest.mark.parametrize('num_outs', [1,2])
@pytest.mark.parametrize('partial', [1, 0])
def test_virtdisk_signing(encoding, num_outs, partial, try_sign_virtdisk, fake_txn, dev):
def test_virtdisk_signing(encoding, num_outs, partial, try_sign_virtdisk, fake_txn, dev, sd_cards_eject):
xp = dev.master_xpub
sd_cards_eject()
def hack(psbt):
if partial:

View File

@ -30,16 +30,6 @@ if '--sflash' not in sys.argv:
#glob.settings.current = dict(sim_defaults)
if '--eject' in sys.argv:
is_ejected = True
class SimulatedCardSlot(files.CardSlot):
def is_inserted(cls):
# debounce?
global is_ejected
return not is_ejected
files.CardSlot = SimulatedCardSlot
# Install various hacks and workarounds
import mk4
import sim_mk4