JTA To Do List

This is a list of items to be done to improve JTA.

Note: Maybe make this a table if it gets big enough and we need more structure - but use a list for now

Tim's ideas

 * improve the guide
 * The guide is pretty sad - it needs a lot more detail
 * what does it need? see JTA guide notes
 * the guide needs some kind of "hello test" instructions
 * the guide needs detailed instructions for how to integrate yocto and buildroot sdks


 * get a new name - JTA is OK, but how about:
 * JELTS - Jenkins-based Embedded Linux Test System
 * FELT - Framework for Embedded Linux Testing ("It's smooth")
 * Fuego - no meaning, just a cool name (reference to Tierra Del Fuego, a penguin habitat) (spanish for "fire")
 * This is my favorite.
 * It looks like there's already a "fuego" package for linux (C++ libraries for 'Go' programs??)
 * testbook - combination of "test" and "facebook" - already used in usb-testbook - see http://testbook.net/usb-trial.html
 * testbox - combination of "test" and "box" (which is popular for embedded linux tools - busybox, toybox, etc.)


 * add support for serial interface to target boards
 * can execute easily enough, but need get and put files over serial console - look at ymodem?


 * add support for adb interface to target boards
 * this should be trivial for the .board file - but possibly less so for the distro file?)


 * convert documetation to asciidoc
 * pre-install test binaries, for multiple architectures
 * this should lower the barrier to entry
 * there's no need to install toolchains (toolchains are needed for new tests only)
 * there's no need to rebuild the tests constantly


 * test using ttc
 * add target_test as a test
 * write hello test tutorial for qemuarm
 * write hello test tutorial for qemux86 (this is even easier??)


 * submit talk proposal for ELC
 * submit BOF proposal for ELC


 * get rid of extraneous jenkin-isms in the interface
 * eg. "Build a Maven 2/3 project" on the New Job page. - what does this mean?, do I care? It's needless junk in our interface.


 * add test dependencies, and run a sanity-checker before tests (to avoid false negatives)
 * check for kernel config, target configuration features (ability to change kernel, ability to reboot), etc.


 * respond on mailing list within 24 hours.
 * response times from cogent are very bad (over a week, and sometimes not at all)


 * move the project to github? (I don't like the bitbucket hosting)

Bugs?

 * when creating a new board, the environment variable "DISTR" was set to distribs/nologger.dist, which caused a missing "DISTRIB" message
 * it appears that this environment variable name should be DISTRIB
 * in the release I'm testing in January 2016 (jta-core last commit Nov 30 2015, and jta-public last commit Nov 30 2015)
 * I was making userdata/conf/boards/bbb.board (copied from template-dev.board) and neither has either DISTR or DISTRIB.
 * adding DISTRIB="distribs/nologger.dist" to bbb.board still resulted in the error
 * in the file /home/jenkins/tests/Benchmark.bc/bc-scripts/bc-device.sh, it sets BC_EXPR1=$1 and also!! BC_EXPR2=$1
 * Shouldn't that be BC_EXPR2=$2 ??
 * in the file /home/jenkins/tests/Benchmark.bc/bc-script.sh, the function test_run has the line "report "cd $JTA_HOME/jta.$TESTDIR; ./bc-device.sh $BENCHMARK_BC_EXPR1 $BENCHMARK_BC_EXPR1"
 * Shouldn't that second parameter be $BENCHMARK_BC_EXPR2 (!!)
 * in my log I was seeing both arguments written at "2+2", although I was using the default bc spec.
 * the sample specs for the BC example seem to have poor names
 * instead of the specs being named bc_exp1 and bc_exp2, they should be bc_mult and bc_add, to describe what they do.
 * this is expecially true since exp1 and exp2 are used inside the script themselves to indicate the first and second expressions to evaluate
 * if you click on "graph" to see the results of the test, then go "back" in the browser, it re-runs the test again.

Artemi's items
Here is a list that Artemi sent me in October, 2015
 * Tim's hardware lab... integration/support of Sony debug board
 * Consider synchronization/update to align with latest versions of Jenkins
 * Update LTP test suite
 * Consider update/synchronize with latest public versions of other test suites (e.g. iperf/netperf and other benchmarks)
 * Split into separate repositories and make tests separate from the framework
 * Consider Docker-based installation (to avoid - "failed to install" setup issues)
 * Qemu target support
 * Consider adding more elegant/straightforward way of running separate test on target, command-line interface