Added summary document

This commit is contained in:
Louis Burke 2023-05-01 12:39:30 -04:00
parent a2ed772a63
commit eed5861884
9 changed files with 120 additions and 22 deletions

17
Jenkinsfile vendored Normal file
View file

@ -0,0 +1,17 @@
pipeline {
agent any
stages {
stage('Documentation') {
steps {
sh 'make docs'
}
}
stage('Deploy') {
steps {
archiveArtifacts artifacts: 'build/*.pdf', fingerprint: true
archiveArtifacts artifacts: 'build/*.html', fingerprint: true
}
}
}
}

View file

@ -12,26 +12,27 @@ VERSION=$(LAST_TAG:v%=%)$(PATCH)$(DIRTY)
default: all
# List of documents to produce from markdown
DOCUMENTS=README
HTML_DOCS=$(patsubst %,%.html,$(DOCUMENTS))
PDF_DOCS=$(patsubst %,%.pdf,$(DOCUMENTS))
DOCUMENTS=$(wildcard docs/%.mmd)
HTML_DOCS=$(patsubst docs/%.mmd,build/%.html,$(DOCUMENTS))
PDF_DOCS=$(patsubst docs/%.mmd,build/%.pdf,$(DOCUMENTS))
all: docs
docs: $(HTML_DOCS) $(PDF_DOCS)
%.html: %.md
sed 's/%VERSION%/$(VERSION)/g' $^ | multimarkdown -t html > $@
build/%.html: docs/%.mmd
sed 's/%VERSION%/$(VERSION)/g' $^ | multimarkdown -thtml > $@
%.pdf: %.md
sed 's/%VERSION%/$(VERSION)/g' $^ | multimarkdown -t latex > $*.tex
pdflatex $*.tex
pdflatex $*.tex
-rm $*.aux $*.toc $*.log $*.tex $*.out
build/%.pdf: docs/%.mmd
sed 's/%VERSION%/$(VERSION)/g' $^ | multimarkdown -tlatex > build/$*.tex
pdflatex -output-directory=build -interaction=batchmode build/$*.tex
pdflatex -output-directory=build -interaction=batchmode build/$*.tex
-rm $*.aux $*.toc $*.log build/$*.tex $*.out
clean:
-rm $(HTML_DOCS) $(PDF_DOCS)
print-%:
@echo '$*: $($*)'
# Project-level note: mmd files can have comments via ```{=comment} ... or {=todo}

View file

@ -1,12 +1,8 @@
vi: spell:spelllang=en:tw=72
Author: Louis A. Burke
Affiliation: labprogramming.net
Title: FLIT -- README
CSS: ./flit.css
Language: en
LaTeX Leader: flit-leader.tex
LaTeX Begin: flit-begin.tex
LaTeX Footer: flit-footer.tex
LaTeX Header Level: 3
# Four-Letter Interleaved T(est/ask) Protocol
# Four-Letter Interleaved T(ask/est) Protocol
FLIT is a protocol for test reporting.
## License
This project is [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0) licensed.

0
build/.gitkeep Normal file
View file

1
docs/flit-begin.tex Normal file
View file

@ -0,0 +1 @@
\begin{document}

1
docs/flit-footer.tex Normal file
View file

@ -0,0 +1 @@
\end{document}

12
docs/flit-leader.tex Normal file
View file

@ -0,0 +1,12 @@
\documentclass{article}
\usepackage{hyperref}
\usepackage{tabularx}
\usepackage{tabulary}
\usepackage{booktabs}
\usepackage[normalem]{ulem}
\usepackage{glossaries}
\usepackage{soul}
\setcounter{secnumdepth}{0}
%\renewcommand{\chapternumberline}[1]{}% Gobble chapter numbers in TOC

5
docs/flit.css Normal file
View file

@ -0,0 +1,5 @@
code {
font-size: 12pt;
font-weight: bold;
color: darkblue;
}

65
docs/summary.mmd Normal file
View file

@ -0,0 +1,65 @@
---
vi: spell:spelllang=en:tw=72:ft=markdown
Author: Louis A. Burke
Affiliation: labprogramming.net
Title: FLIT -- Summary
CSS: docs/flit.css
Language: en
LaTeX Leader: docs/flit-leader.tex
LaTeX Begin: docs/flit-begin.tex
LaTeX Footer: docs/flit-footer.tex
LaTeX Header Level: 3
---
# Four-Letter Interleaved T(ask/est) Protocol
Version: **%VERSION%**
{{TOC}}
---
## Comparison with popular test formats
| Feature | FLIT | [TAP14] | [Robot] | [xUnit] |
| :----------------------- | :--------: | :--------: | :--------: | :--------: |
| [Concurrent] | {++YES++} | {--NO--} | {++YES++} | {++YES++} |
| [Language Agnostic] | {++YES++} | {++YES++} | {++NO++} | {++YES++} |
| [Human-Readable] | {++YES++} | {++YES++} | {==SOME==} | {--NO--} |
| [Hierarchical] | {++YES++} | {--NO--} | {++YES++} | {==SOME==} |
### Concurrent
FLIT supports concurrent test execution by allowing outputs for multiple
tests to be interleaved without loss of information. TAP14, by contrast,
requires that all test outputs occur in order. Robot and xUnit both
support concurrent tests, though they don't necessarily display partial
results accurately in such cases.
### Language Agnostic
FLIT is a text-based, line oriented protocol that can be implemented
easily in most programming languages, similarly to TAP14. xUnit is also
a mostly language agnostic system, though its protocol is not as simple.
Robot framework generates its own report format from robot files. Custom
reporters can be implemented in Python or Java, but not arbitrary
languages.
### Human Readable
FLIT output is human readable, though perhaps not as readable as some
other formats. On the other hand, Robot and xUnit outputs require
further processing or tools (such as web browsers) to view properly.
### Hierarchical
FLIT tests can be nested as deeply as desired. This is common to most
test frameworks to some degree. However, they often do not properly
treat nested tests within steps correctly. In particular, TAP14 does not
support the type of nested sub-steps that make Robot tests so easy to
debug.
[>FLIT]: Four-Letter Interleaved T(est/ask)
[TAP14]: https://testanything.org/tap-version-14-specification.html
[Robot]: https://robotframework.org/
[xUnit]: https://junit.org/junit5/