Revision history for TAP-DOM
0.99 2024-10-02
- new option 'utf8' to interpret TAP source and potentially
filter out illegal UTF-8 characters and the binary \0
- new option 'ignoreunknown' to not include non-TAP lines in DOM
0.98 2023-03-19
- extend 'noempty_tap' logic to "not empty but no tap lines"
(not relevant when 'preprocess_tap' is set)
- distro hygiene
0.97 2022-06-15
- fix replacement tap pragma line for 'noempty_tap' situation
0.96 2022-06-15
- avoid accidental Perl 5.10+ idiom
0.95 2022-06-14
- reuploads are my new hobby
0.94 2022-06-14
- tweak handling of empty TAP(::Archive) documents, so far only
when option 'noempty_tap' is provided to not trigger surprises.
0.93.2 2021-06-21
- re-upload(?)
0.93.1 2021-06-14
- fix test to work on windows
0.93 2021-06-05
- provide mnemonics table for severity
- evaluate TAP::DOM-specific pragma +tapdom_error
- new option 'noempty_tap' to put in replacement lines with a
'+pragma tapdom_error' which can be better evaluated by its
'severity'
- TAP::DOM::Archive allows filehandle as 'source'
(requires new dependency to Scalar::Util)
0.92 2020-11-09
- introduce 'severity' level to represent the combination of
ok/notok and todo/skip as one ordinal number.
- more complete information in non-test lines (plan, pragma)
0.91 2020-06-30
- === INCOMPATIBILITY WARNING ===
This release contains several changes towards a more
consistent data handling. For casual users nothing
substantially should change. But if you are one of the
power users out there (I'm looking at you, Amzn), then
read this changelog carefully.
- fix argument handling: pass-through to TAP::DOM, delete
newly introduced 'disable_global_kv_data'
- TAP::Archive reading skips nonexistent files from meta.yml
- to_tap() works with unblessed inner elements (though the
TAP::DOM itself needs bless to call ->to_tap method)
- new option 'document_data_prefix' to specify the prefix in
'# Test-key: value' lines
- Experimental: Allow TAP preprocessing
This can help to reduce the tap line count before it hits
the TAP parser, assuming regex processing is faster.
- Incompatible change: de-confuse 'parse_errors'
* it now also contains the count of parse errors not the
actual messages anymore - those are now in
'parse_errors_msgs'
- new option 'document_data_ignore' to not cover certain fields
- new option 'put_dangling_kv_data_under_lazy_plan' to
fix a gap when 'disable_global_kv_data' is set.
- new option 'trim_fieldvalues' to trim trailing whitespace
from document_data/kv_data fields
- new option 'dontignorelines' (HIGHLY EXPERIMENTAL!) to
define exceptions from the 'ignorelines' regex.
- tapdom_config covers all options now
0.14 2017-02-17
- new module TAP::DOM::Archive to extract TAP::Archive files
into a multi-document super DOM
- Store "# Test-key: value" entries also as 'kv_data' under
their parent ok line.
Please note, this creates redundancy with global
'document_data' as it still stores entries there. This is to
keep backwards compatibility with existing TAP documents'
DOM.
If you want clear separation between global 'document_data'
from #Test-key:value entries not belonging to a test
ok/notok line and 'kv_data' entries, then set option
'disable_global_kv_data'.
0.13 2016-02-26
- add forgotten 'planned' attribute from ::Aggregator
0.12 2015-09-16
- generate "document_data" key/value entry in the TAP-DOM
from hot comments of the form: # Test-<key>: <value>
0.11 2014-03-14
- assume TAP version 13 if TAP::Parser supports this (v3.22+)
- TAP-DOM "reverse": to_tap() produces TAP from a TAP::DOM
- distro polishing (misc & rt#90178)
- Дист::Зилла roundhouse kick
2010-08-26 Steffen Schwigon <ss5@renormalist.net>
* 0.10
* New option "usebitsets":
- When creating a TAP::DOM with new(usebitsets => 1) then all
the 'has_*' and 'is_*' attributes are stored in a common
bitset entry 'is_has' with their respective bits set.
This reduces the size of a TAP::DOM remarkably (by ~40%
for a large TAP-DOM) and is meant as an optimization
option for memory constrained problems.
* Additional entry "tapdom_config" to store parse options
* Data structure now with classes and accessors:
- TAP::DOM::Entry -- all 'lines' entries
(with 'is_*' and 'has_*' attributes correctly handling bitsets)
- TAP::DOM::Summary -- the aggregated 'summary' part
- TAP::DOM::Config -- the 'tapdom_config' part
* More tests and benchmarks for evaluating speed/memory footprint
2010-04-19 Steffen Schwigon <ss5@renormalist.net>
* 0.07
* Bummer! I shouldn't work too late at night... Using
Test::Harness features from the future is too bleading edge.
2010-04-16 Steffen Schwigon <ss5@renormalist.net>
* 0.06
* New option "ignorelines" to strip unneccessary lines from the
TAP that would otherwise just blow-up memory in the DOM.
* distribution maintenance
2009-09-24 Steffen Schwigon <ss5@renormalist.net>
* 0.05
* Allow to create more terse DOMs by accepting an "ignore" option
to declare items that should not be included.
2009-05-18 Steffen Schwigon <ss5@renormalist.net>
* 0.04
* Fix error with comment lines before everything else
2009-04-17 Steffen Schwigon <ss5@renormalist.net>
* 0.03
* support for summary results from TAP::Parser::Aggregator
2009-03-08 Steffen Schwigon <ss5@renormalist.net>
* 0.02
* yaml and comment lines are now assigned to the line before
under the key {_children}
* improved documentation
* less redundant test suite to better serve as documentation
2009-02-13 Steffen Schwigon <ss5@renormalist.net>
* 0.01
* initial version
* just a data structure and docs