Documentation ¶
Overview ¶
Package qemu is suitable for running QEMU-based integration tests.
The environment variable `UROOT_QEMU` overrides the path to QEMU and the first few arguments (defaults to "qemu"). For example, I use:
UROOT_QEMU='qemu-system-x86_64 -L . -m 4096 -enable-kvm'
For CI, this environment variable is set in `.circleci/images/integration/Dockerfile`.
Index ¶
- Variables
- type QEMU
- func (q *QEMU) Close()
- func (q *QEMU) CmdLine() []string
- func (q *QEMU) CmdLineQuoted() (cmdline string)
- func (q *QEMU) Expect(search string) error
- func (q *QEMU) ExpectRE(pattern *regexp.Regexp) error
- func (q *QEMU) ExpectRETimeout(pattern *regexp.Regexp, timeout time.Duration) error
- func (q *QEMU) ExpectTimeout(search string, timeout time.Duration) error
- func (q *QEMU) Send(in string)
- func (q *QEMU) Start() error
Constants ¶
This section is empty.
Variables ¶
var DefaultTimeout = 7 * time.Second
DefaultTimeout for `Expect` and `ExpectRE` functions.
var TimeoutMultiplier = 2.0
TimeoutMultiplier increases all timeouts proportionally. Useful when running QEMU on a slow machine.
Functions ¶
This section is empty.
Types ¶
type QEMU ¶
type QEMU struct { // Path to the bzImage kernel Kernel string // Path to the initramfs InitRAMFS string // Extra kernel arguments KernelArgs string // Extra QEMU arguments ExtraArgs []string // contains filtered or unexported fields }
QEMU is filled and pass to `Start()`.
func (*QEMU) CmdLine ¶
CmdLine returns the command line arguments used to start QEMU. These arguments are derived from the given QEMU struct.
func (*QEMU) CmdLineQuoted ¶
CmdLineQuoted quotes any of QEMU's command line arguments containing a space so it is easy to copy-n-paste into a shell for debugging.
func (*QEMU) Expect ¶
Expect returns an error if the given string is not found in QEMU's serial output within `DefaultTimeout`.
func (*QEMU) ExpectRE ¶
ExpectRE returns an error if the given regular expression is not found in QEMU's serial output within `DefaultTimeout`.
func (*QEMU) ExpectRETimeout ¶
ExpectRETimeout returns an error if the given regular expression is not found in QEMU's serial output within the given timeout.
func (*QEMU) ExpectTimeout ¶
ExpectTimeout returns an error if the given string is not found in QEMU's serial output within the given timeout.