summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2008-10-05 12:28:31 +0000
committerMarc Kleine-Budde <mkl@pengutronix.de>2008-10-05 12:28:31 +0000
commit0ccad93e0ff0daa3a2cb8212de0ad268c009589f (patch)
treeaa983f00fb500719fd9237007e576010205d2f1e /tests
parent831959c956ce93c494ff4b2fb9d814c62f7d13df (diff)
downloadptxdist-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-xtests/setenv.test81
-rwxr-xr-xtests/setenv.u-boot-v2.kermit33
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