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

Installation is very simple. You have two choices. First is to download rpm from 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 standard python setup.py install command.
3. Using
3.1 Basic usage

After installation of bkrdoc rpm you can easily run bkrdoc by typing bkrdoc in command line. You can see on these examples:

for analysis:
bkrdoc analysis [analysis-options] [BeakerLib_test.sh]

for markup:
bkrdoc 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:

#@ 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 consisting of description, information about authors and keywords 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. Each block comment must start with #@ as you can see on this example:

#@ 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

useful feature is that bkrdoc generator could use existing BeakerLib command comment as you can see from below example:

rlPhaseStartSetup
rlRun 'ps aux' 'ps command should not traceback' #@
rlRun 'ps aux' 'ps command should not traceback' #@ check for traceback
rlPhaseEnd

will reproduce:

Setup
ps command should not traceback
check for traceback

Also markup version supports initial comment as a global whole test comment. This initial comment or block comment must be after shebang(also could be after test description made by beaker-wizard) and must start as usuall with #@. You can see little example below:

#!/usr/bin/env bash

#@ This is the first line of initial documentation comment
#@ second line
#@ third line

PACKAGE="httpd"
HttpdPages="/var/www/html"
HttpdLogs="/var/log/httpd"
.
.

will reproduce:

Description: -
Author: -
Purpose: This is the first line of initial documentation comment
second line
third line
Keywords: -
.
.

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 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.9.tar.gz (57.7 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.9-1.src.rpm (64.4 kB view details)

Uploaded Source

bkrdoc-1.2.9-1.noarch.rpm (79.8 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for bkrdoc-1.2.9.tar.gz
Algorithm Hash digest
SHA256 b6a1b7105bf179af5661ab503b85b928222fcc4f9be7f59ae17eee3b2b39d2e5
MD5 6a517cb644bacfec3c903b0e63038685
BLAKE2b-256 5aaa962c963a30b30beec3c3c978d6d56b61d34b0c86976a16f85d836de5b12e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for bkrdoc-1.2.9-1.src.rpm
Algorithm Hash digest
SHA256 ea38ebc1f6d161dac50edc63e6b77384d8aa22472ce492ae236fe5413dc6dd5e
MD5 7800df417188e54e663f54e6ad0777d6
BLAKE2b-256 51f8a99da9f06e0ebfb103c7b49f3fa1c07930e8400f03975c2676b37e2b48e8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for bkrdoc-1.2.9-1.noarch.rpm
Algorithm Hash digest
SHA256 83ac0707fea0e82b5833859b3cb5de1fab597d0c70bdbaff800ab0ff48026180
MD5 26104288d3012809264211b77f97f94f
BLAKE2b-256 9c8a5ca1a605bcde7954f4ed3196141faf1e14a23bf5b47ff494f0d89b5879a3

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