As, I said earlier, I have been reading Time Management for System Administrators and trying to take the useful things out of it, while ignoring the bits that don’t particularly apply. Like any book of advice, much of it has a sort of “well duh” quality but sometimes those are the very things you aren’t doing because they seem too easy.
One bit of good advice that everyone already knows but few actually do anything with is to write down your goals and to set goals that are reachable. Or, more aptly, testable, like “I will do X by Y.”
So rather than my usual, “Hey, I want to be more involved in the ruby community.” I should set some goals that are more reachable. One of those is to add a patch to some bit of software maintained by someone else.
So, I have been looking at projects on github and poking around at them. One thing I would really like to do is to make it easier to test file uploads on rack apps without using rails. Mostly with webrat. I have this killer sinatra app that I would like to write features in cucumber for, but file uploads refuse to be easily testable.
I kludged some stuff together that I have been working on, but it is not working yet. Essentially, the problem is that webrat for rails uses some bits of rails that handle that stuff, while the sinatra code doesn’t. In fact, the sinatra code makes things more difficult–maybe. I have had some trouble following stuff up the call stack.
Hmm. Maybe I should have tests for my tests. and send mocks to the code that I am going to use for testing to figure out what it does that I should change.
I git clone
d the webrat repo from github and got its specs running, mostly. Then I installed more gems, like redgreen and running rake spec
still didn’t work. But, I found the problem.
There was a spec in the merb session code which used setup
instead of before
which was breaking.
Now, all the current specs pass, except the pending ones. That leaves where I am this weekend, trying to figure out where my changes fit. I think I should build a small sinatra app to test my testing, so it will be more in context.
Later.