https://github.com/derhuerst/chutney
Run TAP tests at Sauce Labs.
https://github.com/derhuerst/chutney
browser browserify sauce-labs tap tape tests
Last synced: 5 days ago
JSON representation
Run TAP tests at Sauce Labs.
- Host: GitHub
- URL: https://github.com/derhuerst/chutney
- Owner: derhuerst
- License: isc
- Created: 2017-01-26T02:25:12.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-31T15:06:01.000Z (6 months ago)
- Last Synced: 2025-04-15T05:04:10.561Z (5 days ago)
- Topics: browser, browserify, sauce-labs, tap, tape, tests
- Language: JavaScript
- Homepage: https://github.com/derhuerst/chutney
- Size: 1.12 MB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
- awesome-tap - chutney - Run TAP tests at Sauce Labs. Lightweight [smokestack](https://github.com/hughsk/smokestack) alternative. (Tools / JavaScript)
README
# chutney
**Run [TAP](https://en.wikipedia.org/wiki/Test_Anything_Protocol) tests at Sauce Labs.** A more opinionated [smokestack](https://github.com/hughsk/smokestack). [airtap](https://github.com/airtap/airtap) is a another, well-known alternative.
[](https://www.npmjs.com/package/chutney)
[](https://app.codeship.com/projects/258106)

[](https://github.com/sponsors/derhuerst)
[](https://twitter.com/derhuerst)1. Using [localtunnel](https://github.com/localtunnel/localtunnel#readme), **exposes the test runner HTML page with your tests**,
2. **opens its URL in a [Webdriver](https://www.w3.org/TR/webdriver/)-controlled browser at [Sauce Labs](https://saucelabs.com/)**,
3. **pipes their output to `stdout`**, so that you can use it as a drop-in replacement for `node test.js`.It is is heavily inspired by [smokestack](https://github.com/hughsk/smokestack), but more lightweight because it will run the tests only on *remote* browsers. It is less battle-proven and has less niche features.
## Installing
```shell
npm install chutney
```## Guide
**chutney requires you to have [TAP-generating tests](https://en.wikipedia.org/wiki/Test_Anything_Protocol), which you bundle** e.g. using [Browserify](https://github.com/substack/node-browserify#readme). **You will also need a [Sauce Labs](https://saucelabs.com/) account.**
```js
// test.js
const test = require('tape')
const awesomeTool = require('.')test('awesome tool is awesome', (t) => {
t.plan(1)
t.equal(awesomeTool(), 'awesome')
})
```Export your Sauce Labs credentials as well as the desired platform & browser.
```shell
export SAUCE_USER=derhuerst
export SAUCE_KEY=1a04c633-6a58-4aba-8287-54fdd18f9851
export PLATFORM='Windows 10'
export BROWSER=Chrome
```Now run the tests. You may pretty-print the results using [any reporter](https://github.com/substack/tape#pretty-reporters) like [tap-spec](https://github.com/scottcorgan/tap-spec#readme).
```shell
browserify test.js | chutney | tap-spec
```## Usage
```
Usage:
chutney [--timeout ]Options:
--timeout -t Set the timeout in seconds. Default: 20Examples:
browserify test.js | chutney | tap-spec
```## Contributing
If you **have a question**, **found a bug** or want to **propose a feature**, have a look at [the issues page](https://github.com/derhuerst/location/issues).