Giter Site home page Giter Site logo

coverage_server's Introduction

Prototype of Path Based Coverage

A quick prototype which shows two cool concepts:

Path based coverage

Collecting path based coverage. We can tell which paths through a function were executed while tests were run. For instance, consider a function like the following:

int foo(int c1, int c2) {
   int out = 0;
   if (c1) {
      out += 1;
   }
   if (c2) {
      out += 1;
   }
   return out;
}

Suppose that this function was only ever executed with c1 = 1, c2 = 1 and c1 = 0, c2 = 0. In other words, c1 was always equal to c2. Bullseye would say that the function is fully covered. But it cannot answer the question: "Was it ever the case that c1 = 1 && c2 = 0. This tool does! You can select a set of predicate constraints and ask if we ever saw that predicate combination.

Source to test mapping

For any such chosen predicate combination, you can then ask the tool to list all the tests which cover that predicate combination. .

When the chosen predicates span multiple functions, the tool will return any test where for each function, the predicate combination for that function was hit.

Development Notes

Running the Server

Sync this git repo. Then in a terminal:

npm install
npm run watch

Then open localhost:3000 to see a listing of all the files which have data collected.

coverage_server's People

Contributors

srinathava avatar

Watchers

 avatar

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.