From e64289e1ec7c66a2d858aff65c0af501557d538b Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Fri, 9 Dec 2022 13:09:56 +0100 Subject: [PATCH] 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=`. Signed-off-by: Max Krummenacher Reviewed-by: Simon Glass --- test/py/tests/test_env.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test/py/tests/test_env.py b/test/py/tests/test_env.py index 6d08565f0b..00bcccd65f 100644 --- a/test/py/tests/test_env.py +++ b/test/py/tests/test_env.py @@ -8,6 +8,7 @@ Test operation of shell commands relating to environment variables. import os import os.path +import re from subprocess import call, CalledProcessError 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) 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): """Test echoing a variable that exists."""