zephyrproject-rtos / infrastructure-old

Zephyr Infrastructure Issue Tracker (obsolete)
8 stars 5 forks source link

guess_tags: based on the diff of a change, guess test tags to run #77

Open zephyrbot opened 8 years ago

zephyrbot commented 8 years ago

Reported by Inaky Perez-Gonzalez: Given a diff file into the Zephyr tree, produce in the standard output a list of tags that will identify a list of test cases to run.

This is heavily related to ZEP-770

This will allow that given a commit (or mashup of commits), we can identify the minimal set of test cases we want to run instead of running all.

This shall identify, for example:

Note the output format is basically:

TAG REASON[s]

FIXME: need to figure out how to have it also add some kind of target selector like:

arch: x86 arm
board: board1 board2 board3

As well, it is acumulative. If PATCH1 produces OUTPUT1

TA REASON1A
TB REASON1B
TC REASON1C

and PATCH2 produces OUTPUT2:

TA REASON2A
TB REASON2B
TD REASON2D

concatenating OUTPUT1 and OUTPUT2 and feeding it ot the script produces:

TA REASON1A REASON2A
TB REASON1N REASON2B
TC REASON1C
TD REASON2D

This script shall:

(Imported from Jira INF-76)

zephyrbot commented 8 years ago

by Inaky Perez-Gonzalez:

output of ZEP-770 is needed for completing this, but does not fully block it.

zephyrbot commented 7 years ago

by Javier B Perez:

Inaky Perez-Gonzalez what about something like these as template for structure:

.ini file

# Structure
# [Block name]
# tags: space-separated list of tags
# ext: space-separated list of file extensions (default all)
# files: line-separated list of files to check for changes. Can take python regex
# args: extra args to pass to sanity (optional)
# lines with "#" are ignored

# Documentation components
[Kconfig Doc]
# make -C doc/ kconfig
tags: bat_kconfig_doc
files:
    *kconfig*

[Doxy Doc]
# make -C doc/ doxy
tags: bat_doxy_doc
ext: .c .h .S
# included list taken from doc/doxygen.config
files:
    include/
    include/misc/
    include/arch/x86/
    include/arch/arc/
    include/arch/arc/v2
    include/arch/arm/
    include/arch/arm/cortex_m/
    include/arch/nios2/
    lib/libc/minimal/include/
    ext/lib/crypto/tinycrypt/include/
    lib/iot/zoap/zoap.h
    tests/ztest/include/

[Rest Doc]
# make -C doc/ htmldocs
# this includes kconfig and doxy
tags: bat_rest_doc
files:
    doc/

# ARCH
[ARM ARCH]
# sanitycheck --tag kernel_core --arch arm
tags: kernel_core
args: --arch arm
files:
    arch/arm
zephyrbot commented 7 years ago

Related to GH-73