Go to file
Thomas Petazzoni a732fb222b support/testing: core testing infrastructure
This commit adds the core of a new testing infrastructure that allows to
perform runtime testing of Buildroot generated systems. This
infrastructure uses the Python unittest logic as its foundation.

This core infrastructure commit includes the following aspects:

 - A base test class, called BRTest, defined in
   support/testing/infra/basetest.py. This base test class inherited
   from the Python provided unittest.TestCase, and must be subclassed by
   all Buildroot test cases.

   Its main purpose is to provide the Python unittest setUp() and
   tearDown() methods. In our case, setUp() takes care of building the
   Buildroot system described in the test case, and instantiate the
   Emulator object in case runtime testing is needed. The tearDown()
   method simply cleans things up (stop the emulator, remove the output
   directory).

 - A Builder class, defined in support/testing/infra/builder.py, simply
   responsible for building the Buildroot system in each test case.

 - An Emulator class, defined in support/testing/infra/emulator.py,
   responsible for running the generated system under Qemu, allowing
   each test case to run arbitrary commands inside the emulated system.

 - A run-tests script, which is the entry point to start the tests.

Even though I wrote the original version of this small infrastructure, a
huge amount of rework and improvement has been done by Maxime
Hadjinlian, and squashed into this patch. So many thanks to Maxime for
cleaning up and improving my Python code!

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-07 22:04:54 +02:00
arch arch, linux, package: remove whitespaces 2017-03-29 23:30:37 +02:00
board board/stmicroelectronics/stm32f469-disco: remove OpenOCD patches 2017-05-07 13:56:00 +02:00
boot uboot: fix target uboot defconfig warning 2017-04-22 15:05:50 +02:00
configs configs/armadeus_apf9328_defconfig: remove RPC option 2017-05-07 14:11:16 +02:00
docs docs/website: update for 2017.02.2 2017-05-02 22:18:16 +02:00
fs ext2: add help text for BR2_TARGET_ROOTFS_EXT2_BLOCKS 2017-05-04 17:15:13 +02:00
linux linux: bump default to version 4.11 2017-05-01 10:45:35 +02:00
package rpi-firmware: extend vcdbg architecture dependency comment 2017-05-07 21:53:39 +02:00
support support/testing: core testing infrastructure 2017-05-07 22:04:54 +02:00
system system: do not overwrite /bin/sh Busybox symlink 2017-03-29 23:28:58 +02:00
toolchain toolchain: add 4.11.x choice for headers 2017-05-01 20:54:42 +02:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
.gitlab-ci.yml .gitlab-ci.yml: sync with latest defconfig additions 2017-05-07 13:42:12 +02:00
.gitlab-ci.yml.in gitlab-ci: add gcc-multilib to the docker image 2017-03-10 14:22:25 +01:00
CHANGES Update for 2017.02.2 2017-05-02 21:58:34 +02:00
Config.in package: add generic support for lz archives 2017-02-15 22:11:11 +01:00
Config.in.legacy package/sunxi-mali: remove sunxi-mali libMali for r2p4 Mali kernel modules 2017-05-07 16:14:29 +02:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS lua-resty-http: new package 2017-05-04 22:23:19 +02:00
Makefile core: add rule to dump packages' build order 2017-04-13 23:09:08 +02:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches