fvp_utils.sh: support Monitor LAVA Test actions
Monitor test actions [1] are useful to define multiple expect matches
through regular expressions and can work together with the current
interactive test actions [2], the latter commonly used for single
expect matches and interaction with the booted model.
The change implied a complete refactor of current defined expect
strings, where now these must define whether is a interactive or
monitor test action through a leading char: 'i' for interactive or 'm'
for monitor.
To provide an short example, if we define the following lava expect script
expect_string+=('m;Booting Trusted Firmware;\
Booting BL31;\
Digest(\s|\w)*:\s(\w{2}\s){16}@: (\w{2}\s){16}@Event(\s|\w)*:\s\w+\s')
expect_string+=('i;buildroot login:')
The CI processes it and converts it into the LAVA job definition [3]:
.
.
- test:
timeout:
minutes: 15
monitors:
- name: tests
start: 'Booting Trusted Firmware'
end: 'Booting BL31'
pattern: 'Digest(\s|\w)*:\s(\w{2}\s){16}'
pattern: ': (\w{2}\s){16}'
pattern: 'Event(\s|\w)*:\s\w+\s'
fixupdict:
PASS: pass
FAIL: fail
- test:
timeout:
minutes: 15
interactive:
- name: uart0_0
prompts: ['buildroot login:']
script:
- name: result
command:
Note that boht type of actions are defined. The lava-expects/README.md
has more information about the details implied on this change.
[1] https://validation.linaro.org/static/docs/v2/monitors.html
[2] https://validation.linaro.org/static/docs/v2/actions-test.html#interactive-test-action
[3] https://tf.validation.linaro.org/scheduler/job/312768
Signed-off-by: Leonardo Sandoval <leonardo.sandoval@linaro.org>
Change-Id: Icc05403abf59f30ded60565b8c942d53a91d3990
diff --git a/lava-expect/crash_test.exp b/lava-expect/crash_test.exp
index 4ec8f3f..f967195 100644
--- a/lava-expect/crash_test.exp
+++ b/lava-expect/crash_test.exp
@@ -6,87 +6,87 @@
# Expect script for Trusted Firmware Test Framework
#
-expect_string+=('Unhandled External Abort received')
-expect_string+=('BACKTRACE: START: plat_ea_handler')
-expect_string+=('BACKTRACE: END: plat_ea_handler')
-expect_string+=('PANIC in EL3')
-expect_string+=('x30')
-expect_string+=('x0')
-expect_string+=('x1')
-expect_string+=('x2')
-expect_string+=('x3')
-expect_string+=('x4')
-expect_string+=('x5')
-expect_string+=('x6')
-expect_string+=('x7')
-expect_string+=('x8')
-expect_string+=('x9')
-expect_string+=('x10')
-expect_string+=('x11')
-expect_string+=('x12')
-expect_string+=('x13')
-expect_string+=('x14')
-expect_string+=('x15')
-expect_string+=('x16')
-expect_string+=('x17')
-expect_string+=('x18')
-expect_string+=('x19')
-expect_string+=('x20')
-expect_string+=('x21')
-expect_string+=('x22')
-expect_string+=('x23')
-expect_string+=('x24')
-expect_string+=('x25')
-expect_string+=('x26')
-expect_string+=('x27')
-expect_string+=('x28')
-expect_string+=('x29')
-expect_string+=('scr_el3')
-expect_string+=('sctlr_el3')
-expect_string+=('cptr_el3')
-expect_string+=('tcr_el3')
-expect_string+=('daif')
-expect_string+=('mair_el3')
-expect_string+=('spsr_el3')
-expect_string+=('elr_el3')
-expect_string+=('ttbr0_el3')
-expect_string+=('esr_el3')
-expect_string+=('far_el3')
-expect_string+=('spsr_el1')
-expect_string+=('elr_el1')
-expect_string+=('spsr_abt')
-expect_string+=('spsr_und')
-expect_string+=('spsr_irq')
-expect_string+=('spsr_fiq')
-expect_string+=('sctlr_el1')
-expect_string+=('actlr_el1')
-expect_string+=('cpacr_el1')
-expect_string+=('csselr_el1')
-expect_string+=('sp_el1')
-expect_string+=('esr_el1')
-expect_string+=('ttbr0_el1')
-expect_string+=('ttbr1_el1')
-expect_string+=('mair_el1')
-expect_string+=('amair_el1')
-expect_string+=('tcr_el1')
-expect_string+=('tpidr_el1')
-expect_string+=('tpidr_el0')
-expect_string+=('tpidrro_el0')
-expect_string+=('par_el1')
-expect_string+=('mpidr_el1')
-expect_string+=('afsr0_el1')
-expect_string+=('afsr1_el1')
-expect_string+=('contextidr_el1')
-expect_string+=('vbar_el1')
-expect_string+=('cntp_ctl_el0')
-expect_string+=('cntp_cval_el0')
-expect_string+=('cntv_ctl_el0')
-expect_string+=('cntv_cval_el0')
-expect_string+=('cntkctl_el1')
-expect_string+=('sp_el0')
-expect_string+=('isr_el1')
-expect_string+=('dacr32_el2')
-expect_string+=('ifsr32_el2')
-expect_string+=('icc_hppir0_el1')
-expect_string+=('icc_hppir1_el1')
-expect_string+=('icc_ctlr_el3')
+expect_string+=('i;Unhandled External Abort received')
+expect_string+=('i;BACKTRACE: START: plat_ea_handler')
+expect_string+=('i;BACKTRACE: END: plat_ea_handler')
+expect_string+=('i;PANIC in EL3')
+expect_string+=('i;x30')
+expect_string+=('i;x0')
+expect_string+=('i;x1')
+expect_string+=('i;x2')
+expect_string+=('i;x3')
+expect_string+=('i;x4')
+expect_string+=('i;x5')
+expect_string+=('i;x6')
+expect_string+=('i;x7')
+expect_string+=('i;x8')
+expect_string+=('i;x9')
+expect_string+=('i;x10')
+expect_string+=('i;x11')
+expect_string+=('i;x12')
+expect_string+=('i;x13')
+expect_string+=('i;x14')
+expect_string+=('i;x15')
+expect_string+=('i;x16')
+expect_string+=('i;x17')
+expect_string+=('i;x18')
+expect_string+=('i;x19')
+expect_string+=('i;x20')
+expect_string+=('i;x21')
+expect_string+=('i;x22')
+expect_string+=('i;x23')
+expect_string+=('i;x24')
+expect_string+=('i;x25')
+expect_string+=('i;x26')
+expect_string+=('i;x27')
+expect_string+=('i;x28')
+expect_string+=('i;x29')
+expect_string+=('i;scr_el3')
+expect_string+=('i;sctlr_el3')
+expect_string+=('i;cptr_el3')
+expect_string+=('i;tcr_el3')
+expect_string+=('i;daif')
+expect_string+=('i;mair_el3')
+expect_string+=('i;spsr_el3')
+expect_string+=('i;elr_el3')
+expect_string+=('i;ttbr0_el3')
+expect_string+=('i;esr_el3')
+expect_string+=('i;far_el3')
+expect_string+=('i;spsr_el1')
+expect_string+=('i;elr_el1')
+expect_string+=('i;spsr_abt')
+expect_string+=('i;spsr_und')
+expect_string+=('i;spsr_irq')
+expect_string+=('i;spsr_fiq')
+expect_string+=('i;sctlr_el1')
+expect_string+=('i;actlr_el1')
+expect_string+=('i;cpacr_el1')
+expect_string+=('i;csselr_el1')
+expect_string+=('i;sp_el1')
+expect_string+=('i;esr_el1')
+expect_string+=('i;ttbr0_el1')
+expect_string+=('i;ttbr1_el1')
+expect_string+=('i;mair_el1')
+expect_string+=('i;amair_el1')
+expect_string+=('i;tcr_el1')
+expect_string+=('i;tpidr_el1')
+expect_string+=('i;tpidr_el0')
+expect_string+=('i;tpidrro_el0')
+expect_string+=('i;par_el1')
+expect_string+=('i;mpidr_el1')
+expect_string+=('i;afsr0_el1')
+expect_string+=('i;afsr1_el1')
+expect_string+=('i;contextidr_el1')
+expect_string+=('i;vbar_el1')
+expect_string+=('i;cntp_ctl_el0')
+expect_string+=('i;cntp_cval_el0')
+expect_string+=('i;cntv_ctl_el0')
+expect_string+=('i;cntv_cval_el0')
+expect_string+=('i;cntkctl_el1')
+expect_string+=('i;sp_el0')
+expect_string+=('i;isr_el1')
+expect_string+=('i;dacr32_el2')
+expect_string+=('i;ifsr32_el2')
+expect_string+=('i;icc_hppir0_el1')
+expect_string+=('i;icc_hppir1_el1')
+expect_string+=('i;icc_ctlr_el3')