Code Monkey home page Code Monkey logo

zuul's Introduction

*/!\ This software is not maintained and was not updated for several years, if you want to do browser testing we recommend you use different tools. Which ones? I have no idea but if you do, please open a PR so we can list them here /!*

[DEPRECATED] zuul Build Status

Zuul is an easy way to test your javascript in browsers. Start testing your code in seconds locally and move to cloud based browsers seamlessly for better coverage.

Zuul is different than other cross browser test runners in its simplicity and ability to easily run your test suite in many browsers without having them installed locally. It lets you iterate quickly during development and provide good browser coverage before release without worrying about missing a supported browser.

Don't just claim your js supports "all browsers", prove it with tests!

If you are looking for the edge routing service named Zuul that is related to Netflix, it can be found here: https://github.com/Netflix/zuul

If you are looking for the OpenStack related test automation tool that is also named Zuul, you can find it here: https://docs.openstack.org/infra/zuul/feature/zuulv3/

zuul

Zuul workflow

Zuul works out of the box with a few commonly used javascript frameworks (qunit, mocha, tape, jasmine). If you are already testing using these, zuul setup will be trivial.

Zuul has 3 modes of operation: locally, cloud browsers, and continuous integration. You should make sure that zuul is working locally before you try to run the other two.

Once you have installed zuul proceed to the quickstart to write your first test.

Running zuul locally

When iterating on your tests during development, simply use zuul --local mode to see your tests run in a browser.

local zuul

See the quickstart page on the wiki for more details.

Cross browser testing via Saucelabs

The reason we go through all this trouble in the first place is to seamlessly run our tests against all those browsers we don't have installed. Luckily, saucelabs runs some browsers and we can easily task zuul to test on those.

testing in the cloud

See the cooking with sauce wiki page to get your tests running in the cloud.

Continuous integration

No testing setup would be complete without a badge for passing or failing tests. After making sure your tests all pass in the cloud from your local machine, we will configure our tests to pass from travis-ci when we commit changes.

local zuul

See the travis-ci integration wiki page.

Frameworks

The following frameworks are supported:

  • mocha (tdd, qunit, and bdd flavors)
  • tape
  • qunit
  • jasmine

Examples

See the examples directory for some simple tests. Use the above knowledge to test the examples with your install of zuul.

All of the examples can be tested locally by running the following command in each example directory.

zuul --local 8080 -- test.js

zuul.yml

The zuul consumes a yaml config file. See the zuul.yml wiki page for all of the goodies this file provides.

It includes advanced usage like how to run an additional server to support tests that make ajax requests.

License

MIT

Credits

This project is made possible by all the awesome modules it uses. See the package.json file for all the awesome.

zuul's People

Contributors

alekseykulikov avatar andreypopp avatar bengourley avatar bevacqua avatar brycekahle avatar chinedufn avatar cristiandouce avatar danielstjules avatar davidtheclark avatar defunctzombie avatar domenic avatar eshao avatar feross avatar haroenv avatar jameskyburz avatar jfromaniello avatar josephfrazier avatar lpinca avatar marionebl avatar mcollina avatar mcous avatar phated avatar pheuter avatar rase- avatar spamaps avatar thlorenz avatar tmcw avatar vvo avatar vweevers avatar warbrett avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zuul's Issues

--bail support

It would be great to have a way to 'stop' at the first error and make it the first thing on the page. This would be great for inspection on saucelab's failures.

Export ZUUL_PORT

Not sure if this is a good idea or not, but would there be any interest in exporting ZUUL_PORT? That way a static server is only a short line away:

server: "python -m SimpleHTTPServer $ZUUL_PORT"

Opera doesn't work

Tried several different versions including latest, but always ends up looking like this:

