Transport notes

This page has some random notes about the fuego transport functions.

These are implemented in base-board.fuegoclass.

This page describes some of the issues related to these functions.

ssh and scp, adb, serio and ttc are candidates for tools that fuego can use for transport operations. Each of these has peculiarities that are worth describing.

scp supports a -r option to use recursion with a set of files and directories.

scp supports transferring more than one file at a time to a single destination directory

table of sub-tool features [edit section]

ssh, adb, serio and ttc are candidates for tools that fuego can use for transport operations.

Here is a table of sub-tool features:
tool and command  ^ supports directory recursion  ^ uses -r  ^ supports multiple sources  ^ supports target wildcards  ^
scp yes yes yes yes
ttc depends on wrapped command can pass it through to sub-command yes depends on wrapped command
serio -g no no no no
serio -p no no no no
adb pull yes no yes? ?
adb push yes no no no
Query

required board variables [edit section]

ttc [edit section]

ttc will use the board name (BOARD_NAME variable), unless TTC_TARGET is defined in the board file.

ebf [edit section]

ebf will use the board name (BOARD_NAME variable), unless EBF_DEVICE is defined in the board file.

lc [edit section]

lc will use the board name (BOARD_NAME variable), unless LC_BOARD is defined in the board file.

tests that require board farm variables [edit section]

The test Functional.gpio_test uses:

These are passed to the gpio_test.sh on the DUT, to use for accessing the lab server, to perform operations from the target.

I'm not sure about support for authentication for the board.

places where 'get' is called [edit section]

in the system:

in test scripts:

places where 'put' is called [edit section]

in the system:

in test scripts: *
test  ^ script  ^ command  ^ uses -r?  ^ uses wildcard  ^ use multiple sources  ^
Benchmark.Dhrystone Dhrystone.sh put dhrystone $BOARD_TESTDIR/fuego.$TESTDIR/ | | return 1 * no no no
Benchmark.GLMark GLMark.sh put -r glmark data $BOARD_TESTDIR/fuego.$TESTDIR/ yes no no
Benchmark.netpipe NetPIPE.sh put NPtcp $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.Whetstone Whetstone.sh put whetstone $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.aim7 aim7.sh put src/reaim $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.aim7 aim7.sh put -r scripts $BOARD_TESTDIR/fuego.$TESTDIR/ yes no no
Benchmark.aim7 aim7.sh put -r data $BOARD_TESTDIR/fuego.$TESTDIR/ yes no no
Functional.aiostress aiostress.sh put aiostress $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.arch_timer arch_timer.sh put -r ./* $BOARD_TESTDIR/fuego.$TESTDIR/ yes yes no
Functional.bc bc-script.sh put bc-device.sh $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.blobsallad blobsallad.sh put blobsallad $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.blobsallad blobsallad.sh put -r maps $BOARD_TESTDIR/fuego.$TESTDIR/ yes no no
Benchmark.bonnie bonnie++.sh put bonnie++ $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.bzip2 bzip2.sh put {sample*,run-tests.sh} $BOARD_TESTDIR/fuego.$TESTDIR/ no yes yes?
Functional.cmt cmt.sh put -r ./* $BOARD_TESTDIR/fuego.$TESTDIR/ yes yes no
Functional.crashme crashme.sh put crashme $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.cyclictest cyclictest.sh put cyclictest $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.dbench dbench.sh put dbench client.txt $BOARD_TESTDIR/fuego.$TESTDIR/ no no yes
Benchmark.ebizzy ebizzy.sh put ebizzy $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.expat expat.sh put xmlwf/.libs/xmlwf $BOARD_TESTDIR/xmlwf/xmlwf; no no no
Functional.expat expat.sh put -r XML-Test-Suite.tar tests/.libs/* tests/xmltest.sh $BOARD_TESTDIR/fuego.$TESTDIR/; yes yes yes
Benchmark.ffsb ffsb.sh put examples/profile_everything $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.ffsb ffsb.sh put ffsb $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.fio fio.sh put fio examples/fsx-current examples/ssd-test-current $BOARD_TESTDIR/fuego.$TESTDIR/ no no yes
Functional.fontconfig fontconfig.sh put -r test/* $BOARD_TESTDIR/fuego.$TESTDIR/ yes yes no
Functional.ft2demos ft2demos.sh put ${tarball%.tar*}/bin/.libs/* $BOARD_TESTDIR/fuego.$TESTDIR/ no yes no
Functional.glib glib2.sh put gio/tests/Makefile.am `find . -name .libs | xargs -IDIRS find DIRS -not -type d -not -name '*.so*' -not -name '*.la*' -perm /u+x` $BOARD_TESTDIR/fuego.$TESTDIR/ no no! yes
Benchmark.gtkperf gtkperf.sh put src/gtkperf $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.gtkperf gtkperf.sh put pixmaps/*.png $BOARD_TESTDIR/fuego.$TESTDIR/share/pixmaps no yes no
Benchmark.hackbench hackbench.sh put hackbench $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.hello_world hello_world.sh put hello $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.himeno himeno.sh put bmt $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.Interbench interbench.sh put interbench $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.IOzone iozone.sh put fileop iozone pit_server $BOARD_TESTDIR/fuego.$TESTDIR/ no no yes
Benchmark.iperf iperf.sh put src/iperf $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.ipv6connect ipv6connect.sh put ipv6connect $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.Java java_perf.sh put *.jar $BOARD_TESTDIR/fuego.$TESTDIR/ no yes no
Functional.jpeg jpeg.sh put run-tests.sh test* djpeg cjpeg jpegtran $BOARD_TESTDIR/fuego.$TESTDIR/; no yes yes
Benchmark.linpack linpack.sh put linpack $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.linus_stress linus_stress.sh put linus_stress $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.lmbench2 lmbench.sh put -r * $BOARD_TESTDIR/fuego.$TESTDIR/ yes yes no
LTP ltp.sh put -r fs_tests/* $BOARD_TESTDIR/fuego.$TESTDIR/ yes yes no
LTP ltp.sh put -r target_bin /tmp/fuego.$TESTDIR/ yes no no
LTP ltp.sh put -r testcases/kernel/device-drivers/rtc/rtc01 $BOARD_TESTDIR/fuego.$TESTDIR/ yes no no
Benchmark.nbench-byte nbench-byte.sh put hardware nbench sysinfo.sh *.DAT $BOARD_TESTDIR/fuego.$TESTDIR/ no yes yes
Benchmark.nbench_byte nbench_byte.sh put hardware nbench sysinfo.sh *.DAT $BOARD_TESTDIR/fuego.$TESTDIR/ no yes yes
netperf netperf.sh put *script $BOARD_TESTDIR/fuego.$TESTDIR/ no yes no
netperf netperf.sh put netperf $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
OpenSSL openssl.sh put -r apps util test run-tests.sh $BOARD_TESTDIR/fuego.$TESTDIR/ yes no yes
Functional.pi_tests pi_tests.sh put ./pi_stress $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.posixtestsuite posixtestsuite.sh put -r ./* $BOARD_TESTDIR/fuego.$TESTDIR/ yes yes no
Benchmark.reboot reboot.sh put $TEST_HOME/$tarball $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.rmaptest rmaptest.sh put rmap-test $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.scifab scifab.sh put -r ./* $OSV_HOME/osv.$TESTDIR/ yes yes no
Functional.scrashme scrashme.sh put scrashme $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.sdhi_0 sdhi_0.sh put -r ./* $OSV_HOME/osv.$TESTDIR/ yes yes no
Benchmark.signaltest signaltest.sh put signaltest $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.Stream stream.sh put stream_c.exe $BOARD_TESTDIR/fuego.$TESTDIR/ no no yes
Functional.stress stress.sh put src/stress $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.synctest synctest.sh put synctest $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.tiobench tiobench.sh put tiotest $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Benchmark.x11perf x11perf.sh put x11perf $BOARD_TESTDIR/fuego.$TESTDIR/ no no no
Functional.zlib zlib.sh put example minigzip $BOARD_TESTDIR/fuego.$TESTDIR/ no no yes

Notes:

rules [edit section]

Here is a list of rules regarding use of 'get' and 'put' in Fuego: