diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2008-10-05 12:28:31 +0000 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2008-10-05 12:28:31 +0000 |
commit | 0ccad93e0ff0daa3a2cb8212de0ad268c009589f (patch) | |
tree | aa983f00fb500719fd9237007e576010205d2f1e /tests | |
parent | 831959c956ce93c494ff4b2fb9d814c62f7d13df (diff) | |
download | ptxdist-0ccad93e0ff0daa3a2cb8212de0ad268c009589f.tar.gz ptxdist-0ccad93e0ff0daa3a2cb8212de0ad268c009589f.tar.xz |
* setenv.test, setenv.u-boot-v2.kermit:
u-boot-v2 tests
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@8912 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/setenv.test | 81 | ||||
-rwxr-xr-x | tests/setenv.u-boot-v2.kermit | 33 |
2 files changed, 114 insertions, 0 deletions
diff --git a/tests/setenv.test b/tests/setenv.test new file mode 100755 index 000000000..3bb8c2a42 --- /dev/null +++ b/tests/setenv.test @@ -0,0 +1,81 @@ +#!/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-v2.kermit b/tests/setenv.u-boot-v2.kermit new file mode 100755 index 000000000..16eb05d05 --- /dev/null +++ b/tests/setenv.u-boot-v2.kermit @@ -0,0 +1,33 @@ +#!/usr/bin/kermit + + +#Read the library +take \%1 + +#Set up the line +pelts_init \%2 + +#Enter shell +pelts_uboot_enter_shell + +#Execute commands +pelts_test_start "Setting environment" +pelts_uboot_exec "eth0.ipaddr=\m(PTXCONF_BOARDSETUP_TARGETIP)" +pelts_uboot_exec "eth0.serverip=\m(PTXCONF_BOARDSETUP_SERVERIP)" +pelts_uboot_exec "eth0.gateway=\m(PTXCONF_BOARDSETUP_GATEWAY)" +pelts_uboot_exec "eth0.netmask=\m(PTXCONF_BOARDSETUP_NETMASK)" +pelts_uboot_exec "mtdparts=\"128k(uboot)ro,128k(ubootenv),128k(ageing),1280k(kernel0),1280k(kernel1),8704k(system0),8704k(system1),8320k(application),4096k(persistent)\"" +pelts_uboot_exec "addpart /dev/nor0 $mtdparts" +pelts_test_end + +pelts_uboot_exec_single "Calling server" "ping $eth0.serverip" + +pelts_test_start "Flashing environment" +pelts_uboot_exec "unprotect /dev/nor0.ubootenv" +pelts_uboot_exec "erase /dev/nor0.ubootenv" +pelts_uboot_exec "tftp u-boot-v2-environment-bfin /dev/nor0.ubootenv" +pelts_uboot_exec "protect /dev/nor0.ubootenv" +pelts_test_end + +pelts_uboot_exec_single "Reloading new environment" "loadenv" + +pelts_exit |