> [email protected] test-stack /Volumes/Shared_HD/Users/eshao/omni
> DEBUG=zuul* node_modules/.bin/zuul test/hours/*.js test/*.js

  zuul control server active on port 65500 +0ms
  zuul bouncer active on port 65501 +1ms
  zuul:sauce add opera 9 Windows 2003 +0ms
  zuul:sauce add android 4.0 Linux +0ms
  zuul:sauce add iexplore 6 Windows 2003 +0ms
  zuul:sauce add iexplore 7 Windows 2003 +1ms
  zuul:sauce add iexplore 8 Windows 2008 +0ms
  zuul:sauce add iexplore 9 Windows 2008 +0ms
  zuul:sauce add iexplore 10 Windows 2008 +0ms
  zuul:sauce add iexplore 11 Windows 2012 R2 +0ms
  zuul:sauce add firefox 19 Linux +0ms
  zuul:sauce add safari 6 Mac 10.8 +0ms
  zuul:sauce add iphone 6.1 Mac 10.8 +0ms
  - testing: opera @ Windows XP: 9
  - testing: android @ Android: 4.0
  - testing: iexplore @ Windows XP: 6 7
  - testing: iexplore @ Windows 7: 8 9 10
  - testing: iexplore @ Windows 8.1: 11
  - testing: firefox @ Linux: 19
  - testing: safari @ OS X Mountain Lion: 6
  - testing: iphone @ iOS: 6.1
  zuul:tunnel tunnel requested to port 65501 +0ms
  zuul tunnel url https://gkdk.localtunnel.me/__zuul +3s
  zuul:sauce running opera 9 Windows 2003 +570ms
  - queuing: opera v9 (Windows 2003)
  zuul:sauce running android 4.0 Linux +4ms
  - queuing: android v4.0 (Linux)
  zuul:sauce running iexplore 6 Windows 2003 +1ms
  - queuing: iexplore v6 (Windows 2003)
  zuul:sauce open https://gkdk.localtunnel.me/__zuul +462ms
  - starting: opera v9 (Windows 2003)
cloud failure: Unexpected data in simpleCallback.

npm ERR! [email protected] test-stack: `DEBUG=zuul* node_modules/.bin/zuul test/hours/*.js test/*.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] test-stack script.
npm ERR! This is most likely a problem with the kites-omni package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     DEBUG=zuul* node_modules/.bin/zuul test/hours/*.js test/*.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls kites-omni
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 13.0.0
npm ERR! command "/usr/local/Cellar/node/0.10.22/bin/node" "/usr/local/bin/npm" "run" "test-stack"
npm ERR! cwd /Volumes/Shared_HD/Users/eshao/omni
npm ERR! node -v v0.10.22
npm ERR! npm -v 1.3.14
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /Volumes/Shared_HD/Users/eshao/omni/npm-debug.log
npm ERR! not ok code 0

[question] working with component

i think for the next version of component, i'm going to build all the scripts + styles + tests into a .js and .css file, not including the relevant runner. how would i get that running with zuul?

  • i see require()s in the example, so i'm guessing you browserify that stuff. the test.js will include its own require() implementation, so it shoulud be standalone minus the runner. WILL IT RUN!?
  • CSS!?!?!?! though the use-case for that is small
  • what if i packaged everything into a single .html file. can we do tests that way?

doesn't work with umd wrapped stuff?

because i'm using my own module loader, i have my own require()s, but browserify is parsing those. thus, i get the terrible stack trace from #64

maybe the latest browserify fixes this? or maybe i'm doing somethin ghorribly wrong. i'm doing something like:

nlz build test.js
zuul --local 8080 --ui mocha-bdd -- build/test.js

Allow quick-inspecting source file for a given trace

  • figure out how to copy file location(including lineno) to clipboard so it can quickly opened in chrome dev tools via CMD-O CMD-V Enter
  • show the syntax highlighted code of the entire file in a pane to the right with the traced line highlighted when a more button is clicked

Zuul reports success even if some tests fail

Example output. The unix return code also indicates success.

deshao-mbp ~/omni> node_modules/.bin/zuul --ui mocha-qunit test/hours/*.js test/*.js
  - testing: googlechrome @ Windows XP: 31
  - testing: safari @ OS X Mountain Lion: 6
  - testing: iexplore @ Windows XP: 6 7
  - testing: iexplore @ Windows 7: 8 9 10
  - testing: iexplore @ Windows 8.1: 11
  - queuing: googlechrome v31 (Windows 2003)
  - queuing: safari v6 (Mac 10.8)
  - queuing: iexplore v6 (Windows 2003)
  - starting: googlechrome v31 (Windows 2003)
  - starting: iexplore v6 (Windows 2003)
  - passed: googlechrome v31 (Windows 2003)
  - starting: safari v6 (Mac 10.8)
  - queuing: iexplore v7 (Windows 2003)
  - passed: safari v6 (Mac 10.8)
  - queuing: iexplore v8 (Windows 2008)
  - starting: iexplore v7 (Windows 2003)
  - starting: iexplore v8 (Windows 2008)
  - failed: iexplore v6 (Windows 2003): 36 failures
  - queuing: iexplore v9 (Windows 2008)
  - failed: iexplore v7 (Windows 2003): 33 failures
  - queuing: iexplore v10 (Windows 2008)
  - starting: iexplore v9 (Windows 2008)
  - starting: iexplore v10 (Windows 2008)
  - passed: iexplore v10 (Windows 2008)
  - passed: iexplore v9 (Windows 2008)
  - queuing: iexplore v11 (Windows 2012 R2)
  - failed: iexplore v8 (Windows 2008): 23 failures
  - starting: iexplore v11 (Windows 2012 R2)
  - passed: iexplore v11 (Windows 2012 R2)
  - all passed

iphone tests hangs

Hi,

From my testing, iphone tests are starting and finishing (given the saucelabs interface) but zuul is never noticed of the end of the tests.

Zuul always says:

  • starting: iphone v6.1 (Mac 10.8)

but the test never finishes. other browsers are ok.

https://github.com/vvo/lazyload has this problem so I removed the iphone line in zuul.yml

Allow disabling of global detections

I'm using mocha as test interface and it has global detection turned on by default. My library fortress is actually introducing globals as part of it's tests. It would be nice if these testing frameworks's options could be set through the zuul.yml file.

clipboard stuff breaks in firefox on sacelabs

Global leak introduced on firefox when run in saucelabs with a failing test. I have disabled it for now. Needs better testing and review before we re-enable it. The benefit is limited but breaking things is bad.

Chrome tests suddenly running on every platform

Noticed recently that with this config

ui: tape
browsers:
  - name: chrome
    version: 35..latest
  - name: firefox
    version: 30..latest

that Chrome tests are running on every possible platform. See:

screen shot 2014-09-13 at 5 37 29 pm

This didn't used to happen before, and doesn't happen with Firefox tests. Maybe the browser json endpoint changed?

code coverage

Probably use istanbul. Should be test framework agnostic.

cloud failure: Unexpected data in simpleCallback.

I am receiving this failure quite often. I dug into it and put in some logging statements in the wd dependency in which it is happening, and here is the message:

  - starting: iphone v6.1 (Mac 10.8)
in simpleCB
undefined
ERROR Job url is not in progress. It may have recently finished, or experienced an error. You can learn more at https://saucelabs.com/jobs/url
cloud failure: Unexpected data in simpleCallback.

// zuul exits with error status at this point

In SauceLabs, it reports the test as: Client disconnected during getNewBrowserSession request.

I believe this occurs any time a given browser combination errors before it even gets to the part where mocha runs tests. For example, attempting to perform a console.log in IE when the console is closed.

I would suggest that the desired behavior would be to notify the user that the browser could not execute the test file due to pre-test evaluation errors and count it as a single failure instead of exiting the process.

Add ability to open tests using opener

opener will allow you to open the browser. I tried this:

"test-browser": "zuul --server 9000 test/tests.js && opener http://localhost:9000"

But it didn't seem to work since zuul takes over the console and won't let go.

Sauce labs integration errors

I'm looking to setup a test suite to run using Sauce Labs. All specs run and pass when running locally at http://localhost:8080/__zuul. But when running on Sauce Labs, every browser results in one of the following two errors:

Error: timeout of 2000ms exceeded
    assertion https://steogwvfxz.localtunnel.me/__zuul/client.js:1118
    Anonymous function https://steogwvfxz.localtunnel.me/__zuul/client.js:691
    emit https://steogwvfxz.localtunnel.me/__zuul/framework.js:583
    fail https://steogwvfxz.localtunnel.me/__zuul/framework.js:4539
    failHook https://steogwvfxz.localtunnel.me/__zuul/framework.js:4564
    Anonymous function https://steogwvfxz.localtunnel.me/__zuul/framework.js:4603
    done https://steogwvfxz.localtunnel.me/__zuul/framework.js:4295
    Anonymous function https://steogwvfxz.localtunnel.me/__zuul/framework.js:4275
Error: timeout of 2000ms exceeded
    {anonymous}() https://guflvbqvub.localtunnel.me/__zuul/framework.js:4275

Had this been seen at all before?

travis matrix help!

Not so much an issue, and more like I need help! Really like how easy zuul is to use, but I am a little stuck on it's setup with superagent. Since superagent runs tests for node and the browser, the travis matrix ends up expanding to being like this:

  • node 0.8
    • runs node tests
    • runs zuul tests
  • node 0.10
    • runs node tests
    • runs zuul tests
  • node 0.11
    • runs node tests
    • runs zuul tests

https://travis-ci.org/visionmedia/superagent/jobs/19407988

Any thoughts on how to flatten it out to run all the node tests, than each browser tests?

Leverage Travis-CI's "matrix" field somehow?

I'm loving zuul now that I'm finally diving in to try it out. One thing that kinda turns me off is that the currently recommended Travis integration setup:

  1. Doesn't allow a good way to run the tests via node.js and browsers (dual-sided modules).
  2. Shoves all different test output into one Travis "test". It would be ideal IMO if each browser was run in its own "test" on Travis.

What do we need to do to make this happen?

Need to be able to configure browserify and fixture

browserify

I'd like to provide an alternative way to create the browserify instance, which allows me to configure the following:

  • transforms
  • browserify opts (like ignore)
  • adding shims

Additionally I'd like to provide the opts passed to .bundle(). This would alleviate the whole discussion around the --debug flag, since I could specify this option and more:

  • debug, noparse, etc.

fixture

I'd also like to override the content of the index.html file (not just the path to it, but point it to a function that returns a string) in order to facilitate templating methods I use in my app for testing as well.

Of course when returning that html, I'd be responsible to include whatever is needed to make zuul and mocha work.

implementation

All this configuration could be provided via a simple JavaScript file to which I point zuul via a --config flag.

exports.browserify = function () {
  // create browserify here, add shims, transforms (but not files) and return it
  // when returned, zuul adds all test files and dependents
};

exports.bundleOpts = {}; // object to pass into `.bundle(opts)`

exports.fixture = function () {
  // return an html string here that you can create however you like
  // i.e. fs.readFileSync(myIndex) -- which may have extra content/script tags or whatever else I need
  // Handlebars.render(mytemplate, mycontext);
  // etc. -- opens up all possibilities needed
};

If any of these is not provided, zuul falls back to the defaults.

Stack trace from browsers failing to start

I occasionally SauceLabs fails to spin up a browser (usually an OSX or iOS browser):

Error: The environment you requested was unavailable.: {"status": 13, "sessionId": "XXXXXX", "value": {"message": "Browser failed to start"}}

It would be nice if these were reported as "errors" in the stats, rather than printing out the full stacktrace to the terminal.

[email protected] does not serves - scripts

Given this project : https://github.com/vvo/in-viewport

ui: mocha-bdd
html: test/fixtures/template.html
scripts:
  - build/in-viewport.min.js
browsers:
  - name: chrome
    version: 29..latest
  - name: firefox
    version: 24..latest
  - name: ie
    version: 8..latest
  - name: iphone
    version: 5.0..latest
  - name: ipad
    version: 5.0..latest

When starting zuul locally:

zuul --local 8080 -- test/*.js

It hangs forever because it tries to load http://localhost:8080/build/in-viewport.min.js and does not find it.

[email protected] does not have this problem.

glob functionnality in scripts field

Would it be a good idea to have glob functionnality in the scripts field? Like testling has.

So that I can write:

scripts:
  - "test/helpers/*.js"  

?

Mocha HTML reporter with zuul

The readme includes a screenshot of a test suite running with the Mocha HTML reporter:
htmlreporter

I was wondering what the recommended way is to replicate this setup?

Update browserify?

Have any objections to updating browserify to 4.2.2 to pickup the security fix to syntax-error?

Setup mocha by scripts at .zuul.yml

Hi, is there a way to setup mocha via some config-mocha.js script file listed at .zuul.yml?

I've seen there were some issue with the global leaks, I'm having those as well.

Using this.setup({ignoreLeaks: true}) or even this.globals(['myGlobVar*']) doesn't work since this inside the describe or it scopes refers to the TestSuite rather than the mocha.js instance. (I read #55 before)

So, I was hoping there is a way to setup mocha just once (not per test file) like

// config-mocha.js
mocha.timeout(25000);
mocha.globals(["jQuery*"]);

and...

# .zuul.yml
ui: "mocha-bdd"
scripts:
  - "/support/config-mocha.js"
  - "/support/jquery.js"

But for that to work, the framework script here: https://github.com/defunctzombie/zuul/blob/master/frameworks/index.html#L19

... should be moved up the scripts for-each loop so that the mocha var gets reachable.

Are there any side effects for moving that file include few lines up?

pass transforms to browserify

Hey guys, I know, this issue popped up several times here (27, 10).

Looking at the commit's history @thlorenz 's --config option has gone now, and using

  "browserify": {
    "transform": ...
  }

in my package.json may not be always a good option. For example, I want to use brfs transform to test my package A, but it shouldn't be required when consumers of A are browserifying their bundle. Couldn't find any workaround yet.

Maybe I'm missing something?

Better error for unknown browser

Bad platform values result in

/Users/tmcw/node_modules/zuul/lib/flatten_browser.js:29
        avail.reduce(function(prev, curr, idx, arr) {

TypeError: Reduce of empty array with no initial value

This error could be improved to be more informative

Support device-type and device-orientation

Sauce Labs denotes between portrait and landscape orientation of mobile devices using the device-orientation option. They also denote between phone and tablet configurations of Android with the device-type option.

  • device-orientation
    • tablet
    • portrait
  • device-type
    • tablet

In the zuul.yml, it would be nice to configure one mobile browser that runs in both orientations, similar to how browser versions can be specified.

Problems with different versions of zuul

Seems like when tests fail/misbehave, instead of getting properly test failures we get zuul problems.

We did not change the zuul version on our project, but certain tests started failing out of the blue:

With zuul 1.3.1 we get:

unknown line: "TypeError: 'undefined' is not an object (evaluating 'window.zuul_msg_bus.splice')"
failed to parse: TypeError: 'null' is not an object (evaluating 'msgs.forEach')
failed to parse:
failed to parse:   /Users/thlorenz/dev/cn/features/slideshow/node_modules/zuul/lib/phantom-run.js:26
unknown line: "TypeError: 'undefined' is not an object (evaluating 'window.zuul_msg_bus.splice')"
failed to parse: TypeError: 'null' is not an object (evaluating 'msgs.forEach')
failed to parse:
failed to parse:   /Users/thlorenz/dev/cn/features/slideshow/node_modules/zuul/lib/phantom-run.

which sends the tests in an endless loop. Same behavior in the browser.

With zuul 1.5.1 and 1.5.4 we get:

related slideshow data retrieval failed

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: failed to parse json: TypeError: 'null' is not an object (evaluating 'msgs.forEach')
    at Stream.<anonymous> (/Users/thlorenz/dev/cn/features/slideshow/node_modules/zuul/lib/PhantomBrowser.js:85:36)
    at Stream.EventEmitter.emit (events.js:95:17)
    at drain (/Users/thlorenz/dev/cn/features/slideshow/node_modules/zuul/node_modules/through/index.js:36:16)
    at Stream.stream.queue.stream.push (/Users/thlorenz/dev/cn/features/slideshow/node_modules/zuul/node_modules/through/index.js:45:5)
    at Stream.<anonymous> (/Users/thlorenz/dev/cn/features/slideshow/node_modules/zuul/node_modules/char-split/index.js:16:26)
    at Stream.stream.write (/Users/thlorenz/dev/cn/features/slideshow/node_modules/zuul/node_modules/through/index.js:26:11)
    at write (_stream_readable.js:583:24)
    at flow (_stream_readable.js:592:7)
    at Socket.pipeOnReadable (_stream_readable.js:624:5)

at least here it ends when run on the console (instead of going into an endless loop).
In the browser however it goes into an endless loop.

Endless Loop: all tests are rerun over and over.

Afaik some of the tests may be failing, but going into an endless loop like this is not the proper result. Also all errors trace to zuul which makes it impossible to figure out which of our tests are causing the problem and how.

Update browserify

Currently the latest browserify is v5 (and it has some new stuff), do you have any plans for updating?

TypeError: Object #<Socket> has no method 'unpipe'

I am using v1.5.4 of zuul.

- starting: <opera 12 on Windows 2003>

/home/ubuntu/kites-omni/node_modules/zuul/node_modules/localtunnel/client.js:75
            local.unpipe();
                  ^
TypeError: Object #<Socket> has no method 'unpipe'
    at Socket.remote_close (/home/ubuntu/kites-omni/node_modules/zuul/node_modules/localtunnel/client.js:75:19)
    at Socket.g (events.js:193:14)
    at Socket.EventEmitter.emit (events.js:123:20)
    at Socket._destroy.destroyed (net.js:357:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

Related to localtunnel/localtunnel#28.

Can you please bump localtunnel version to 1.1.0 to fix this bug?

Can't include two versions of given browser in .zuul.yml

In .zuul.yml, there is no way to specify something like:

  2 browsers:
  3   - name: firefox
  4     version: 19,21

If you do something like:

  2 browsers:
  3   - name: firefox
  4     version: 19
  5   - name: firefox
  6     version: 21

It will yield the following and hang (not exit):

deshao-mbp (1)~/omni> npm run test-stack

> [email protected] test-stack /Volumes/Shared_HD/Users/eshao/omni
> DEBUG=zuul* node_modules/.bin/zuul test/hours/*.js test/*.js

  zuul control server active on port 60186 +0ms
  zuul bouncer active on port 60187 +1ms
TypeError: Cannot read property 'version' of undefined
    at /Volumes/Shared_HD/Users/eshao/omni/node_modules/zuul/lib/browsers.js:38:50
    at Array.reduce (native)
    at /Volumes/Shared_HD/Users/eshao/omni/node_modules/zuul/lib/browsers.js:37:19
    at Array.forEach (native)
    at /Volumes/Shared_HD/Users/eshao/omni/node_modules/zuul/lib/browsers.js:18:17
    at IncomingMessage.<anonymous> (/Volumes/Shared_HD/Users/eshao/omni/node_modules/zuul/lib/browser.js:30:17)
    at IncomingMessage.g (events.js:175:14)
    at IncomingMessage.EventEmitter.emit (events.js:117:20)
    at ClientRequest.<anonymous> (/Volumes/Shared_HD/Users/eshao/omni/node_modules/zuul/lib/browser.js:28:13)
    at ClientRequest.g (events.js:175:14)
    at ClientRequest.EventEmitter.emit (events.js:95:17)
    at HTTPParser.parserOnIncomingClient (http.js:1688:21)
    at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:121:23)
    at CleartextStream.socketOnData (http.js:1583:20)
^C

This feature is useful for those on commercial Sauce accounts where minutes are limited. Often you'll want to test an old version of a browser (say, FF 19) and the latest one, but none of the ones in between.

Update packages

Browserify and Mocha are pretty out of date.

Mocha should probably use peerDependencies to pick up whatever Mocha version you have installed already.

A similar argument could be made for browserify, IMO, but I admit it's less clear since in theory browserify's behavior shouldn't change that much between releases.

superstack fails in node0.8

Ran into this while testing zuul-mp:
https://travis-ci.org/thlorenz/zuul-mp/jobs/14988284

> tap test/*.js
ok test/failing.js ...................................... 3/3
/home/travis/build/thlorenz/zuul-mp/node_modules/zuul/node_modules/superstack/index.js:140
        var listeners = self._events[event];
                                    ^
TypeError: Cannot read property 'drain' of null
    at httpSocketSetup (http.js:1749:10)
    at Server.connectionListener (http.js:1805:3)
    at Server.EventEmitter.emit (events.js:126:20)
    at TCP.onconnection (net.js:1051:8)
    at new Server (http.js:1767:8)
    at Object.exports.createServer (http.js:1776:10)
    at module.exports (/home/travis/build/thlorenz/zuul-mp/node_modules/zuul/node_modules/bouncy/index.js:24:16)
    at module.exports (/home/travis/build/thlorenz/zuul-mp/node_modules/zuul/lib/zuul.js:51:19)
    at Object.<anonymous> (/home/travis/build/thlorenz/zuul-mp/node_modules/zuul/bin/zuul:54:1)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)

Force OS to use on saucelabs?

Is there a way to force the OS? When you pick a browser version without OS, saucelabs seemingly randomly picks an OS (for example there's not guarantee that chrome 34 will run on OSX or Linux)

Unable to install zuul

I do a

$ npm cache clear
$ sudo npm install -g zuul 

it fails with

4275 error EEXIST, mkdir '/usr/lib/node_modules/zuul/node_modules/browserify/node_modules/umd/node_modules/rfile/node_modules/callsite'
File exists: /usr/lib/node_modules/zuul/node_modules/browserify/node_modules/umd/node_modules/rfile/node_modules/callsite                                               
Move it away, and try again.

I tried to include the full npm-debug.log, but couldn't submit it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.