diff options
author | Wolfram Sang <w.sang@pengutronix.de> | 2008-10-29 17:34:16 +0000 |
---|---|---|
committer | Wolfram Sang <w.sang@pengutronix.de> | 2008-10-29 17:34:16 +0000 |
commit | 1ffe6d352f347c136862b8b52a2d5718124ea16d (patch) | |
tree | 524d769e1ad96002c272d2add182051fcfdae987 | |
parent | b0013b708fa36973d19cf07d42fe03fe03cc466b (diff) | |
download | ptxdist-1ffe6d352f347c136862b8b52a2d5718124ea16d.tar.gz ptxdist-1ffe6d352f347c136862b8b52a2d5718124ea16d.tar.xz |
* tests: unification of setenv for U-Boot V1 and V2
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@8993 33e552b5-05e3-0310-8538-816dae2090ed
-rwxr-xr-x | tests/flash.kermit | 17 | ||||
-rwxr-xr-x | tests/kwrapper | 5 | ||||
-rw-r--r-- | tests/libptxdisttest.kermit | 26 | ||||
-rwxr-xr-x | tests/make_uboot_v2_env | 17 | ||||
-rwxr-xr-x | tests/setenv.kermit | 22 | ||||
-rwxr-xr-x | tests/setenv.test | 81 | ||||
-rw-r--r-- | tests/setenv.u-boot-v1.kermit | 48 | ||||
-rwxr-xr-x | tests/setenv.u-boot-v2.kermit | 23 |
8 files changed, 65 insertions, 174 deletions
diff --git a/tests/flash.kermit b/tests/flash.kermit index e750afdc1..d1f3d59df 100755 --- a/tests/flash.kermit +++ b/tests/flash.kermit @@ -3,13 +3,24 @@ #Read the library take \%1 +define flash_area { + ptx_test_start "Flashing \%4" + ptx_uboot_exec 60 "tftp \m(ram_start) \%3" + ptx_uboot_exec 5 "protect off \%1 \%2" + ptx_uboot_exec 120 "erase \%1 \%2" + ptx_uboot_exec 120 "cp.b \m(ram_start) \%1 $(filesize)" + ptx_uboot_exec 5 "protect on \%1 \%2" + ptx_test_end +} + #Set up the line ptx_init \%2 ptx_uboot_enter_shell -ptx_uboot_exec_single "Flashing kernel" 300 "run prg_kernel" -ptx_uboot_exec_single "Flashing oftree" 10 "run prg_oftree" -ptx_uboot_exec_single "Flashing jffs2" 600 "run prg_jffs2" +define ram_start 0x400000 +flash_area 0xfe040000 0xfe1fffff "\%3" "kernel" +flash_area 0xfff40000 0xfff7ffff "\%4" "oftree" +flash_area 0xfe200000 0xffefffff "\%5" "jffs2" ptx_exit diff --git a/tests/kwrapper b/tests/kwrapper index 53146c655..ab0374003 100755 --- a/tests/kwrapper +++ b/tests/kwrapper @@ -1,5 +1,8 @@ #!/bin/bash +export PTXDIST_SYSROOT_HOST=$(ptxd_get_ptxconf PTXCONF_SYSROOT_HOST) +# FIXME! +export IMAGEDIR=${PTXDIST_PLATFORMDIR}/images OURDIR="$(dirname "${0}")" TST="${1}" shift @@ -33,6 +36,6 @@ TMPFILE="$(mktemp "${PTXDIST_TEMPDIR}/kwrapper.XXXXXX")" sed -e 's/^\(PTXCONF_BOARDSETUP_[A-Z0-9_]*\)=/define \1 /' "${PTXDIST_BOARDSETUP}" > "${TMPFILE}" # FIXME: add PTXDIST_TEST_vars from environment, too -"${KSCRIPT}" "${LIB}" "${TMPFILE}" "${@}" +"${PTXDIST_SYSROOT_HOST}/bin/ckermit" "${KSCRIPT}" = "${OURDIR}" "${TMPFILE}" "${@}" rm -f "${TMPFILE}" diff --git a/tests/libptxdisttest.kermit b/tests/libptxdisttest.kermit index 061d42e3e..17dfac3de 100644 --- a/tests/libptxdisttest.kermit +++ b/tests/libptxdisttest.kermit @@ -1,4 +1,4 @@ -#!/usr/bin/kermit # -*-sh-*- +#!/usr/bin/kermit define ptx_init { @@ -60,36 +60,46 @@ define ptx_wait_string { define ptx_uboot_enter_shell { ptx_test_start "Logging into U-Boot" + minput 120 "U-Boot 1" "U-Boot 2" +:eval_again if failure { writeln ERROR "FAILED! (waiting for u-boot-signature)" exit 1 } lineout .uboot_version := \v(minput) - ptx_wait_string 10 "\m(PTXCONF_BOARDSETUP_UBOOTPROMPT)" + if = \m(uboot_version) 2 { + .uboot_prompt = "uboot:" + } else { + .uboot_prompt = "uboot> " + } + # sometimes there are caches for serial inputs containing old data + # make sure we act on the newest one + minput 120 "U-Boot 1" "U-Boot 2" \m(uboot_prompt) + if not = \v(minput) 3 goto eval_again ptx_test_end } define ptx_uboot_exec { lineout "\%2" - input \%1 \m(PTXCONF_BOARDSETUP_UBOOTPROMPT) + input \%1 \m(uboot_prompt) if failure { - writeln ERROR "FAILED! (timeout while waiting for u-boot prompt after \%2)" + writeln ERROR "FAILED! (timeout while waiting for u-boot prompt after '\%2')" exit 1 } if = \m(uboot_version) 2 { - lineout "echo k-res:$?" - input 10 \fpattern(k-res:0$) + lineout "echo result: $?" + input 10 \fpattern(result: 0$) if failure { - writeln ERROR "FAILED! (returncode from \%2 is not 0)" + writeln ERROR "FAILED! (returncode from '\%2' is not 0)" exit 1 } - input 10 \m(PTXCONF_BOARDSETUP_UBOOTPROMPT) + input 10 \m(uboot_prompt) } } diff --git a/tests/make_uboot_v2_env b/tests/make_uboot_v2_env new file mode 100755 index 000000000..23d06ffc1 --- /dev/null +++ b/tests/make_uboot_v2_env @@ -0,0 +1,17 @@ +#!/bin/bash + +PTXDIST_SETENV_U_BOOT_V2_ENV="${1}" +ENVTMPDIR="$(mktemp -d "${PTXDIST_TEMPDIR}/uboot_v2_env.XXXXXX")" + +tar -C "${PTXDIST_PLATFORMCONFIGDIR}/u-boot-env/" -c . \ + --exclude .svn \ + --exclude .pc \ + --exclude .git \ + --exclude "${PTXDIST_PLATFORMCONFIGDIR}/u-boot-env/config.in" \ + | tar -C "${ENVTMPDIR}" -x + +${PTXDIST_SYSROOT_HOST}/bin/ubootenv -s "${ENVTMPDIR}" "${IMAGEDIR}/u-boot-v2-environment" + +cp "${IMAGEDIR}/u-boot-v2-environment" "${PTXDIST_SETENV_U_BOOT_V2_ENV}" + +rm -rf "${ENVTMPDIR}" diff --git a/tests/setenv.kermit b/tests/setenv.kermit index 2ddef31a4..ba5ae34ba 100755 --- a/tests/setenv.kermit +++ b/tests/setenv.kermit @@ -4,9 +4,9 @@ define setenv_uboot_v1 { ptx_test_start "Setting new environment" # Open the file with the new environment - open read \%1 + open read \%2 if fail { - writeln ERROR "FAILED! Could not open \%1." + writeln ERROR "FAILED! Could not open \%2." exit 1 } @@ -20,7 +20,7 @@ define setenv_uboot_v1 { while true { # wait for newline or u-boot-prompt - minput 5 {\10} \m(PTXCONF_BOARDSETUP_UBOOTPROMPT) + minput 5 {\10} \m(uboot_prompt) if fail { writeln ERROR "FAILED! Did not get old environment" exit 1 @@ -61,7 +61,8 @@ define setenv_uboot_v1 { } define setenv_uboot_v2 { - # ! gen_uboot_v2_image + + ! \%1/make_uboot_v2_env \%3 ptx_test_start "Setting initial environment" ptx_uboot_exec 3 "eth0.ipaddr=\m(PTXCONF_BOARDSETUP_TARGETIP)" @@ -69,15 +70,16 @@ define setenv_uboot_v2 { ptx_uboot_exec 3 "eth0.gateway=\m(PTXCONF_BOARDSETUP_GATEWAY)" ptx_uboot_exec 3 "eth0.netmask=\m(PTXCONF_BOARDSETUP_NETMASK)" ptx_uboot_exec 3 "mtdparts=\"128k(uboot)ro,128k(ubootenv),128k(ageing),1280k(kernel0),1280k(kernel1),8704k(system0),8704k(system1),8320k(application),4096k(persistent)\"" - ptx_uboot_exec 3 "addpart /dev/nor0 $mtdparts" + #ptx_uboot_exec 3 "addpart /dev/nor0 $mtdparts" ptx_test_end - ptx_uboot_exec_single "Calling server" "ping $eth0.serverip" + ptx_uboot_exec_single "Calling server" 15 "ping $eth0.serverip" ptx_test_start "Flashing default environment" ptx_uboot_exec 3 "unprotect /dev/nor0.ubootenv" - ptx_uboot_exec 10 "erase /dev/nor0.ubootenv" - ptx_uboot_exec 20 "tftp \%1 /dev/nor0.ubootenv" + #ptx_uboot_exec 10 "erase /dev/nor0.ubootenv" + #ptx_uboot_exec 20 "tftp \fbasename(\%3) /dev/nor0.ubootenv" + ptx_uboot_exec 20 "tftp \fbasename(\%3) /dev/ram0" ptx_uboot_exec 3 "protect /dev/nor0.ubootenv" ptx_test_end @@ -85,13 +87,13 @@ define setenv_uboot_v2 { } # Read the library -take \%1 +take \%1/libptxdisttest.kermit # Set up the line ptx_init \%2 ptx_uboot_enter_shell -setenv_uboot_v\m(uboot_version) +setenv_uboot_v\m(uboot_version) \%1 \%3 \%4 ptx_exit diff --git a/tests/setenv.test b/tests/setenv.test deleted file mode 100755 index 3bb8c2a42..000000000 --- a/tests/setenv.test +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/bash - -# FIXME consolidate these -PREFIX="setenv " -PROMPT="${PREFIX}" - -# -# -# -setup_u_boot() { - true -} - -# -# setup stuff for u-boot-v2 -# -setup_u_boot_v2() { - local envtmpdir="$(mktemp -d "${PTXDIST_TEMPDIR}/kconfig.XXXXXX")" - PTXDIST_SETENV_U_BOOT_V2_ENV="$(mktemp "${PTXCONF_BOARDSETUP_TFTP_PATH}/u-boot-v2-environment.XXXXXX")" - - tar -C "${PTXDIST_WORKSPACE}/u-boot-v2-env" -c . \ - --exclude .svn \ - --exclude .pc \ - --exclude .git \ - --exclude "${CONFFILE}.in" \ - | tar -C "${envtmpdir}" -x - - ubootenv -s "${envtmpdir}" "${IMAGEDIR}/u-boot-v2-environment" - - cp "${IMAGEDIR}/u-boot-v2-environment" \ - "${PTXDIST_SETENV_U_BOOT_V2_ENV}" - - rm -rf "${envtmpdir}" -} - - -# -# main() -# - -# FIXME: migrate into ptxdist -if [ ! -e "${PTXDIST_BOARDSETUP}" ]; then - ptxd_bailout "Please run 'ptxdist boardsetup' first!" -fi - -# source and export variables, so we can access them later with awk. -set -a -. "${PTXDIST_BOARDSETUP}" -set +a - -bootloader="$(ptxd_get_ptxconf PTXCONF_TEST_BOOTLOADER)" -case "${bootloader}" in - u_boot) - CONFFILE="${PTXDIST_WORKSPACE}/tests/u-boot-env.conf" - ;; - u_boot_v2) - CONFFILE="${PTXDIST_WORKSPACE}/u-boot-v2-env/config" - ;; - none) - echo - echo "${PROMPT}error: no bootloader choosen, select a bootloader with:" - echo "${PROMPT}error: 'ptxdist platformconfig'" - echo - exit 1 - ;; - *) - ptxd_bailout "bootloader: '${bootloader}' is not supported" - ;; -esac - -# -# Replace @MAGIC@ with PTXCONF_MAGIC variables from the environment -# this is all ugly somehow... -# but works :) -# -awk 'match($0, "@[A-Z0-9_]+@") { var=substr($0,RSTART+1,RLENGTH-2); gsub( "@"var"@", ENVIRON[var]); } {print} ' \ - "${CONFFILE}.in" > "${CONFFILE}" - -setup_$(bootloader) - -"${PTXDIST_TOPDIR}/tests/kwrapper" setenv.${bootloader} "${CONFFILE}" diff --git a/tests/setenv.u-boot-v1.kermit b/tests/setenv.u-boot-v1.kermit deleted file mode 100644 index c13435bf4..000000000 --- a/tests/setenv.u-boot-v1.kermit +++ /dev/null @@ -1,48 +0,0 @@ - -clear input -lineout "printenv" - -declare \&c[1000] -# array with entries to skip -declare \&s = ethaddr stdin stdout stderr baudrate -.\%i = 0 - -while true { - # wait for newline or u-boot-prompt - minput 5 {\10} \m(PTXCONF_BOARDSETUP_UBOOTPROMPT) - if fail { - writeln ERROR "FAILED! Did not get old environment" - exit 1 - } - # quit on u-boot-prompt - if = \v(minput) 2 break - # if no '=' then continue - if not match \v(input) *=* goto out - # extract part before '=' (from \v(input) the first word, allow '_') - assign envvar \fword(\v(input),1,,_) - # skip special keywords - if not = \farraylook(\m(envvar),&s) -1 goto out - # put setenv-command into array - assign \&c[\%i] setenv \m(envvar) - incr \%i -:out - clear input -} - -# clear old vars -for \%j 0 \%i-1 1 { - ptx_uboot_exec 5 "\&c[\%j]" -} - -# set new ones from file -while true { - read \%l - if fail break - ptx_uboot_exec 5 "\%l" -} - -close read - -ptx_uboot_exec 5 "printenv" -ptx_uboot_exec 10 "saveenv" -ptx_test_end diff --git a/tests/setenv.u-boot-v2.kermit b/tests/setenv.u-boot-v2.kermit deleted file mode 100755 index d050c82de..000000000 --- a/tests/setenv.u-boot-v2.kermit +++ /dev/null @@ -1,23 +0,0 @@ - -# ! gen_uboot_v2_image - -#Execute commands -ptx_test_start "Setting environment" -ptx_uboot_exec 3 "eth0.ipaddr=\m(PTXCONF_BOARDSETUP_TARGETIP)" -ptx_uboot_exec 3 "eth0.serverip=\m(PTXCONF_BOARDSETUP_SERVERIP)" -ptx_uboot_exec 3 "eth0.gateway=\m(PTXCONF_BOARDSETUP_GATEWAY)" -ptx_uboot_exec 3 "eth0.netmask=\m(PTXCONF_BOARDSETUP_NETMASK)" -ptx_uboot_exec 3 "mtdparts=\"128k(uboot)ro,128k(ubootenv),128k(ageing),1280k(kernel0),1280k(kernel1),8704k(system0),8704k(system1),8320k(application),4096k(persistent)\"" -ptx_uboot_exec 3 "addpart /dev/nor0 $mtdparts" -ptx_test_end - -ptx_uboot_exec_single "Calling server" "ping $eth0.serverip" - -ptx_test_start "Flashing environment" -ptx_uboot_exec 3 "unprotect /dev/nor0.ubootenv" -ptx_uboot_exec 10 "erase /dev/nor0.ubootenv" -ptx_uboot_exec 20 "tftp \%1 /dev/nor0.ubootenv" -ptx_uboot_exec 3 "protect /dev/nor0.ubootenv" -ptx_test_end - -ptx_uboot_exec_single "Reloading new environment" 10 "loadenv" |