Sunday 28th July 2013 6.52pm
Sun, Jul 28, 2013Link shared: https://github.com/BoostGSoC/boost.afio
Last weekend before Google Summer of Code Milestone 1! The race is definitely on, so I was up till 7am poking the unit test bot with a stick and I have a lovely live build matrix showing whether, per-commit, the proposed library compiles and passes a unit test run on these platform and toolset combinations:
Static analysis: clang + oclint
Linux: GCC + libstdc++ 4.6, GCC + libstdc++ 4.7, GCC + libstdc++ 4.8, clang + libstdc++ 3.1, clang + libstdc++ 3.2, clang + libstdc++ 3.3
Linux: clang 3.3 + libcxx
FreeBSD 10: clang 3.3 + libcxx
WinXP: VS2010, Mingw, Mingw-w64
Win7: VS2012, VS2013
… which definitely should demonstrate the portability requirement for Boost's peer review process. Which is going to be tough to pass, because AFIO is going to be the very first Boost library to require some C++11 support, which turns out to be highly divisive for the Boost community (http://thread.gmane.org/gmane.comp.lib.boost.devel/242269/focus=242277).
The unit test bot is based on Jenkins (https://ci.nedprod.com/view/Build%20History/) and it uses a mixture of snapshotting KVM VMs (for Windows and FreeBSD) and plain old OpenVZ containers (for Linux). I was sorry to not be able to snapshot the Linux builds as so to test every time from virgin build, but the RAM requirements to run so many VMs, never mind how long it takes given so many variants kinda ruled it out. What I've got so far I'm fairly happy with, and at least it's finally working reliably which it was not until this weekend after several weekends of trial and error.
On Thursday I'm going on vacation when I'll write up the GSoC reports and submit them, and on Friday I'm off to Niagra for five days of actual vacation. Hope the weather improves a lot between now and then.