This is an update after the discussion on the last IRC meeting.
As you might know, the travis-ci integration requires this pull request:
which introduces support in Sproutcore for detecting phantomjs, the headless browser used by the countinuos integration
scripts. Phantomjs is actually Webkit, but compiled so that it can run headless, or without a graphical user interface.
The, imho obvious, advantage here is that *all* unit tests are run on each push and pull request, thus greatly simplifying the work
of reviewers, coders, and also making sure there are no side effects with each change.
Someone (rightly) objects at having and maintaining a specific detector for Phantomjs in Sproutcore, but I would say the the benefits
greatly outweigh the costs of maintaining a single line of code and there is really no other readily available way of working around this issue.
Anyway, to prove that #1018 does no harm I have run all unit tests with and without it
and I have found out that that change singlehandedly fixes 7 test suites with no regressions.
The results are available on this Google spreadsheet:
The FIXED suites are those fixed by #1018, those FAILED are, well, still failing for other reasons, and they also fail when run in my browser. I have quickly dug
through the FAILED ones and fixed a couple of them. The commits are available in my fork and are linked to in the last spreadsheet column.
Summary: the patch fixes 7 test suites with no regressions. There are still 27 test suites with 190 assertion failures and 18 errors.
Of the 27 suites 2 are related to templateviews and two I have resolved myself.
Why should we merge this before 1.10?
Because automated CI saves time and gives immediate feedback, when it's most effective.
Because Tyler Keating's huge work on the refactoring views and introducing statecharts for views is large, deep reaching into SC internals and therefore deserves an automation to guide him and to reduce his workload.
Ciao,
Umberto