BSDCan2014 - Final

BSDCan 2014
The Technical BSD Conference

Julio Merino
Day Talks - Day 2 - Sat May 17 - 2014-05-17
Room Montpetit 202
Start time 10:00
Duration 01:00
ID 462
Event type Lecture
Track Hacking
Language used for presentation English

The FreeBSD Test Suite

An introduction

FreeBSD has seen the birth of its test suite in 2013 and, while the result is heavily based on experience gained in the NetBSD project, there are significant differences between the two.

Come to this talk to learn what the FreeBSD test suite is by looking at the various design choices, the tools in use, the roadmap to the final product and, if you are into coding, some actual examples of tests and the process to plug them into the suite.

FreeBSD has been in the need for an automated test suite for a long time. During the last few years, various alternatives have been investigated and, finally, the beginnings of a tangible test suite surfaced in 2013. The FreeBSD test suite is now a reality: the system builds and installs tests out of the box; the test suite can be trivially executed with a single command; the testing cluster is up and running, publishing results for test runs about twice per hour; and there is a lot of ongoing work to make the current setup better.

This talk will provide you with a general overview of the new FreeBSD test suite, both from the perspective of an end user and of a developer. We will cover many different areas, including but not limited to: the structure of the test suite, covering the use of Kyua as the run-time engine and the various "frameworks" available to implement test programs; the set up of the continuous testing cluster, to understand how its activity benefits developers; the differences between the FreeBSD and NetBSD test suites, and how the two will eventually converge; the future plans for the test suite, especially in the area of reporting and kernel-level testing; and, to conclude, we will get our hands dirty by seeing actual code for a bunch of simple tests. You will hopefully get a sense of the non-existent difficulty to start writing tests en-masse!