summaryrefslogtreecommitdiff
path: root/gsoc/2011-07-12-status-report-7.org
blob: 8313ed2fb9f95c241e52dd43cd5f502867e33a7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
---
title:         Status Report for Week #7
date:          2011-07-12
layout:        post
category:      gsoc
---
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 ='built.log'=
to =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 [[https://github.com/gnusosa/Dancer/commit/8a7b2867632c09e5f04c03b8eb3db5c207970549][commit]].

After that, I added several missing =debug= methods to Script.pm, and
worked around another missing log output. Here is [[https://github.com/gnusosa/Dancer/commit/708491d84d5b0d29cddea2eec397dee0171312fc][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 ([[https://gist.github.com/1077586][x86]] &
[[https://gist.github.com/1077585][PPC]]), and [[https://gist.github.com/1077583][Debian]]. In each platform, all the =object= tests passed,
however, the test 01_script.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 [[https://github.com/gnusosa/Dancer/commit/66eefa28aac020ea27d0c6b1db8275517c9f8a8d][the commit]].

*** What's next?
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
send_file or the recent send_data. :)

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.