Skip to content
This repository has been archived by the owner on Oct 30, 2018. It is now read-only.

Arrow Unit and Functional Tests Running on Travis #467

Merged
merged 9 commits into from Sep 10, 2012

Conversation

mridgway
Copy link
Collaborator

@mridgway mridgway commented Sep 6, 2012

Go go Travis CI!

Full test suite takes about 15-20 minutes, but runs against 0.4, 0.6, and 0.8 in parallel.

- "sh -e /etc/init.d/xvfb start"
- "wget http://selenium.googlecode.com/files/selenium-server-standalone-2.25.0.jar"
- "java -jar selenium-server-standalone-2.25.0.jar -p 4444 > /dev/null 2>&1 &"
- "cd node_modules/yahoo-arrow; npm install yui; cd ../..;"
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is due to a nasty YUI dependency collision since Mojito already has it installed. I'd like to work with @proverma on this to figure out what is going on. Please note that developers that want to run the tests locally may have to do this same step.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mridgway we should move these statements into its own .sh file (arrow.sh maybe), just like we did with yaf-develop branch under the ./travis/ folder. In my mind, .travis.yml should be simple enough, just having references to scripts we want to execute.

We can also create a ./travis/travis.sh script for anyone who want to run these tests locally.

I wonder if we should have the .jar file as part of our repo.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be nice to also include a link to the docs (http://about.travis-ci.org/docs/user/gui-and-headless-browsers/). That might make maintenance easier in the future should the docs change.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@caridy I can refactor the travis.yml into scripts as you requested. I'm not a fan of having the .jar as part of the repo.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thinking about this some more, I don't know if it is necessary to refactor this out. Some of these steps like xvfb and the display port I would not expect anyone to run outside of the Travis environment. I think the other three steps would just be a documentation issue. Given that, I don't know what advantage we get by moving these into separate files.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mridgway the main reason for refactoring this is because we could have a dummy before_install script, and a custom one for our bleeding branches (yaf-develop for example) to use the bleeding YUI version (branch 3.x). Otherwise we will have to have a different .travis.yml file in those branches.

@drewfish
Copy link
Contributor

drewfish commented Sep 6, 2012

False-positive? I'm seeing the following in job 157.1:

1217TypeError: Cannot call method 'createElement' of null
1218 at /home/travis/builds/yahoo/mojito/node_modules/yahoo-arrow/node_modules/yui/dom-core/dom-core-min.js:7:262
...
1228[2012-09-06 07:25:37.570] [ERROR] NodeDriver - Failed to get the test report
1229[2012-09-06 07:25:37.572] [ERROR] Arrow - Failed to get the test report, Controller: /home/travis/builds/yahoo/mojito/node_modules/yahoo-arrow/lib/controller/default

@drewfish
Copy link
Contributor

drewfish commented Sep 6, 2012

In the func tests of job 157.1, there are a bunch of descriptors that don't seem to be running any tests. For example, line 1601: 0 Passed, 0 Failed , 0 skipped. I don't know if this is OK or not.

@mridgway
Copy link
Collaborator Author

mridgway commented Sep 6, 2012

@isao is looking into the createElement errors. These are created by the new middleware tests.

The 0 Passed, 0 Failed , 0 skipped is a result of having empty test files. During the transition we created placeholder tests that instantiate the components so that we can easily add tests. This way, if we start doing code coverage, the files still have some coverage and are included in the report.

@isao
Copy link
Contributor

isao commented Sep 6, 2012

@mridgway pull #468 should fix the createElement error-- caused by mixing nodejs code with browserland

@mridgway
Copy link
Collaborator Author

All tests are now passing. I consider this ready to be merged. There is still some clean up work to be done separately and we'll have to monitor stability as we go.

@isao
Copy link
Contributor

isao commented Sep 10, 2012

shipit

thanks @mridgway

@ghost ghost assigned mridgway Sep 10, 2012
mridgway added a commit that referenced this pull request Sep 10, 2012
Arrow Unit and Functional Tests Running on Travis
@mridgway mridgway merged commit d6ea2ca into YahooArchive:develop Sep 10, 2012
@caridy
Copy link
Contributor

caridy commented Sep 12, 2012

@mridgway thanks for the refactor on travis.yml :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants