orgwebalchemy-6f690cb8-9e43

job succeeded

time taken
27 seconds
started at
Wed Oct 14 11:20:32 2026
updated at
Wed Oct 14 11:20:59 2026
log uuid
6f690cb8-9e43-423d-8451-a7bf2172f14d
inspect the job's lambda expression
(lambda()
  `((task . ("maak-test" "maak-deploy"))
    (project . "orgwebalchemy")
    (branch-name . "trunk")            
    (clone-url . "https://codeberg.org/jjba23/orgwebalchemy.git")
    (env . ((VERITAS_REPORTER . monotone-reporter)))))
    
starting new job...


→ running command: cd "/etc/byggsteg/job-clone//orgwebalchemy/trunk" && git reset --hard && git pull

HEAD is now at d3521cd feat: Improve Org parser and renderer
From https://codeberg.org/jjba23/orgwebalchemy
   d3521cd..bbe030a  trunk      -> origin/trunk
Updating d3521cd..bbe030a
Fast-forward
 README.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

→ running command: cd /etc/byggsteg/job-clone/orgwebalchemy/trunk && uname -a

Linux wolk-jjba 7.1.5-gnu #1 SMP PREEMPT_DYNAMIC 1 x86_64 GNU/Linux

→ running command: cd /etc/byggsteg/job-clone/orgwebalchemy/trunk && git log --name-status HEAD^..HEAD

commit bbe030a8288c72f77c63cdd2e9c71ab285a3845f
Author: Josep Bigorra <jjbigorra@gmail.com>
Date:   Wed Oct 14 11:20:13 2026 +0200

    docs: Update README

M       README.org

→ running command: cd /etc/byggsteg/job-clone/orgwebalchemy/trunk && maak test


scanning directories for unit tests...
scanning present working directory for unit tests...

shuffled the files with seed 663783085 (replay with VERITAS_SEED=663783085)

found unit tests: (markdown-spec.scm peg-spec.scm html-spec.scm)


running unit tests from file: markdown-spec.scm, entrypoint: spec


[info] shuffled with seed 663783085 (replay with VERITAS_SEED=663783085)
------------------------------------------
[suite] Block Org renders to Markdown
  [test] verse block renders
    [pass] got: a  
b


  [test] checkbox off renders
    [pass] got: - [ ] a


  [test] table renders
    [pass] got: | Name | Age |
| --- | --- |
| Ada | 36 |


  [test] checkbox on renders
    [pass] got: - [x] a


  [test] paragraph renders
    [pass] got: Some text


  [test] comment renders
    [pass] got: <!-- a comment -->


  [test] example block renders
    [pass] got: ```
x
```


  [test] src block renders
    [pass] got: ```scheme
(x)
```


  [test] unordered list renders
    [pass] got: - a
- b


  [test] quote block renders
    [pass] got: > hi


  [test] separator renders
    [pass] got: ---


  [test] heading metadata renders
    [pass] got: # TODO [#A] T :x:


  [test] fixed width renders
    [pass] got:     fixed


  [test] heading renders
    [pass] got: # Title


  [test] ordered list renders
    [pass] got: 1. a
2. b


  [test] description list renders
    [pass] got: **k**
:   v


  [test] keyword renders
    [pass] got: TITLE: Hi


------------------------------------------
[suite] Nested Markdown structures
  [test] nested unordered lists are indented
    [pass] got: - a
  - b


  [test] a checkbox nested inside a list
    [pass] got: - a
  - [ ] b


  [test] nested ordered lists are indented
    [pass] got: 1. a
   1. b


------------------------------------------
[suite] Inline Org renders to Markdown
  [test] /italic/ -> *italic*
    [pass] got: *italic*
  [test] [[u]] -> [u](u)
    [pass] got: [u](u)
  [test] x^{2} -> x<sup>2</sup>
    [pass] got: x<sup>2</sup>
  [test] =verbatim= -> `verbatim`
    [pass] got: `verbatim`
  [test] H_{2}O -> H<sub>2</sub>O
    [pass] got: H<sub>2</sub>O
  [test] plain -> plain
    [pass] got: plain
  [test] [fn:1] -> [^1]
    [pass] got: [^1]
  [test] ~code~ -> `code`
    [pass] got: `code`
  [test] [fn::note] -> ^[note]
    [pass] got: ^[note]
  [test] *bold* -> **bold**
    [pass] got: **bold**
  [test] _underline_ -> <u>underline</u>
    [pass] got: <u>underline</u>
  [test] +strike+ -> ~~strike~~
    [pass] got: ~~strike~~
  [test] https://x.org -> <https://x.org>
    [pass] got: <https://x.org>
  [test] [[u][d]] -> [d](u)
    [pass] got: [d](u)
------------------------------------------
[suite] Full document Markdown
  [test] the fixture keeps the metadata keyword
    [pass] got: title: Feature Showcase
  [test] the sample text fixture converts without error
    [pass] got: # Top Level Heading

This is a standard paragraph.

It sits right under the heading.

## A Subheading

- First list item
- Second list item

### An ordered subheading

1. yes buddy
2. another item

## Another

**key**
:   val
**desc**
:   conte

*In Vino Veritas* but *In Aqua Sanitas*

```scheme
(define (hello)
  (display \"Hello World!\"))
```


    [pass] success running without errors
  [test] the fixture keeps inline markup
    [pass] got: ~~strikethrough~~
    [pass] got: **bold**
  [test] the feature fixture matches its snapshot
    [assert] sample-org-features markdown
    [pass] matches snapshot test/snapshots/sample-org-features-markdown.snap
------------------------------------------
[suite] Every fixture converts to Markdown
------------------------------------------
[suite] sample-org-table.org
  [test] produces a non-empty document
    [pass] got: | Name | Age | City |
| --- | --- | --- |
| Alice | 30 | London |
| Bob | 25 | Berlin |


  [test] converts without error
    [pass] success running without errors
------------------------------------------
[suite] sample-org-text.org
  [test] produces a non-empty document
    [pass] got: # Top Level Heading

This is a standard paragraph.

It sits right under the heading.

## A Subheading

- First list item
- Second list item

### An ordered subheading

1. yes buddy
2. another item

## Another

**key**
:   val
**desc**
:   conte

*In Vino Veritas* but *In Aqua Sanitas*

```scheme
(define (hello)
  (display \"Hello World!\"))
```


  [test] converts without error
    [pass] success running without errors
------------------------------------------
[suite] sample-org-features.org
  [test] produces a non-empty document
    [pass] got: title: Feature Showcase

author: OrgWebAlchemy

<!-- A single comment line. -->

# Introduction

This paragraph shows **bold**, *italic*, `code`, `verbatim`, <u>underline</u>, ~~strikethrough~~, x<sup>2</sup>, H<sub>2</sub>O.

A forced break here:  


and then the continuation.

See [GNU](https://gnu.org) or a raw link <https://example.org> plus a

footnote reference[^one] and an inline footnote^[like this].

[^one] The footnote definition.

# TODO [#A] A Task :work:urgent:

- [ ] unchecked item
- [x] checked item
  - nested item

# Lists

1. first
2. second

**Term**
:   Definition

- outer
  1. nested ordered
  2. another
**Tail**
:   detail

# Blocks

```scheme
(display "hi")
```

```
*literal*
```

> Quoted *text*

line one  
line two

<div align="center">

centered line

</div>

<div class="raw">Raw HTML</div>

<!-- hidden comment
-->

    a fixed-width line

---

| Name | Age |
| --- | --- |
| Ada | 36 |


  [test] converts without error
    [pass] success running without errors
------------------------------------------
[suite] sample-org-blocks.org
  [test] produces a non-empty document
    [pass] got: ```
* Verbatim content
- Do not parse
```

> IN VINO VERITAS IN AQUA SANITAS

---

<strong><p>HELLO WORLD</p></strong>

")

(define sample-org-table

  "

| Name | Age | City |
| --- | --- | --- |
| Alice | 30 | London |
| Bob | 25 | Berlin |


  [test] converts without error
    [pass] success running without errors
------------------------------------------
[suite] Mixed and nested list types
  [test] consecutive kinds become separate Markdown lists
    [pass] got: - u
1. o
**k**
:   v


  [test] a mixed nested list renders each run
    [pass] got: - a
  - b
  1. c
  - d


  [test] a description list nests under an unordered item
    [pass] got: - term
  **k**
  :   v


  [test] an ordered list nests and keeps its indentation
    [pass] got: - outer
  1. n1
  2. n2


[info] ran 6 tasks in: 0 seconds, 38957 microseconds

running unit tests from file: peg-spec.scm, entrypoint: spec


[info] shuffled with seed 663783085 (replay with VERITAS_SEED=663783085)
------------------------------------------
[suite] Heading metadata
  [test] a plain heading keeps its simple shape
    [pass] got: (heading ** (line-content Title))
  [test] a title ending in a colon is not mistaken for tags
    [pass] got: (heading * (line-content Note:))
  [test] TODO keyword, priority and tags are extracted
    [pass] got: (heading * (heading-todo TODO) (heading-priority A) (line-content Task) (heading-tags work urgent))
  [test] a TODO keyword without a priority
    [pass] got: (heading * (heading-todo DONE) (line-content Done))
------------------------------------------
[suite] Inline markup nodes
  [test] /italic/ parses
    [pass] got: (inline-italic-content italic)
  [test] _underline_ parses
    [pass] got: (inline-underline-content underline)
  [test] =verbatim= parses
    [pass] got: (inline-verbatim-content verbatim)
  [test] +strike+ parses
    [pass] got: (inline-strike-content strike)
  [test] *bold* parses
    [pass] got: (inline-bold-content bold)
  [test] ~code~ parses
    [pass] got: (inline-code-content code)
------------------------------------------
[suite] Document elements recognise their construct
  [test] example block parses as example-block
    [pass] got: example-block
  [test] keyword parses as keyword
    [pass] got: keyword
  [test] separator parses as separator
    [pass] got: separator
  [test] center block parses as center-block
    [pass] got: center-block
  [test] table parses as table
    [pass] got: table
  [test] export html parses as export-html-block
    [pass] got: export-html-block
  [test] quote block parses as quote-block
    [pass] got: quote-block
  [test] paragraph parses as paragraph
    [pass] got: paragraph
  [test] verse block parses as verse-block
    [pass] got: verse-block
  [test] unordered list parses as org-list
    [pass] got: org-list
  [test] description list parses as org-list
    [pass] got: org-list
  [test] src block parses as src-block
    [pass] got: src-block
  [test] comment block parses as comment-block
    [pass] got: comment-block
  [test] mixed sibling list parses as org-list
    [pass] got: org-list
  [test] heading parses as heading
    [pass] got: heading
  [test] fixed width parses as fixed-width
    [pass] got: fixed-width
  [test] ordered list parses as org-list
    [pass] got: org-list
  [test] comment parses as comment-line
    [pass] got: comment-line
------------------------------------------
[suite] Whole-document parsing
  [test] the feature fixture is parsed all the way to the end
    [pass] got: keyword
  [test] the project's own README starts with a keyword and is long
    [pass] got: keyword
------------------------------------------
[suite] Mixed and nested lists
  [test] a nested list may mix item kinds
    [pass] got: (org-list (unordered-item (line-content a) (nested-list (unordered-item (line-content b)) (ordered-item (line-content c)) (unordered-item (line-content d)))))
  [test] a description list nests under an unordered item
    [pass] got: (org-list (unordered-item (line-content term) (nested-list (desc-item (desc-key k) (line-content v)))))
  [test] a list keeps every kind of item in one run
    [pass] got: (org-list (unordered-item (line-content u)) (ordered-item (line-content o)) (desc-item (desc-key k) (line-content v)))
  [test] an ordered list nests under an unordered item
    [pass] got: (org-list (unordered-item (line-content outer) (nested-list (ordered-item (line-content n1)) (ordered-item (line-content n2)))))
  [test] two levels of mixed nesting
    [pass] got: (org-list (unordered-item (line-content a) (nested-list (unordered-item (line-content b) (nested-list (ordered-item (line-content c)))) (unordered-item (line-content d)))))
------------------------------------------
[suite] Inline constructs
  [test] footnote reference, definition and inline form
    [pass] got: (inline-footnote-def (footnote-label 1) (footnote-content  note))
    [pass] got: (inline-footnote-inline (footnote-content note))
    [pass] got: (inline-footnote-ref (footnote-label 1))
  [test] a forced line break before end of line
    [pass] got: (inline-line-break \\)
  [test] raw urls carry their scheme
    [pass] got: (inline-raw-url (url-scheme https://) x.org)
  [test] links with and without a description
    [pass] got: (inline-link-no-desc (link-target-content u))
    [pass] got: (inline-link-with-desc (link-target-content u) (link-description-content d))
  [test] escaped markup characters are recognised
    [pass] got: (inline-escape-char +)
    [pass] got: (inline-escape-char *)
  [test] superscript and subscript use their braced form
    [pass] got: ((inline-text H) (inline-subscript-content 2) (inline-text O))
    [pass] got: ((inline-text x) (inline-superscript-content 2))
[info] ran 6 tasks in: 0 seconds, 14642 microseconds

running unit tests from file: html-spec.scm, entrypoint: spec


[info] shuffled with seed 663783085 (replay with VERITAS_SEED=663783085)
------------------------------------------
[suite] Feature fixture
  [test] tables still render their header
    [pass] got: <div>title: Feature Showcase</div><div>author: OrgWebAlchemy</div><!-- A single comment line. --><h1>Introduction</h1><p>This paragraph shows <strong>bold</strong>, <em>italic</em>, <code>code</code>, <code>verbatim</code>, <u>underline</u>, <del>strikethrough</del>, x<sup>2</sup>, H<sub>2</sub>O.</p><p>A forced break here:<br /></p><p>and then the continuation.</p><p>See <a href="https://gnu.org">GNU</a> or a raw link <a href="https://example.org">https://example.org</a> plus a</p><p>footnote reference<sup class="footnote-ref"><a href="#fn-one" id="fnref-one">one</a></sup> and an inline footnote<sup class="footnote-inline">like this</sup>.</p><p><sup class="footnote-ref"><a href="#fn-one" id="fnref-one">one</a></sup> The footnote definition.</p><h1 class="org-todo org-todo-todo"><span class="org-todo">TODO</span><span class="org-priority">[#A]</span>A Task<span class="org-tags"><span class="org-tag">work</span><span class="org-tag">urgent</span></span></h1><ul><li><input type="checkbox" disabled="disabled" />unchecked item</li><li><input type="checkbox" disabled="disabled" checked="checked" />checked item<ul><li>nested item</li></ul></li></ul><h1>Lists</h1><ol><li>first</li><li>second</li></ol><dl><dt>Term</dt><dd>Definition</dd></dl><ul><li>outer<ol><li>nested ordered</li><li>another</li></ol></li></ul><dl><dt>Tail</dt><dd>detail</dd></dl><h1>Blocks</h1><pre class="scheme">(display &quot;hi&quot;)
</pre><pre>*literal*
</pre><blockquote>Quoted <strong>text</strong></blockquote><p>line one<br />line two</p><div><p>centered line</p></div><div class="raw">Raw HTML</div>
<!-- hidden comment
--><pre>a fixed-width line
</pre><hr /><table><thead><tr><th> Name </th><th> Age </th></tr></thead><tbody><tr><td> Ada  </td><td> 36  </td></tr></tbody></table>
  [test] the whole fixture renders without error
    [pass] success running without errors
  [test] raw HTML export passes through untouched
    [pass] got: <div class="raw">Raw HTML</div>
------------------------------------------
[suite] Block Org AST & Document Parsing
  [test] special blocks: quote, example, src, export, separator
    [pass] got: <blockquote>Quoted <strong>text</strong></blockquote>
    [pass] got: <div>Raw content</div>
    [pass] got: <hr />
    [pass] got: <pre class="scheme">(define x 10)
</pre>
    [pass] got: <pre>*literal* code
</pre>
  [test] paragraph transformation
    [pass] got: <p>A simple paragraph with <strong>bold</strong> text.</p>
  [test] headings AST transformation
    [pass] got: <h2>Level 2</h2>
    [pass] got: <h3>Level 3</h3>
    [pass] got: <h1>Level 1</h1>
------------------------------------------
[suite] Mixed and nested list types
  [test] an ordered list nests under an unordered item
    [pass] got: <ul><li>outer<ol><li>n1</li><li>n2</li></ol></li></ul>
  [test] consecutive kinds become separate list elements
    [pass] got: <ul><li>u</li></ul><ol><li>o</li></ol><dl><dt>k</dt><dd>v</dd></dl>
  [test] a description list nests under an unordered item
    [pass] got: <ul><li>term<dl><dt>k</dt><dd>v</dd></dl></li></ul>
  [test] a nested list may mix item kinds
    [pass] got: <ul><li>a<ul><li>b</li></ul><ol><li>c</li></ol><ul><li>d</li></ul></li></ul>
------------------------------------------
[suite] SXML to HTML String Rendering
  [test] rendering raw HTML nodes verbatim without escaping
    [pass] got: <span>Raw</span>
  [test] rendering *TOP* wrapped node tree
    [pass] got: <p>Hello</p><p>World</p>
  [test] rendering single element vs list of elements
    [pass] got: <span>text</span>
    [pass] got: <h1>Title</h1><p>Body</p>
------------------------------------------
[suite] Full Org-to-HTML Integration
  [test] sample org blocks parsing without errors
    [pass] success running without errors
  [test] sample org text parsing without errors
    [pass] success running without errors
------------------------------------------
[suite] make-sxml-attrs
  [test] constructs a class attribute when classes and attributes are supplied
    [pass] got: ((@ (class heading) (href /about)))
    [pass] got: ((@ (class btn btn-primary active) (href /about)))
  [test] returns empty list when no classes or attributes provided
    [pass] got: ()
    [pass] got: ()
    [pass] got: ()
  [test] constructs a class attribute when classes are supplied
    [pass] got: ((@ (class btn btn-primary active)))
    [pass] got: ((@ (class heading)))
  [test] constructs attributes when they are supplied
    [pass] got: ((@ (id main-header) (role banner)))
    [pass] got: ((@ (href /home)))
------------------------------------------
[suite] Inline Org Transformation
  [test] nested inline markup
    [pass] got: <strong>bold with <em>italic</em></strong>
    [pass] got: <u>underlined <a href="https://gnu.org">link</a></u>
  [test] basic inline attributes
    [pass] got: <strong>bold</strong>
    [pass] got: <a href="https://gnu.org">GNU</a>
    [pass] got: cron job / shepherd timer that does git fetch --all for work and <code>~/hacking</code>
    [pass] got: <a href="https://gnu.org">https://gnu.org</a>
    [pass] got: <em>italic</em>
    [pass] got: <u>underlined</u>
    [pass] got: <code>verbatim</code>
    [pass] got: Unsure if Option A/B
    [pass] got: <code>code</code>
------------------------------------------
[suite] Extended inline markup
  [test] forced line break and escaped markup
    [pass] got: line<br />
    [pass] got: +
  [test] footnote reference, definition and inline form
    [pass] got: <sup class="footnote-inline">note</sup>
    [pass] got: <span class="footnote-def" id="fn-1"><sup class="footnote-label">1</sup> note</span>
    [pass] got: see<sup class="footnote-ref"><a href="#fn-1" id="fnref-1">1</a></sup>
  [test] strikethrough, superscript and subscript
    [pass] got: x<sup>2</sup>
    [pass] got: H<sub>2</sub>O
    [pass] got: <del>struck</del>
------------------------------------------
[suite] List transformations
  [test] unordered and ordered lists transformation
    [pass] got: <ul><li>Item 1</li><li>Item 2</li></ul>
    [pass] got: <ol><li>First</li><li>Second</li></ol>
  [test] description list transformation
    [pass] got: <dl><dt>Term</dt><dd>Definition text</dd></dl>
  [test] nested unordered and nested ordered lists transformation
    [pass] got: <ul><li>Item 1<ul><li>Item 1.1</li><li>Item 1.2</li></ul></li></ul>
    [pass] got: <ol><li>Item 1<ol><li>Item 1.1</li><li>Item 1.2</li></ol></li></ol>
  [test] nested description list transformation
    [pass] got: <dl><dt>Term</dt><dd>Definition text<dl><dt>Term2</dt><dd>Def2</dd></dl></dd></dl>
------------------------------------------
[suite] Inline Raw URL Transformation
  [test] does not treat unsupported schemes as raw URLs
    [pass] got: custom://example.org
    [pass] got: javascript:alert(1)
  [test] URLs stop at whitespace
    [pass] got: See <a href="https://example.org">https://example.org</a> here.
    [pass] got: See <a href="https://example.org">https://example.org</a>       for details.
  [test] URLs coexist with inline Org markup
    [pass] got: <strong>Visit <a href="https://example.org">https://example.org</a></strong>
    [pass] got: See <a href="https://example.org">https://example.org</a> and <strong>bold</strong> text.
  [test] supports all HTTP and file transfer protocols
    [pass] got: <a href="ftps://example.org/file.txt">ftps://example.org/file.txt</a>
    [pass] got: <a href="file:///home/user/document.org">file:///home/user/document.org</a>
    [pass] got: <a href="http://example.org">http://example.org</a>
    [pass] got: <a href="https://example.org">https://example.org</a>
    [pass] got: <a href="ftp://example.org/file.txt">ftp://example.org/file.txt</a>
  [test] supports communication protocols
    [pass] got: <a href="irc://irc.example.org/#emacs">irc://irc.example.org/#emacs</a>
    [pass] got: <a href="ircs://irc.example.org/#emacs">ircs://irc.example.org/#emacs</a>
    [pass] got: <a href="mailto:jjbigorra@gmail.com">mailto:jjbigorra@gmail.com</a>
    [pass] got: <a href="tel:+31612345678">tel:+31612345678</a>
  [test] URLs stop at a newline
    [pass] got: <a href="https://example.org">https://example.org</a>
  [test] supports URLs with paths, queries, fragments and ports
    [pass] got: <a href="https://example.org/search?q=org-mode&amp;lang=en">https://example.org/search?q=org-mode&amp;lang=en</a>
    [pass] got: <a href="https://example.org/page#section">https://example.org/page#section</a>
    [pass] got: <a href="https://example.org:8443/path/to/page">https://example.org:8443/path/to/page</a>
  [test] URLs can appear inside ordinary prose
    [pass] got: Visit <a href="https://example.org">https://example.org</a> for more information.
    [pass] got: Clone <a href="git://example.org/project.git">git://example.org/project.git</a> and build it.
  [test] supports WebSocket protocols
    [pass] got: <a href="ws://example.org/socket">ws://example.org/socket</a>
    [pass] got: <a href="wss://example.org/socket">wss://example.org/socket</a>
  [test] supports remote access and network protocols
    [pass] got: <a href="git://example.org/project.git">git://example.org/project.git</a>
    [pass] got: <a href="gopher://example.org/1/hello">gopher://example.org/1/hello</a>
    [pass] got: <a href="ssh://git@example.org/repo">ssh://git@example.org/repo</a>
    [pass] got: <a href="sftp://example.org/path/to/file">sftp://example.org/path/to/file</a>
  [test] raw URLs and Org links coexist
    [pass] got: Visit <a href="https://example.org">https://example.org</a> or <a href="https://gnu.org">GNU</a>.
------------------------------------------
[suite] Class Parameter Customization
  [test] customizing inline markup classes
    [pass] got: <a class="underline text-blue-600" href="/path">link</a>
  [test] customizing block element classes
    [pass] got: <ul class="list-disc ml-6"><li>item</li></ul>
  [test] customizing heading classes dynamically
    [pass] got: <h2 class="text-xl">Section</h2>
------------------------------------------
[suite] Org Table Transformation
  [test] table rendering with header and body
    [pass] got: <table><thead><tr><th> Name  </th><th> Age </th><th> City   </th></tr></thead><tbody><tr><td> Alice </td><td> 30  </td><td> London </td></tr></tbody><tbody><tr><td> Bob   </td><td> 25  </td><td> Berlin </td></tr></tbody></table>
  [test] table error resilience
    [pass] success running without errors
------------------------------------------
[suite] Heading metadata
  [test] plain headings are unchanged
    [pass] got: <h1>Plain</h1>
  [test] TODO keyword, priority and tags render
    [pass] got: <h1 class="org-todo org-todo-todo"><span class="org-todo">TODO</span><span class="org-priority">[#A]</span>A Task<span class="org-tags"><span class="org-tag">work</span><span class="org-tag">urgent</span></span></h1>
------------------------------------------
[suite] Extended block elements
  [test] fixed-width, verse and center blocks
    [pass] got: <pre>fixed
</pre>
    [pass] got: <div><p>mid</p></div>
    [pass] got: <p>one<br />two</p>
  [test] checkbox list items
    [pass] got: <ul><li><input type="checkbox" disabled="disabled" />todo</li><li><input type="checkbox" disabled="disabled" checked="checked" />done</li></ul>
  [test] keywords and comments
    [pass] got: <div>TITLE: Hello</div>
    [pass] got: <!-- a comment -->
    [pass] got: <!-- hidden
-->
[info] ran 14 tasks in: 0 seconds, 25227 microseconds

finished running tests


--------------------------------------------------------------

Maak: the infinitely extensible command runner

Loading tasks from Maak file: /etc/byggsteg/job-clone/orgwebalchemy/trunk/maak.scm

Executing Maak tasks: test

--------------------------------------------------------------

=> Running Maak task: test

  Run project's tests.

→ running command: cd /etc/byggsteg/job-clone/orgwebalchemy/trunk && sudo maak deploy

API documentation saved to doc/api
index.texi: warning: must specify a title with a title command or @top
renamed './index' -> './doc/api-dist'
removed '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/API.html'
removed '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/orgwebalchemy_005fhtml.html'
removed '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/orgwebalchemy_005fmarkdown.html'
removed '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/orgwebalchemy_005fpeg.html'
removed directory '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy'
mkdir: created directory '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy'
renamed 'doc/api-dist/API.html' -> '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/API.html'
renamed 'doc/api-dist/orgwebalchemy_005fhtml.html' -> '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/orgwebalchemy_005fhtml.html'
renamed 'doc/api-dist/orgwebalchemy_005fmarkdown.html' -> '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/orgwebalchemy_005fmarkdown.html'
renamed 'doc/api-dist/orgwebalchemy_005fpeg.html' -> '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/orgwebalchemy_005fpeg.html'
removed 'doc/api/index.texi'
removed directory 'doc/api'
removed directory 'doc/api-dist'
removed directory 'doc'


--------------------------------------------------------------

Maak: the infinitely extensible command runner

Loading tasks from Maak file: /etc/byggsteg/job-clone/orgwebalchemy/trunk/maak.scm

Executing Maak tasks: deploy

--------------------------------------------------------------

=> Running Maak task: deploy

  Generate documentation for the project and publish to web directory.