Comments (6)
Before attacking the airtap part, which requires writing code, we can setup code coverage for node only and test parallel builds.
from memdown.
Nice, nyc
doesn't seem to care about the .nyc-output/*.json
filenames. We could write .nyc-output/airtap-001.json
, .nyc-output/airtap-002.json
or perhaps .nyc-output/<browser>-<version>-<os>.json
, and nyc report
still works.
from memdown.
Some research. Goal: combine lcov reports of node and browser tests and send it to coveralls.
nyc airtap
does not work becauseairtap
servesbrowserify
bundles unbeknownst tonyc
airtap
collects code coverage but doesn't save it to disk (see defunctzombie/zuul#174, defunctzombie/zuul#230 and defunctzombie/zuul#217).- It's
instanbul-middleware
does exposehttp://localhost:<port>/airtap/coverage/download
which serves zipped lcov files. - We might be able to hook into that middleware to get the lcov data from node.
- If not, we can either make a HTTP request to the above endpoint, or have airtap send
window.__coverage__
to the server, which'd then save it to.nyc_output/out.json
. See alsobrowserify-instanbul
, thebrowserify
transform used byairtap
. - If multiple suites (e.g. node and browser tests) are run on the same machine,
nyc
automatically combines the reports. See istanbuljs/nyc#515. If we can't use thenyc
CLI, there are alternative tools for merging reports:istanbul report json
(see jamestalmage/istanbul-combine#2)istanbul-merge
lcov-result-merger
istanbul-combine
- But we have multiple machines.
We can configure Coveralls to merge results of parallel builds. - We'll still have to combine results of parallel browsers ourselves (
airtap
could do this). Or write to separate lcov files in a way that's compatible withnyc
.
from memdown.
Plan:
- Remove TypeScript tests from
memdown
(to clean up npm scripts) - Remove existing
coverage
andreport-coverage
npm scripts andistanbul
dependencies - Add
coverage
script:nyc report --reporter=text-lcov | coveralls
- Add hook to
.travis.yml
:after_success: npm run coverage
. Each Travisnodejob will send lcov reports to coveralls. - Add a feature to
airtap
to writeLCOV filesinstanbul files to disk. Each browser result should be written to its own file. -
Change our Travis browser job to runnpm run test-browsers && npm run report-coverage
. -
Configure Coveralls to merge results of parallel builds.
from memdown.
Good work @vweevers
from memdown.
Waiting on airtap/airtap#194
from memdown.
Related Issues (20)
- Greenkeeper: ignore @types/node
- An in-range update of abstract-leveldown is breaking the build 🚨 HOT 6
- Travis JWT Addon will be discontinued on April 17, 2018
- Switch to airtap
- Add node 9 to travis HOT 1
- Was the .destroy method removed? HOT 3
- Drop node 4 HOT 1
- Remove --stderr argument from test script HOT 3
- LICENSE -> LICENSE.md + pure MIT
- release 3.0.0 HOT 1
- Add Sauce Labs logo to readme
- Use level-concat-iterator HOT 1
- Bring back faucet
- Buffers in the browser HOT 2
- Decide on sort order HOT 10
- Sub-Module the functional-red-black-tree library HOT 3
- Unlike other engines, memdown stores passed Buffers by reference HOT 4
- Add Save data on disk HOT 1
- convert to class and remove inherit HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from memdown.