[bootloader] Fix issues identified by tests
- expectation derp11 was wrong, there were only 10 calls to next() - using whole name instead of the not-the-suffix-bit was wrong - phrase generator wrong length
This commit is contained in:
parent
ed5c4c9c87
commit
7a462f4522
@ -348,7 +348,7 @@ class phraseEfi(object):
|
||||
import random
|
||||
desired_length = 1 + self.counter // 5
|
||||
v = random.randint(0, len(self.words) ** desired_length)
|
||||
return "{!s}{!s}".format(self.name, render_in_base(v, self.words, 4))
|
||||
return "{!s}{!s}".format(self.name, render_in_base(v, self.words))
|
||||
else:
|
||||
return self.name
|
||||
|
||||
@ -367,11 +367,11 @@ def get_efi_suffix_generator(name):
|
||||
|
||||
generator = None
|
||||
if parts[1] == "SERIAL":
|
||||
generator = serialEfi(name)
|
||||
generator = serialEfi(parts[0])
|
||||
elif parts[1] == "RANDOM":
|
||||
generator = randomEfi(name)
|
||||
generator = randomEfi(parts[0])
|
||||
elif parts[1] == "PHRASE":
|
||||
generator = phraseEfi(name)
|
||||
generator = phraseEfi(parts[0])
|
||||
if generator is None:
|
||||
raise ValueError("EFI suffix {!r} is unsupported".format(parts[1]))
|
||||
|
||||
|
@ -9,9 +9,11 @@ from src.modules.bootloader import main
|
||||
# Specific Bootloader test
|
||||
g = main.get_efi_suffix_generator("derp@@SERIAL@@")
|
||||
assert g is not None
|
||||
for n in range(10):
|
||||
assert g.next() == "derp" # First time, no suffix
|
||||
for n in range(9):
|
||||
print(g.next())
|
||||
assert g.next() == "derp11"
|
||||
# We called next() 10 times in total, starting from 0
|
||||
assert g.next() == "derp10"
|
||||
|
||||
g = main.get_efi_suffix_generator("derp@@RANDOM@@")
|
||||
assert g is not None
|
||||
|
Loading…
Reference in New Issue
Block a user