Giter Club home page Giter Club logo

caldavtester-tools's Introduction

caldavtester-tools

Tools for using CalDAVTester (https://www.calendarserver.org/CalDAVTester.html)

Wrapper allowing to record and aggregate results of CalDAVTester

caldavtests.php

  • tests can be run and recorded through this wrapper
  • test-results can be aggregated by test script including a total percentage, success- and failure-count
  • recorded test-results can be displayed including failure-details without re-running the tests
  • each test-run has to specify a revision which gets recorded for success or failure
  • allows to differenciate between still failing tests and new regressions
  • test-results can be separately recorded by specifying a --branch= option
  • JSON-dumps generated via testcaldav.py --observer jsondump can be imported
  • lists features enabled in serverinfo.xml and available test scripts by required features
  • WebGUI to display aggregate results and drill down to individual test-failures
  • WebGUI allows to (re-)run test incl. fetching request/response data of failed test or all by shift click
  • WebGUI allows to record notes to every test

screenshot

Usage: php caldavtests.php
--results [--branch=<branch> (default 'trunk')]
  Aggregate results by script incl. number of tests success/failure/percentage
--run[=(<script-name>|<feature>|default(default)|all)] [--branch=<branch> (default 'master')] --revision <revision>
  Run tests of given script, all scripts requiring given feature, default (enabled and not ignore-all taged) or all
--all
  Record all requests and responses, default only record them for failed tests
  Tip: use shift click in GUI to switch --all on for a single run
--result-details[=(<script-name>|<feature>|default|all(default)] [--branch=<branch> (default 'master')]
  List result details incl. test success/failure/logs
--delete=(<script>|<feature>|all) [--branch=(<branch>|all) (default 'master')]
  Delete test results of given script, all scripts requiring given feature or all
--import=<json-to-import>  --revision=<revision> [--branch=<branch> (default 'master')]
  Import a log as jsondump created with testcaldav.py --print-details-onfail --observer jsondump
--scripts[=<script-name>|<feature>|default|all (default)]
  List scripts incl. required features for given script, feature, default (enabled and not ignore-all taged) or all
--features
  List features incl. if they are enabled in serverinfo
--serverinfo
  Absolute path to serverinfo.xml to use, default './serverinfo.xml'
--testeroptions <some-options>
  Pass arbitrary options to caldavtester.py, eg. '--ssl'
--git-sources
  Absolute path to sources to use Git to automatic determine branch&revision
--gui[=[<bind-addr> (default localhost)][:port (default 8080)]]
  Run WebGUI: point your browser at given address, default http://localhost:8080/
--help|-h
  Display this help message
Options --serverinfo, --testeroptions and --gitsources need to be specified only once and get stored in .caldavtests.json.

Installation instructions

git clone [email protected]:CalConnect/caldavtester.git CalDAVTester
cd CalDAVTester
git clone [email protected]:apple/ccs-pycalendar.git pycalendar
git clone [email protected]:CalConnect/caldavtester-tools
# edit serverinfo.xml: eg. url of your server, features, etc
# store config and run/record tests for first time
php caldavtester-tools/caldavtests.php --run --serverinfo=<abs. path to serverinfo.xml> --git-sources=<abs. path to your server sources>
php caldavtester-tools/caldavtests.php --gui # launch WebGUI at http://localhost:8080/

ToDo

  • allow to ignore single test results incl. a comment why
  • import/export tests-to-ignore data

caldavtester-tools's People

Contributors

fatkudu avatar ralfbecker avatar

Watchers

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

Forkers

isabella232

caldavtester-tools's Issues

Doesn't run offline

In GitLab by @douglm on Sep 30, 2018, 02:38

Would be useful to include any dependencies so it can be run offline. Perhaps mavenize it so we can install it in a runnable state.
Was trying to run it on the plane and in the airport and jquery wasn't available.

gui sort of test wrong?

In GitLab by @douglm on Sep 30, 2018, 02:42

The tests labeled "-1 ..." appear at the top. Is it possible to order them as they appear in the script?

Time value in gui

In GitLab by @douglm on Oct 7, 2018, 11:30

Is it seconds? would help to have that made explicit.

Also a total time at the bottom would be useful.

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.