summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWolfram Sang <w.sang@pengutronix.de>2008-10-29 17:34:16 +0000
committerWolfram Sang <w.sang@pengutronix.de>2008-10-29 17:34:16 +0000
commit1ffe6d352f347c136862b8b52a2d5718124ea16d (patch)
tree524d769e1ad96002c272d2add182051fcfdae987
parentb0013b708fa36973d19cf07d42fe03fe03cc466b (diff)
downloadptxdist-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-xtests/flash.kermit17
-rwxr-xr-xtests/kwrapper5
-rw-r--r--tests/libptxdisttest.kermit26
-rwxr-xr-xtests/make_uboot_v2_env17
-rwxr-xr-xtests/setenv.kermit22
-rwxr-xr-xtests/setenv.test81
-rw-r--r--tests/setenv.u-boot-v1.kermit48
-rwxr-xr-xtests/setenv.u-boot-v2.kermit23
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"