GithubHelp home page GithubHelp logo

msabramo / purkinje Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bbiskup/purkinje

0.0 3.0 0.0 483 KB

Test runner for py.test test framework with web GUI

License: MIT License

Makefile 1.03% Shell 0.44% JavaScript 54.02% Python 30.51% CSS 2.42% HTML 11.58%

purkinje's Introduction

purkinje

Test runner for py.test test framework with web GUI

Live Demo

Getting Started

pukinje is a browser application intended to run on a spare monitor. It shows results of automated tests in realtime. Currently, the only supported test framework is py.test.

To use purkinje:

Create a virtual environment for purkinje and activate it:

mkvirtualenv purkinje
workon purkinje

Install purkinje:

pip install purkinje

Optionally, create a configuration file purkinje.yml with the following contents:

global:
    logLevel: debug
    debugMode: yes
    serverPort: 5000
    serverHost: localhost

Launch it:

purkinje -f purkinje.yml

or, without configuration file:

purkinje

Open it in a browser:

google-chrome http://localhost:5000/

Prepare your Python/py.test project for reporting to purkinje. In your project's virtualenv, install the py.test plugin for purkinje:

pip install pytest-purkinje

This will automatically activate the plugin and test results will be sent to the purkinje server. If you changed the host and/or port, specify them in your project's pytest.ini:

[pytest]
    addopts = --websocket_host myhost --websocket_port 40000

If the settings should be incorrect, there will be a warning message but your tests will execute nevertheless. You may add -p no:purkinje to pytest.ini or as a command line argument to py.test to disable the purkinje plugin.

Run your tests. The results should be visible in the browser:

py.test

Alternatively, you may run purkinje_runner in your project directory. It will automatically detect changes the the sources and execute py.test:

purkinje_runner

Known Limitations

  • Security: There is no access restriction; for now, use only on the local machine

    • Anyone can use the web application
    • Anyone can send test results to the purkinje server

    By default, the server is running on localhost and not accessible from other machines.

  • Only a single test suite

    If you run multiple purkinje-enabled test suites simultaneously, test results will get mixed up. This might change in a future version.

Build Status

Branch Status
dev travis-dev
master travis-master

Coverage: coveralls

System Requirements

  • Currently, only Python 2.7.x is supported because of gevent. In the future, if gevent should support Python 3, purkinje should also support it. Alternatively, gevent might get replaced e.g. by guv.
  • tested on Ubuntu 14.04
  • needs a modern browser that supports WebSockets
  • Python development packages (python-dev on Ubuntu) is required to build the dependency gevent.

Supported Python versions

  • Currently, only 2.7.x is supported. Python 3 support is blocked by the following packages:
    • cssmin
    • gevent (which is blocking gevent-websocket)
    • inotifyx (which is blocking gevent_inotifyx)

Supported Operating Systems

  • The server part has only been tested on Ubuntu Linux 14.04 64 bit
  • The web application should work on any operating system using a modern browser (tested with Chrome 40 and Firefox 35)

Development

purkinje's People

Contributors

bbiskup avatar

Watchers

Marc Abramowitz avatar James Cloos avatar  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.