====== Daniel Verkamp: Automated regression testing ====== ===== Journal Week 10 ===== ==== Monday, July 27 ==== Attempting to debug Test::Machine::Qemu lockup with -curses and -monitor on a PTY. Noted that with -curses and -serial stdio, no lockup occurs, so this seems to be unique to -curses. Tracing monitor and curses operation; seemingly qemu-char.c is used for generic "char devices", which at least the monitor is. ==== Tuesday, July 28 - Wednesday, July 29 ==== ''strace'' of QEMU with -curses and -monitor simultaneously seems to indicate that it is in fact writing to the monitor PTY: open("/dev/pts/5", O_RDWR|O_NONBLOCK) = 11 ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0 ioctl(11, SNDCTL_TMR_START or TCSETS, {B115200 opost -isig -icanon -echo ...}) = 0 [...] write(11, "QEMU 0.10.5 monitor - type 'help'"..., 56) = 56 write(11, "(qemu) "..., 7) = 7 ==== Thursday, July 30 ==== Attach the correct end of the monitor PTY to QEMU: [[http://git.etherboot.org/?p=people/dverkamp/gpxe.git;a=commitdiff;h=185f366fb4fae22406bc6d31089fa5f0216ce29e|commit]] Taking a short break from debugging -curses output (I plan to continue work in other areas using -serial and gPXE's CONSOLE_SERIAL if I can't figure it out in the short term). Implemented generic configuration file abstraction: [[http://git.etherboot.org/?p=people/dverkamp/gpxe.git;a=commitdiff;h=aee3639bf122863d190bdaf791bb583c67a80287|commit]] Switched ''Test::Machine'' from parsing conf files itself over to ''Test::Configuration'': [[http://git.etherboot.org/?p=people/dverkamp/gpxe.git;a=commitdiff;h=0df6de43cb0c4e98048350e37dd3c6e6abcce9d0|commit]]