SnapTest 1.2.1 is now out, bringing with it URL obfuscation for the web front end, and a number of bug fixes. It’s available on github in the usual distribution forms (tar.gz, zip). With it comes the most significant and requested feature: the finished web interface.
Referring to the distribution on GitHub wasn’t a mistake. With SnapTest 1.2.1’s formal release, we moved from Google Code over to GitHub. We had been holding out for a bug tracker and now that they have one, well, there’s just no good reason to be hanging out on Google’s site. We took the time to migrate over any open bugs, as well as the wiki pages to the new format. To reflect this, we’ve also updated the README file to reference all the new homes. We’ve been pretty happy on Git, and are excited to have our code as part of the GitHub community.
In a public project, the desire to make tests runnable by everyone was a very strong draw. For this to be successful though, we needed to not disclose the full path information to the end user. I spent a good three weeks thinking I was clever, and even wrote a Blowfish implementation in PHP to find something that wasn’t dependent on PEAR and could be used in the project. I was feeling pretty good about it all until I looked at the test runner output. Telling someone there was an error in file ef33EEFE3341rf313f... isn’t very helpful.
I threw out all the obfuscation stuff, and just dropped the testing path from the displayed URLs and the output made sense suddenly. The encryption was cool, but I realized that encrypting the file paths wasn’t the solution I actually wanted. The code is better for it and better serves the actual use case.
The release also comes with a slew of bug fixes, including increased compatibility for OSX and Windows (spaces in filenames), graceful deaths when included files have problems, and a few minor interface improvements.
On the heels of the 1.2.1 release, SnapTest 1.2.2 on GitHub is already nearing RC with bug fixes and verbose output. The verbose output will definitely help troubleshoot since there’s no easy way to run someone else’s tests on my own box, and proved useful in dissecting the multi-process flow SnapTest uses when it was misreporting test case counts. If you’re feeling ambitious, you can grab the 1.2.2 source from github and begin playing with it immediately.