test: env: add test for u-boot-initial-env creation

Checks that `make u-boot-initial-env` creates the text file
u-boot-initial-env and checks that it at least contains
`board=<something>`.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Max Krummenacher 2022-12-09 13:09:56 +01:00 committed by Tom Rini
parent 5b333b9324
commit e64289e1ec

View File

@ -8,6 +8,7 @@ Test operation of shell commands relating to environment variables.
import os import os
import os.path import os.path
import re
from subprocess import call, CalledProcessError from subprocess import call, CalledProcessError
import tempfile import tempfile
@ -173,6 +174,29 @@ def validate_set(state_test_env, var, value):
response = state_test_env.u_boot_console.run_command('printenv %s' % var) response = state_test_env.u_boot_console.run_command('printenv %s' % var)
assert response == ('%s=%s' % (var, value)) assert response == ('%s=%s' % (var, value))
@pytest.mark.boardspec('sandbox')
def test_env_initial_env_file(u_boot_console):
"""Test that the u-boot-initial-env make target works"""
cons = u_boot_console
builddir = 'O=' + cons.config.build_dir
envfile = cons.config.build_dir + '/u-boot-initial-env'
# remove if already exists from an older run
try:
os.remove(envfile)
except:
pass
u_boot_utils.run_and_log(cons, ['make', builddir, 'u-boot-initial-env'])
assert os.path.exists(envfile)
# assume that every environment has a board variable, e.g. board=sandbox
with open(envfile, 'r') as file:
env = file.read()
regex = re.compile('board=.+\\n')
assert re.search(regex, env)
def test_env_echo_exists(state_test_env): def test_env_echo_exists(state_test_env):
"""Test echoing a variable that exists.""" """Test echoing a variable that exists."""