[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
|
import random
|
||||||
desired_length = 1 + self.counter // 5
|
desired_length = 1 + self.counter // 5
|
||||||
v = random.randint(0, len(self.words) ** desired_length)
|
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:
|
else:
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
@ -367,11 +367,11 @@ def get_efi_suffix_generator(name):
|
|||||||
|
|
||||||
generator = None
|
generator = None
|
||||||
if parts[1] == "SERIAL":
|
if parts[1] == "SERIAL":
|
||||||
generator = serialEfi(name)
|
generator = serialEfi(parts[0])
|
||||||
elif parts[1] == "RANDOM":
|
elif parts[1] == "RANDOM":
|
||||||
generator = randomEfi(name)
|
generator = randomEfi(parts[0])
|
||||||
elif parts[1] == "PHRASE":
|
elif parts[1] == "PHRASE":
|
||||||
generator = phraseEfi(name)
|
generator = phraseEfi(parts[0])
|
||||||
if generator is None:
|
if generator is None:
|
||||||
raise ValueError("EFI suffix {!r} is unsupported".format(parts[1]))
|
raise ValueError("EFI suffix {!r} is unsupported".format(parts[1]))
|
||||||
|
|
||||||
|
@ -9,9 +9,11 @@ from src.modules.bootloader import main
|
|||||||
# Specific Bootloader test
|
# Specific Bootloader test
|
||||||
g = main.get_efi_suffix_generator("derp@@SERIAL@@")
|
g = main.get_efi_suffix_generator("derp@@SERIAL@@")
|
||||||
assert g is not None
|
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())
|
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@@")
|
g = main.get_efi_suffix_generator("derp@@RANDOM@@")
|
||||||
assert g is not None
|
assert g is not None
|
||||||
|
Loading…
Reference in New Issue
Block a user