1common: 2 integration_platforms: 3 - qemu_x86 4 - qemu_x86_64 5 platform_allow: 6 # Representative platforms to make sure this builds without issues 7 # and the analyzer actually runs and outputs something. 8 - mps2/an385 9 - qemu_cortex_a53 10 - qemu_x86 11 - qemu_x86_64 12 - qemu_riscv32 13 - qemu_riscv64 14 - qemu_xtensa/dc233c/mmu 15 extra_configs: 16 - CONFIG_QEMU_ICOUNT=n 17 tags: 18 - debug 19 - thread_analyzer 20tests: 21 debug.thread_analyzer.printk: 22 extra_configs: 23 - CONFIG_THREAD_ANALYZER_USE_PRINTK=y 24 harness: console 25 harness_config: 26 type: multi_line 27 regex: 28 - "(.*)0x([0-9a-fA-F]+)([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 29 - "(.*)ISR0([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 30 debug.thread_analyzer.printk.stack_safety: 31 extra_configs: 32 - CONFIG_THREAD_ANALYZER_USE_PRINTK=y 33 - CONFIG_THREAD_ANALYZER_STACK_SAFETY=y 34 - CONFIG_THREAD_RUNTIME_STACK_SAFETY_DEFAULT_UNUSED_THRESHOLD_PCT=90 35 harness: console 36 harness_config: 37 type: multi_line 38 regex: 39 - "(.*)0x([0-9a-fA-F]+)([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 40 - " : Stack Safety Warning: Threshold crossed" 41 - "(.*)ISR0([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 42 debug.thread_analyzer.printk.userspace: 43 filter: CONFIG_ARCH_HAS_USERSPACE 44 extra_configs: 45 - CONFIG_THREAD_ANALYZER_USE_PRINTK=y 46 - CONFIG_USERSPACE=y 47 harness: console 48 harness_config: 49 type: multi_line 50 regex: 51 - "(.*)0x([0-9a-fA-F]+)([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 52 - "(.*)ISR0([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 53 debug.thread_analyzer.printk.userspace.priv_stack: 54 filter: CONFIG_ARCH_HAS_USERSPACE 55 extra_configs: 56 - CONFIG_THREAD_ANALYZER_USE_PRINTK=y 57 - CONFIG_THREAD_ANALYZER_PRIV_STACK_USAGE=y 58 - CONFIG_USERSPACE=y 59 platform_exclude: 60 # These platforms do not yet have the necessary bits to determine 61 # usage of privileged stacks. 62 - mps2/an385 63 - qemu_cortex_a53 64 harness: console 65 harness_config: 66 type: multi_line 67 regex: 68 - "(.*)0x([0-9a-fA-F]+)([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 69 - "(.*)PRIV_STACK: unused [0-9]+ usage [0-9]+ / [0-9]+" 70 - "(.*)ISR0([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 71 debug.thread_analyzer.log_backend: 72 extra_configs: 73 - CONFIG_THREAD_ANALYZER_USE_LOG=y 74 - CONFIG_LOG=y 75 - CONFIG_LOG_MODE_IMMEDIATE=y 76 harness: console 77 harness_config: 78 type: multi_line 79 regex: 80 - "(.*)0x([0-9a-fA-F]+)([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 81 - "(.*)ISR0([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 82 debug.thread_analyzer.log_backend.userspace: 83 filter: CONFIG_ARCH_HAS_USERSPACE 84 extra_configs: 85 - CONFIG_USERSPACE=y 86 - CONFIG_THREAD_ANALYZER_USE_LOG=y 87 - CONFIG_LOG=y 88 - CONFIG_LOG_MODE_IMMEDIATE=y 89 harness: console 90 harness_config: 91 type: multi_line 92 regex: 93 - "(.*)0x([0-9a-fA-F]+)([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 94 - "(.*)ISR0([ ]+) : STACK: unused [0-9]+ usage [0-9]+ / [0-9]+ (.*)" 95