summaryrefslogtreecommitdiffstats
path: root/support/testing
Commit message (Collapse)AuthorAgeFilesLines
...
* support/testing: rename check_broken_links to has_broken_linksLuca Ceresoli2017-05-171-3/+3
| | | | | | | | | has_broken_links makes it self-explanatory that this is a predicate function, and that the return value tells whether there _are_ broken links, not the opposite. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/testing: remove unused variableLuca Ceresoli2017-05-101-1/+0
| | | | | Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/testing: show messages in a more readable formatLuca Ceresoli2017-05-101-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently messages from run-tests are quite unpleasant: [br-tests/TestPostScripts/2017-05-09 15:51:57] Building [br-tests/TestPostScripts/2017-05-09 15:52:23] Building done [br-tests/TestPostScripts/2017-05-09 15:52:23] Cleaning up .[br-tests/TestNoTimezone/2017-05-09 15:52:23] Starting [br-tests/TestNoTimezone/2017-05-09 15:52:23] Building [br-tests/TestNoTimezone/2017-05-09 15:53:17] Building done [br-tests/TestNoTimezone/2017-05-09 15:53:22] Cleaning up .[br-tests/TestGlibcNonDefaultLimitedTimezone/2017-05-09 15:53:22] Starting [br-tests/TestGlibcNonDefaultLimitedTimezone/2017-05-09 15:53:22] Building [br-tests/TestGlibcNonDefaultLimitedTimezone/2017-05-09 15:54:33] Building done [br-tests/TestGlibcNonDefaultLimitedTimezone/2017-05-09 15:54:37] Cleaning up [...] Change them in a more readable way by removing the date and using a columnar style: 15:12:22 TestPostScripts Starting 15:12:25 TestPostScripts Building 15:12:48 TestPostScripts Building done 15:12:48 TestPostScripts Cleaning up .15:12:48 TestNoTimezone Starting 15:12:54 TestNoTimezone Building 15:13:44 TestNoTimezone Building done 15:13:49 TestNoTimezone Cleaning up .15:13:49 TestGlibcNonDefaultLimitedTimezone Starting 15:14:00 TestGlibcNonDefaultLimitedTimezone Building 15:14:56 TestGlibcNonDefaultLimitedTimezone Building done 15:15:01 TestGlibcNonDefaultLimitedTimezone Cleaning up [...] Note the '.' and other characters presented by nose2 are still printed. They are not affected by this change. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/testing: add toolchain testsThomas Petazzoni2017-05-072-0/+156
| | | | | | | | This commit adds an initial toolchain test case, testing the ARM CodeSourcery toolchain, just checking that the proper sysroot is used, and that a minimal Linux system boots fine under Qemu. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/testing: add package testsThomas Petazzoni2017-05-073-0/+63
| | | | | | | | This commit adds some basic tests for two Buildroot packages: python and dropbear. These tests are by no mean meant to be exhaustive, but mainly to serve as initial examples for other tests. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/testing: add fs testsThomas Petazzoni2017-05-0711-0/+469
| | | | | | | | | | This commit adds a number of test cases for various filesystem formats: ext2/3/4, iso9660, jffs2, squashfs, ubi/ubifs and yaffs2. All of them except yaffs2 are runtime tested. The iso9660 set of test cases is particularly rich, testing the proper operation of the iso9660 support with all of grub, grub2 and isolinux. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/testing: add core testsThomas Petazzoni2017-05-078-0/+159
| | | | | | | | | | | This commit adds a few Buildroot "core" tests, testing functionalities such as: - post-build and post-image scripts - root filesystem overlays - timezone support Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/testing: core testing infrastructureThomas Petazzoni2017-05-077-0/+428
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>
OpenPOWER on IntegriCloud