Are you a student interested in contributing to a production-quality operating system by increasing its overall quality? If so, you have come to the right place!
As you may already know, the Google Summer of Code 2014 program is on and FreeBSD has been accepted as a mentoring organization. As it so happens, I have a project idea that may sound interesting to you.
During the last few months, we have been hard at work adding a standardized test suite to the FreeBSD upstream source tree as described in the TestSuite project page. However, a test suite is of no use if it lacks a comprehensive collection of tests!
Fortunately, the FreeBSD source tree already has a reasonable collection of test programs that could be put to use... but unfortunately, these are all not part of the test suite and are broken in various ways because they have not be run for years. Here is where you come into play.
My project idea
I would like you to spend the summer working with us in converting all existing legacy tests into modern-style tests, and hooking those into the FreeBSD test suite. The obsolete tests currently live in src/tools/regression/ and src/tools/test/.
Sounds boring? Here is what you will achieve:
- Contribute to a production-quality operating system from which you will be able to reference your work at any point in the future. If you are into systems at all, this is an invaluable experience for yourself and your résumé.
- Gain a better understanding of Unix and FreeBSD by debugging failing tests. Trust me, debugging problems on a real-world operating system is an excellent way to gain working knowledge of systems and troubleshooting, both of which are valuable skill-sets in the industry.
- Understand how a test suite is organized and how individual tests become useful in day-to-day operations. Not all tests are created equal and many are not as nice as they should be, so you will be using your coding skills to improve their quality.
- Get to know ATF, Kyua and other testing technologies.
And if that's not all: the results of your project will be immediately visible to the whole world at the official continuous testing machines and your fellow developers will be infinitely grateful for having one more tool to ensure their changes don't break the system!
So, if you are interested, please navigate to the project proposal page, read the nitty-gritty details and contact us via the freebsd-testing mailing list. And, if you happen to be in Tokyo attending AsiaBSDCon 2014, stop by and talk to me!