Skip to main content

This project aims to provide tools for automated documentation generation for BeakerLib tests.

Project description

bkrdoc
======

This project aims to provide tools for automated documentation generation for BeakerLib tests.

## 1. Introduction
### 1.1 What is bkrdoc?
**bkrdoc** is a documentation generator from tests written using **BeakerLib** library. This generator makes documentation from test code with and also without any documentation markup.

### 1.2 What it`s good for?
For fast, brief and reliable documentation creation. It`s good for quick start with unknown **BeakerLib** test. Created documentations provides information about the documentation credibility. Also created documentations shows environmental variables and helps reader to run test script from which was documentation created.

**bkrdoc** is written in pure python.

### 1.3 What is BeakerLib?
**BeakerLib** is a shell-level integration testing library, providing convenience functions which simplify writing, running and analysis of integration and blackbox tests.

https://fedorahosted.org/beakerlib/

### 1.4 How is bkrdoc licensed?
BSD license. See the LICENSE file in the distribution.

### 1.5 Contact details
Feel free to send me an email (Kulda12@seznam.cz) for any question you have on **bkrdoc** project.

## 2. Installing

### 2.1 Prerequisites
- **bkrdoc** was tested on Python 2.7 and 3.3 versions on Linux.
- **bkrdoc** has no external dependencies.

### 2.2 Installation process
Instalation is very simple. You have two choices. First is to download rpm from [bkrdoc](https://pypi.python.org/pypi/bkrdoc) pypi and easily install it. Second choice is to download whole project and after that run setup.py script in bkrdoc folder. For executing setup.py file you need to run this standart `python setup.py install` command.

## 3. Using
### 3.1 Basic usage
Documentation generator for analysis is `documentation_generator.py` file and for markup is `tagged_generator.py`. For generation of documentation there is file called `bkrdoc/bkrdoc.py`. Shown on this example:
```
for analysis:
python bkrdoc.py analysis [analysis-options] [BeakerLib_test.sh]

for markup:
python bkrdoc.py markup [markup-options] [BeakerLib_test.sh]
```

### 3.2 Documentation tags
First important thing is that all documentation comments **must** start with `#@`. For example this code comment `#@ Makes temporary directory and saves work in it` will create this documentation line: `Makes temporary directory and saves work in it`.

If a documentation comment is before BeakerLib phase, function, loop or condition this comment will be taken as a description. You can see what will happen on this example:
```bash
#@ Various types of arguments will start this part
rlPhaseStartTest "various argument types"

#@ for every argument in selected word will do...
for arg in disabled EnAbLeD dIsAblEd enabled no Yes nO yes 0 1
do
#@ Report argument
rlRun "abrt-auto-reporting $arg"
done
#@ Reporting finished
rlPhaseEnd
```
result:

```
Test "various argument types"
Various types of arguments will start this part
loop: for every argument in selected word will do...
Report argument
Reporting finished
```

In the top of every generated documentation are three lines consits of description, information about authors and keyword of the test. These three lines are generated from test template. But it can occur that the template is missing or you want to add more data and that you can do using these tags: `@keyword`, `@key`, `@author` and `@description`. For example: `#@ @key httpd` will add key into keywords line:
```
Description: Simple test
Author: Jan Kresla
Keywords: httpd
```

Also tagged generator supports block comments. Block comments must start with `#@` but following documentation comments can start with simple `#` as you can see on this example:

```bash
#@ Somenthing in start of the test
# Could be anything
# Make temporary directory and saves work in it
rlPhaseStartSetup
TmpDir=$(mktemp -d)
pushd $TmpDir
rlPhaseEnd
```
will generate:

```
Setup
Somenthing in start of the test
Could be anything
Make temporary directory and saves work in it
```

## 4. Package contents
After downloading bkrdoc project, you will see following files and directories:

_**README.md:**_
This README file.

_**LICENSE:**_
File with bkrdoc license.

_**bkrdoc/:**_
Folder with bkrdoc generator which is creating documentations from **BeakerLib** tests with and without any documentation markup.

_**bkrdoc/analysis/:**_
Folder with sources for automated documentation generator without documentation markup

_**bkrdoc/markup/:**_
Folder with sources for automated documentation generator with documentation markup

_**examples/:**_
This folder contains some **BeakerLib** tests and generated documentations

_**docs/:**_
Folder contains TODO options and first documentation format.

_**tests/:**_
Folder contains files for bkrdoc testing

## 5. CI Status
**bkrdoc** is automatically tested by [Travis CI project](https://travis-ci.org). Latest build status is:
[![Build Status](https://travis-ci.org/rh-lab-q/bkrdoc.svg?branch=master)](https://travis-ci.org/rh-lab-q/bkrdoc)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bkrdoc-1.2.7.tar.gz (57.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bkrdoc-1.2.7-1.src.rpm (64.0 kB view details)

Uploaded Source

bkrdoc-1.2.7-1.noarch.rpm (79.7 kB view details)

Uploaded Source

File details

Details for the file bkrdoc-1.2.7.tar.gz.

File metadata

  • Download URL: bkrdoc-1.2.7.tar.gz
  • Upload date:
  • Size: 57.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bkrdoc-1.2.7.tar.gz
Algorithm Hash digest
SHA256 620962ecf9d7551784005b0a6c340fcc7f7f5cd3a790377ed294e12bf02b4df3
MD5 2eead995b6638b23ad965cc420bccc35
BLAKE2b-256 e1de2f695bb3885ea2c7ef1c6eb25d62685fd7ff9beef49b0b12e67f48e758d4

See more details on using hashes here.

File details

Details for the file bkrdoc-1.2.7-1.src.rpm.

File metadata

  • Download URL: bkrdoc-1.2.7-1.src.rpm
  • Upload date:
  • Size: 64.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bkrdoc-1.2.7-1.src.rpm
Algorithm Hash digest
SHA256 7b17f587cfea65ff1800f5229017ec1ff168a59dcadf432a06c4787d217c54d8
MD5 4965924ab2a0ee8fd7b1c754b8ca8198
BLAKE2b-256 0e82ddd1854a28d85db4362d86008fe9ba503cf325e6bdfc5a3b405923a66dcf

See more details on using hashes here.

File details

Details for the file bkrdoc-1.2.7-1.noarch.rpm.

File metadata

  • Download URL: bkrdoc-1.2.7-1.noarch.rpm
  • Upload date:
  • Size: 79.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bkrdoc-1.2.7-1.noarch.rpm
Algorithm Hash digest
SHA256 99b38f15fd244eb5edbecb37fc9798a75c12fca0cbf29880a6187d99dcabf1ef
MD5 e927844ff04a1fdab9661e20dfc9d88d
BLAKE2b-256 a1edcada394bf4f2a93438e8c726e2129a4cd22225d2d36fe421b4004ce21a23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page