Week #7 like the last week was about testing, but to be more specific, to test that the module does work in multiple platforms. But I also ended adding another test. For several days, I met with my mentors to discuss the future of the module, and to reply to my suggestions. From the last week, as a suggestion from Franck, I removed the ‘build.log’ functionality. Also as a suggestion by Sawyer, I renamed
build.log. This will be a future implementation. I also checked for changes in the current
script/dancer from Dancer’s HEAD github repo. There was no reasonable change to add to
Script.pm, although there was a change in the lib file path, that I added in a commit in the first weeks.
More than adding, more tests, the work I did was directed to the maintaining of the module itself. How it run, what did it run, and how other tests worked with the script. I even ended up changing a test in the
19_dancer script dir.
What I worked on Week #7
For Week #7, I added a log output using
Dancer::Logger, a modified version of the one I wrote in week #6. After that I added the output log test file called
05_output.t, made it work and test it first on a Mac. Here is the commit.
After that, I added several missing
debug methods to Script.pm, and worked around another missing log output. Here is the commit.
For all that, I was constantly testing the files in
t dir. Specially, the ones in
19_dancer/object, the tests related to Script.pm. For all of them, I tried installing Dancer from my working repo and testing everything. I tested in Windows XP, Mac OS X (x86 & PPC), and Debian. In each platform, all the
object tests passed, however, the test 01script.t kept on failing every single time. This was the longest problem I had worked on, it took me day and a half to find out that it was as simple as removing a number. The problem was that the new console log out printed its messages to level 1 like
1>, therefore, the test was to look for a correct string in
2> not in level 1. After a disappointing run against my debugging skills, I finally commited the quick fix, that ended with that. Here is the commit.
For week #7, the following are the key points:
- Prepare the Midterm report.
- Code review, if possible.
- Describe the status of the project and further plans.
So now that the basic layout is solid, we can add more features, and work on other details. For instance, now that Dancer is more complex, and full of new ways to output data. Instead, of scaffolding a single route into
MyApp.pm, I think it would be wise to add an example of several output ways that Dancer offers. This will be the ones I always see to be more requested in the Dancer’s IRC channel #dancer @ irc.perl.org. For example, the hooks, and how to deploy files with sendfile or the recent senddata. :)
There is also a need of approval from my mentors, Franck & Sawyer, but for other matters, like adding a build log, working with more tests, rebasing, and such. I hope that the code review can help and work for that.
Good luck and the best of the cheers to everybody in the midterm period. This goes for both, mentors & students.