XO1.5 run-in tests: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Redirected page to Olpc-runin-tests)
 
Line 1: Line 1:
= CL1B Run-in tests =
#REDIRECT [[olpc-runin-tests]]

== Plan ==

For CL1B we are going integrate the runin tests into our main build. This completely eliminates a image download step on the manufacturing floor and will be useful for in field diagnostics.

== Prerequisites ==
During the OS builds we will run md5deep and generate a manifest of all the files in the build and compress
the file.

(excluding /var/log, /proc, /sys....)

== Procedure ==

<pre>
Early in the boot (rc.d S00- or some such) check the TS mfg flag for run in

if !run-in then exit
run-in = [ `cat /OFW/mfg-data/TS` == "RUNIN" ] (or what ever bash function we have to do this)

Start run-in test:
remove /bootpart/runin/fail.log
remove /bootpart/runin/olpc.fth
uncompress fs_hash.md5.whatever
Start X with our set of tests in xinitrc.

Grab start time.
Start tests:

- Set the charger pwm to 0% so it runs off of battery as much as possible
Tell EC not to charge battery. Run test for n hours on battery.
After 4-n hours re-enable full power and tell EC to charge battery
- Run md5deep to compare the all the files vs the manifest.
run over and over.
? running multiple md5deeps on different parts of the fs
for a different type of stress.
- Run cpuburn with floating point
- Run memtester
- Run camera with output to the screen an possbily to file

- Run play audio (file of silence)

- Check cputemp

- ? Turn wireless on and off by reloading firmware?
- ? Suspend resume?
- ? do some r and r stuff to work the video engine harder ?

- Reboot tests [Not quite sure how to do with other long running tests]

Wait time < 4hours:
watch /tmp/fail.log for any items to show up
if present the write fail.log and olpc.fth to /bootpart/runin and reboot

Check battery to make sure it returned to fully charged

Clean up droppings

Re-run md5deep to verify the files are still pristine.
Copy Run-In result file into /bootpart/runin
</pre>

=== Notes ===

* Each test runs in its own process and checks for pass fail and appends to /tmp/fail.log

* If any test fails it outputs a fail report into a 'fail.log'. Top level script watchs for items in
/tmp/fail.log and if found aborts the runin early. Then copies the /tmp/fail.log and rundone.fth to /bootpart/runin.

Latest revision as of 17:27, 28 February 2011

Redirect to: