summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2023-03-30 02:20:49 +0300
committerPaul Buetow <paul@buetow.org>2023-03-30 02:20:49 +0300
commit62470cb8c324aef7669f187e11da6c1b15d9c857 (patch)
tree353b5f7c616ea7fe057e04a1a0eb1014dc22fdbe
parentfc4425721294e40c25ef6cc2c980dd661a061d88 (diff)
add description outputs
-rw-r--r--fixtures/Host.Boots.Gemtext.expected4
-rw-r--r--fixtures/Host.Boots.Markdown.expected4
-rw-r--r--fixtures/Host.Boots.Plaintext.expected6
-rw-r--r--fixtures/Host.Downtime.Gemtext.expected4
-rw-r--r--fixtures/Host.Downtime.Markdown.expected4
-rw-r--r--fixtures/Host.Downtime.Plaintext.expected5
-rw-r--r--fixtures/Host.Lifespan.Gemtext.expected4
-rw-r--r--fixtures/Host.Lifespan.Markdown.expected4
-rw-r--r--fixtures/Host.Lifespan.Plaintext.expected5
-rw-r--r--fixtures/Host.MetaScore.Gemtext.expected11
-rw-r--r--fixtures/Host.MetaScore.Markdown.expected11
-rw-r--r--fixtures/Host.MetaScore.Plaintext.expected9
-rw-r--r--fixtures/Host.Score.Gemtext.expected13
-rw-r--r--fixtures/Host.Score.Markdown.expected13
-rw-r--r--fixtures/Host.Score.Plaintext.expected12
-rw-r--r--fixtures/Host.Uptime.Gemtext.expected4
-rw-r--r--fixtures/Host.Uptime.Markdown.expected4
-rw-r--r--fixtures/Host.Uptime.Plaintext.expected5
-rw-r--r--fixtures/Kernel.Boots.Gemtext.expected (renamed from fixtures/OS.Boots.Markdown.expected)6
-rw-r--r--fixtures/Kernel.Boots.Markdown.expected (renamed from fixtures/OS.Boots.Gemtext.expected)6
-rw-r--r--fixtures/Kernel.Boots.Plaintext.expected (renamed from fixtures/OS.Boots.Plaintext.expected)7
-rw-r--r--fixtures/Kernel.Score.Gemtext.expected13
-rw-r--r--fixtures/Kernel.Score.Markdown.expected13
-rw-r--r--fixtures/Kernel.Score.Plaintext.expected11
-rw-r--r--fixtures/Kernel.Uptime.Gemtext.expected (renamed from fixtures/OS.Uptime.Gemtext.expected)6
-rw-r--r--fixtures/Kernel.Uptime.Markdown.expected (renamed from fixtures/OS.Uptime.Markdown.expected)6
-rw-r--r--fixtures/Kernel.Uptime.Plaintext.expected (renamed from fixtures/OS.Uptime.Plaintext.expected)6
-rw-r--r--fixtures/KernelMajor.Boots.Gemtext.expected (renamed from fixtures/OSMajor.Boots.Gemtext.expected)6
-rw-r--r--fixtures/KernelMajor.Boots.Markdown.expected (renamed from fixtures/OSMajor.Boots.Markdown.expected)6
-rw-r--r--fixtures/KernelMajor.Boots.Plaintext.expected (renamed from fixtures/OSMajor.Boots.Plaintext.expected)8
-rw-r--r--fixtures/KernelMajor.Score.Gemtext.expected13
-rw-r--r--fixtures/KernelMajor.Score.Markdown.expected13
-rw-r--r--fixtures/KernelMajor.Score.Plaintext.expected12
-rw-r--r--fixtures/KernelMajor.Uptime.Gemtext.expected (renamed from fixtures/OSMajor.Uptime.Gemtext.expected)6
-rw-r--r--fixtures/KernelMajor.Uptime.Markdown.expected (renamed from fixtures/OSMajor.Uptime.Markdown.expected)6
-rw-r--r--fixtures/KernelMajor.Uptime.Plaintext.expected (renamed from fixtures/OSMajor.Uptime.Plaintext.expected)7
-rw-r--r--fixtures/KernelName.Boots.Gemtext.expected13
-rw-r--r--fixtures/KernelName.Boots.Markdown.expected13
-rw-r--r--fixtures/KernelName.Boots.Plaintext.expected13
-rw-r--r--fixtures/KernelName.Score.Gemtext.expected13
-rw-r--r--fixtures/KernelName.Score.Markdown.expected13
-rw-r--r--fixtures/KernelName.Score.Plaintext.expected12
-rw-r--r--fixtures/KernelName.Uptime.Gemtext.expected13
-rw-r--r--fixtures/KernelName.Uptime.Markdown.expected13
-rw-r--r--fixtures/KernelName.Uptime.Plaintext.expected12
-rw-r--r--fixtures/OS.MetaScore.Gemtext.expected11
-rw-r--r--fixtures/OS.MetaScore.Markdown.expected11
-rw-r--r--fixtures/OS.MetaScore.Plaintext.expected9
-rw-r--r--fixtures/OSMajor.MetaScore.Gemtext.expected11
-rw-r--r--fixtures/OSMajor.MetaScore.Markdown.expected11
-rw-r--r--fixtures/OSMajor.MetaScore.Plaintext.expected9
-rw-r--r--fixtures/Uname.MetaScore.Gemtext.expected11
-rw-r--r--fixtures/Uname.MetaScore.Markdown.expected11
-rw-r--r--fixtures/Uname.MetaScore.Plaintext.expected9
-rw-r--r--guprecords.raku95
55 files changed, 384 insertions, 192 deletions
diff --git a/fixtures/Host.Boots.Gemtext.expected b/fixtures/Host.Boots.Gemtext.expected
index 232726d..b8139c2 100644
--- a/fixtures/Host.Boots.Gemtext.expected
+++ b/fixtures/Host.Boots.Gemtext.expected
@@ -1,4 +1,6 @@
-# Top 3 Boots's by Host:
+# Top 3 Boots's by Host
+
+Boots is the total number of host boots over the entire lifespan.
```
+-----+----------------+-------+
diff --git a/fixtures/Host.Boots.Markdown.expected b/fixtures/Host.Boots.Markdown.expected
index 232726d..b8139c2 100644
--- a/fixtures/Host.Boots.Markdown.expected
+++ b/fixtures/Host.Boots.Markdown.expected
@@ -1,4 +1,6 @@
-# Top 3 Boots's by Host:
+# Top 3 Boots's by Host
+
+Boots is the total number of host boots over the entire lifespan.
```
+-----+----------------+-------+
diff --git a/fixtures/Host.Boots.Plaintext.expected b/fixtures/Host.Boots.Plaintext.expected
index 9792c32..d3b3174 100644
--- a/fixtures/Host.Boots.Plaintext.expected
+++ b/fixtures/Host.Boots.Plaintext.expected
@@ -1,4 +1,8 @@
-Top 3 Boots's by Host:
+Top 3 Boots's by Host
+
+ Boots is the total number of
+host boots over the entire
+lifespan.
+-----+----------------+-------+
| Pos | Host | Boots |
diff --git a/fixtures/Host.Downtime.Gemtext.expected b/fixtures/Host.Downtime.Gemtext.expected
index ec6303f..9b72e07 100644
--- a/fixtures/Host.Downtime.Gemtext.expected
+++ b/fixtures/Host.Downtime.Gemtext.expected
@@ -1,4 +1,6 @@
-# Top 3 Downtime's by Host:
+# Top 3 Downtime's by Host
+
+Downtime is the total downtime of a host over the entire lifespan.
```
+-----+----------------+-----------------------------+
diff --git a/fixtures/Host.Downtime.Markdown.expected b/fixtures/Host.Downtime.Markdown.expected
index ec6303f..9b72e07 100644
--- a/fixtures/Host.Downtime.Markdown.expected
+++ b/fixtures/Host.Downtime.Markdown.expected
@@ -1,4 +1,6 @@
-# Top 3 Downtime's by Host:
+# Top 3 Downtime's by Host
+
+Downtime is the total downtime of a host over the entire lifespan.
```
+-----+----------------+-----------------------------+
diff --git a/fixtures/Host.Downtime.Plaintext.expected b/fixtures/Host.Downtime.Plaintext.expected
index aa48cca..5f069cb 100644
--- a/fixtures/Host.Downtime.Plaintext.expected
+++ b/fixtures/Host.Downtime.Plaintext.expected
@@ -1,4 +1,7 @@
-Top 3 Downtime's by Host:
+Top 3 Downtime's by Host
+
+ Downtime is the total downtime of a host over the
+entire lifespan.
+-----+----------------+-----------------------------+
| Pos | Host | Downtime |
diff --git a/fixtures/Host.Lifespan.Gemtext.expected b/fixtures/Host.Lifespan.Gemtext.expected
index b5d69e8..8d1b85f 100644
--- a/fixtures/Host.Lifespan.Gemtext.expected
+++ b/fixtures/Host.Lifespan.Gemtext.expected
@@ -1,4 +1,6 @@
-# Top 3 Lifespan's by Host:
+# Top 3 Lifespan's by Host
+
+Lifespan is the total uptime + the total downtime of a host.
```
+-----+----------------+----------------------------+
diff --git a/fixtures/Host.Lifespan.Markdown.expected b/fixtures/Host.Lifespan.Markdown.expected
index b5d69e8..8d1b85f 100644
--- a/fixtures/Host.Lifespan.Markdown.expected
+++ b/fixtures/Host.Lifespan.Markdown.expected
@@ -1,4 +1,6 @@
-# Top 3 Lifespan's by Host:
+# Top 3 Lifespan's by Host
+
+Lifespan is the total uptime + the total downtime of a host.
```
+-----+----------------+----------------------------+
diff --git a/fixtures/Host.Lifespan.Plaintext.expected b/fixtures/Host.Lifespan.Plaintext.expected
index 523cf68..b10430b 100644
--- a/fixtures/Host.Lifespan.Plaintext.expected
+++ b/fixtures/Host.Lifespan.Plaintext.expected
@@ -1,4 +1,7 @@
-Top 3 Lifespan's by Host:
+Top 3 Lifespan's by Host
+
+ Lifespan is the total uptime + the total downtime of
+a host.
+-----+----------------+----------------------------+
| Pos | Host | Lifespan |
diff --git a/fixtures/Host.MetaScore.Gemtext.expected b/fixtures/Host.MetaScore.Gemtext.expected
deleted file mode 100644
index c38364e..0000000
--- a/fixtures/Host.MetaScore.Gemtext.expected
+++ /dev/null
@@ -1,11 +0,0 @@
-# Top 3 MetaScore's by Host:
-
-```
-+-----+----------------+-----------+
-| Pos | Host | MetaScore |
-+-----+----------------+-----------+
-| 1. | uranus | 360 |
-| 2. | alphacentauri | 294 |
-| 3. | dionysus | 285 |
-+-----+----------------+-----------+
-```
diff --git a/fixtures/Host.MetaScore.Markdown.expected b/fixtures/Host.MetaScore.Markdown.expected
deleted file mode 100644
index c38364e..0000000
--- a/fixtures/Host.MetaScore.Markdown.expected
+++ /dev/null
@@ -1,11 +0,0 @@
-# Top 3 MetaScore's by Host:
-
-```
-+-----+----------------+-----------+
-| Pos | Host | MetaScore |
-+-----+----------------+-----------+
-| 1. | uranus | 360 |
-| 2. | alphacentauri | 294 |
-| 3. | dionysus | 285 |
-+-----+----------------+-----------+
-```
diff --git a/fixtures/Host.MetaScore.Plaintext.expected b/fixtures/Host.MetaScore.Plaintext.expected
deleted file mode 100644
index 25cc930..0000000
--- a/fixtures/Host.MetaScore.Plaintext.expected
+++ /dev/null
@@ -1,9 +0,0 @@
-Top 3 MetaScore's by Host:
-
-+-----+----------------+-----------+
-| Pos | Host | MetaScore |
-+-----+----------------+-----------+
-| 1. | uranus | 360 |
-| 2. | alphacentauri | 294 |
-| 3. | dionysus | 285 |
-+-----+----------------+-----------+
diff --git a/fixtures/Host.Score.Gemtext.expected b/fixtures/Host.Score.Gemtext.expected
new file mode 100644
index 0000000..50c57c2
--- /dev/null
+++ b/fixtures/Host.Score.Gemtext.expected
@@ -0,0 +1,13 @@
+# Top 3 Score's by Host
+
+Score is calculated by combining all other metrics.
+
+```
++-----+----------------+-------+
+| Pos | Host | Score |
++-----+----------------+-------+
+| 1. | uranus | 360 |
+| 2. | alphacentauri | 294 |
+| 3. | dionysus | 285 |
++-----+----------------+-------+
+```
diff --git a/fixtures/Host.Score.Markdown.expected b/fixtures/Host.Score.Markdown.expected
new file mode 100644
index 0000000..50c57c2
--- /dev/null
+++ b/fixtures/Host.Score.Markdown.expected
@@ -0,0 +1,13 @@
+# Top 3 Score's by Host
+
+Score is calculated by combining all other metrics.
+
+```
++-----+----------------+-------+
+| Pos | Host | Score |
++-----+----------------+-------+
+| 1. | uranus | 360 |
+| 2. | alphacentauri | 294 |
+| 3. | dionysus | 285 |
++-----+----------------+-------+
+```
diff --git a/fixtures/Host.Score.Plaintext.expected b/fixtures/Host.Score.Plaintext.expected
new file mode 100644
index 0000000..320820f
--- /dev/null
+++ b/fixtures/Host.Score.Plaintext.expected
@@ -0,0 +1,12 @@
+Top 3 Score's by Host
+
+ Score is calculated by combining
+all other metrics.
+
++-----+----------------+-------+
+| Pos | Host | Score |
++-----+----------------+-------+
+| 1. | uranus | 360 |
+| 2. | alphacentauri | 294 |
+| 3. | dionysus | 285 |
++-----+----------------+-------+
diff --git a/fixtures/Host.Uptime.Gemtext.expected b/fixtures/Host.Uptime.Gemtext.expected
index 08ddfdb..45fde9c 100644
--- a/fixtures/Host.Uptime.Gemtext.expected
+++ b/fixtures/Host.Uptime.Gemtext.expected
@@ -1,4 +1,6 @@
-# Top 3 Uptime's by Host:
+# Top 3 Uptime's by Host
+
+Uptime is the total uptime of a host over the entire lifespan.
```
+-----+---------+-----------------------------+
diff --git a/fixtures/Host.Uptime.Markdown.expected b/fixtures/Host.Uptime.Markdown.expected
index 08ddfdb..45fde9c 100644
--- a/fixtures/Host.Uptime.Markdown.expected
+++ b/fixtures/Host.Uptime.Markdown.expected
@@ -1,4 +1,6 @@
-# Top 3 Uptime's by Host:
+# Top 3 Uptime's by Host
+
+Uptime is the total uptime of a host over the entire lifespan.
```
+-----+---------+-----------------------------+
diff --git a/fixtures/Host.Uptime.Plaintext.expected b/fixtures/Host.Uptime.Plaintext.expected
index e1cbf5b..da9937e 100644
--- a/fixtures/Host.Uptime.Plaintext.expected
+++ b/fixtures/Host.Uptime.Plaintext.expected
@@ -1,4 +1,7 @@
-Top 3 Uptime's by Host:
+Top 3 Uptime's by Host
+
+ Uptime is the total uptime of a host over the
+entire lifespan.
+-----+---------+-----------------------------+
| Pos | Host | Uptime |
diff --git a/fixtures/OS.Boots.Markdown.expected b/fixtures/Kernel.Boots.Gemtext.expected
index 4a85c75..4d797c5 100644
--- a/fixtures/OS.Boots.Markdown.expected
+++ b/fixtures/Kernel.Boots.Gemtext.expected
@@ -1,8 +1,10 @@
-# Top 3 Boots's by OS:
+# Top 3 Boots's by Kernel
+
+Boots is the total number of host boots over the entire lifespan.
```
+-----+------------------------------+-------+
-| Pos | OS | Boots |
+| Pos | Kernel | Boots |
+-----+------------------------------+-------+
| 1. | Linux 3.2.0-4-amd64 | 321 |
| 2. | Linux 4.0.4-303.fc22.x86_64 | 103 |
diff --git a/fixtures/OS.Boots.Gemtext.expected b/fixtures/Kernel.Boots.Markdown.expected
index 4a85c75..4d797c5 100644
--- a/fixtures/OS.Boots.Gemtext.expected
+++ b/fixtures/Kernel.Boots.Markdown.expected
@@ -1,8 +1,10 @@
-# Top 3 Boots's by OS:
+# Top 3 Boots's by Kernel
+
+Boots is the total number of host boots over the entire lifespan.
```
+-----+------------------------------+-------+
-| Pos | OS | Boots |
+| Pos | Kernel | Boots |
+-----+------------------------------+-------+
| 1. | Linux 3.2.0-4-amd64 | 321 |
| 2. | Linux 4.0.4-303.fc22.x86_64 | 103 |
diff --git a/fixtures/OS.Boots.Plaintext.expected b/fixtures/Kernel.Boots.Plaintext.expected
index 8ae9d04..5486ec8 100644
--- a/fixtures/OS.Boots.Plaintext.expected
+++ b/fixtures/Kernel.Boots.Plaintext.expected
@@ -1,7 +1,10 @@
-Top 3 Boots's by OS:
+Top 3 Boots's by Kernel
+
+ Boots is the total number of host boots over
+the entire lifespan.
+-----+------------------------------+-------+
-| Pos | OS | Boots |
+| Pos | Kernel | Boots |
+-----+------------------------------+-------+
| 1. | Linux 3.2.0-4-amd64 | 321 |
| 2. | Linux 4.0.4-303.fc22.x86_64 | 103 |
diff --git a/fixtures/Kernel.Score.Gemtext.expected b/fixtures/Kernel.Score.Gemtext.expected
new file mode 100644
index 0000000..3a8d853
--- /dev/null
+++ b/fixtures/Kernel.Score.Gemtext.expected
@@ -0,0 +1,13 @@
+# Top 3 Score's by Kernel
+
+Score is calculated by combining all other metrics.
+
+```
++-----+------------------------------------+-------+
+| Pos | Kernel | Score |
++-----+------------------------------------+-------+
+| 1. | Linux 3.2.0-4-amd64 | 241 |
+| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 |
+| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 |
++-----+------------------------------------+-------+
+```
diff --git a/fixtures/Kernel.Score.Markdown.expected b/fixtures/Kernel.Score.Markdown.expected
new file mode 100644
index 0000000..3a8d853
--- /dev/null
+++ b/fixtures/Kernel.Score.Markdown.expected
@@ -0,0 +1,13 @@
+# Top 3 Score's by Kernel
+
+Score is calculated by combining all other metrics.
+
+```
++-----+------------------------------------+-------+
+| Pos | Kernel | Score |
++-----+------------------------------------+-------+
+| 1. | Linux 3.2.0-4-amd64 | 241 |
+| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 |
+| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 |
++-----+------------------------------------+-------+
+```
diff --git a/fixtures/Kernel.Score.Plaintext.expected b/fixtures/Kernel.Score.Plaintext.expected
new file mode 100644
index 0000000..d953d0f
--- /dev/null
+++ b/fixtures/Kernel.Score.Plaintext.expected
@@ -0,0 +1,11 @@
+Top 3 Score's by Kernel
+
+Score is calculated by combining all other metrics.
+
++-----+------------------------------------+-------+
+| Pos | Kernel | Score |
++-----+------------------------------------+-------+
+| 1. | Linux 3.2.0-4-amd64 | 241 |
+| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 |
+| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 |
++-----+------------------------------------+-------+
diff --git a/fixtures/OS.Uptime.Gemtext.expected b/fixtures/Kernel.Uptime.Gemtext.expected
index c7ecf26..47d9d69 100644
--- a/fixtures/OS.Uptime.Gemtext.expected
+++ b/fixtures/Kernel.Uptime.Gemtext.expected
@@ -1,8 +1,10 @@
-# Top 3 Uptime's by OS:
+# Top 3 Uptime's by Kernel
+
+Uptime is the total uptime of a host over the entire lifespan.
```
+-----+------------------------------------+-----------------------------+
-| Pos | OS | Uptime |
+| Pos | Kernel | Uptime |
+-----+------------------------------------+-----------------------------+
| 1. | Linux 3.2.0-4-amd64 | 3 years, 5 months, 23 days |
| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 1 years, 12 months, 15 days |
diff --git a/fixtures/OS.Uptime.Markdown.expected b/fixtures/Kernel.Uptime.Markdown.expected
index c7ecf26..47d9d69 100644
--- a/fixtures/OS.Uptime.Markdown.expected
+++ b/fixtures/Kernel.Uptime.Markdown.expected
@@ -1,8 +1,10 @@
-# Top 3 Uptime's by OS:
+# Top 3 Uptime's by Kernel
+
+Uptime is the total uptime of a host over the entire lifespan.
```
+-----+------------------------------------+-----------------------------+
-| Pos | OS | Uptime |
+| Pos | Kernel | Uptime |
+-----+------------------------------------+-----------------------------+
| 1. | Linux 3.2.0-4-amd64 | 3 years, 5 months, 23 days |
| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 1 years, 12 months, 15 days |
diff --git a/fixtures/OS.Uptime.Plaintext.expected b/fixtures/Kernel.Uptime.Plaintext.expected
index 1abf9e0..5c5eb52 100644
--- a/fixtures/OS.Uptime.Plaintext.expected
+++ b/fixtures/Kernel.Uptime.Plaintext.expected
@@ -1,7 +1,9 @@
-Top 3 Uptime's by OS:
+Top 3 Uptime's by Kernel
+
+Uptime is the total uptime of a host over the entire lifespan.
+-----+------------------------------------+-----------------------------+
-| Pos | OS | Uptime |
+| Pos | Kernel | Uptime |
+-----+------------------------------------+-----------------------------+
| 1. | Linux 3.2.0-4-amd64 | 3 years, 5 months, 23 days |
| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 1 years, 12 months, 15 days |
diff --git a/fixtures/OSMajor.Boots.Gemtext.expected b/fixtures/KernelMajor.Boots.Gemtext.expected
index 821d037..a629b9f 100644
--- a/fixtures/OSMajor.Boots.Gemtext.expected
+++ b/fixtures/KernelMajor.Boots.Gemtext.expected
@@ -1,8 +1,10 @@
-# Top 3 Boots's by OSMajor:
+# Top 3 Boots's by KernelMajor
+
+Boots is the total number of host boots over the entire lifespan.
```
+-----+----------------+-------+
-| Pos | OSMajor | Boots |
+| Pos | KernelMajor | Boots |
+-----+----------------+-------+
| 1. | FreeBSD 10... | 551 |
| 2. | *Linux 3... | 410 |
diff --git a/fixtures/OSMajor.Boots.Markdown.expected b/fixtures/KernelMajor.Boots.Markdown.expected
index 821d037..a629b9f 100644
--- a/fixtures/OSMajor.Boots.Markdown.expected
+++ b/fixtures/KernelMajor.Boots.Markdown.expected
@@ -1,8 +1,10 @@
-# Top 3 Boots's by OSMajor:
+# Top 3 Boots's by KernelMajor
+
+Boots is the total number of host boots over the entire lifespan.
```
+-----+----------------+-------+
-| Pos | OSMajor | Boots |
+| Pos | KernelMajor | Boots |
+-----+----------------+-------+
| 1. | FreeBSD 10... | 551 |
| 2. | *Linux 3... | 410 |
diff --git a/fixtures/OSMajor.Boots.Plaintext.expected b/fixtures/KernelMajor.Boots.Plaintext.expected
index 6e05f99..89bb3ec 100644
--- a/fixtures/OSMajor.Boots.Plaintext.expected
+++ b/fixtures/KernelMajor.Boots.Plaintext.expected
@@ -1,7 +1,11 @@
-Top 3 Boots's by OSMajor:
+Top 3 Boots's by KernelMajor
+
+ Boots is the total number of
+host boots over the entire
+lifespan.
+-----+----------------+-------+
-| Pos | OSMajor | Boots |
+| Pos | KernelMajor | Boots |
+-----+----------------+-------+
| 1. | FreeBSD 10... | 551 |
| 2. | *Linux 3... | 410 |
diff --git a/fixtures/KernelMajor.Score.Gemtext.expected b/fixtures/KernelMajor.Score.Gemtext.expected
new file mode 100644
index 0000000..4d55121
--- /dev/null
+++ b/fixtures/KernelMajor.Score.Gemtext.expected
@@ -0,0 +1,13 @@
+# Top 3 Score's by KernelMajor
+
+Score is calculated by combining all other metrics.
+
+```
++-----+----------------+-------+
+| Pos | KernelMajor | Score |
++-----+----------------+-------+
+| 1. | *Linux 3... | 739 |
+| 2. | FreeBSD 10... | 406 |
+| 3. | Linux 5... | 268 |
++-----+----------------+-------+
+```
diff --git a/fixtures/KernelMajor.Score.Markdown.expected b/fixtures/KernelMajor.Score.Markdown.expected
new file mode 100644
index 0000000..4d55121
--- /dev/null
+++ b/fixtures/KernelMajor.Score.Markdown.expected
@@ -0,0 +1,13 @@
+# Top 3 Score's by KernelMajor
+
+Score is calculated by combining all other metrics.
+
+```
++-----+----------------+-------+
+| Pos | KernelMajor | Score |
++-----+----------------+-------+
+| 1. | *Linux 3... | 739 |
+| 2. | FreeBSD 10... | 406 |
+| 3. | Linux 5... | 268 |
++-----+----------------+-------+
+```
diff --git a/fixtures/KernelMajor.Score.Plaintext.expected b/fixtures/KernelMajor.Score.Plaintext.expected
new file mode 100644
index 0000000..2e41512
--- /dev/null
+++ b/fixtures/KernelMajor.Score.Plaintext.expected
@@ -0,0 +1,12 @@
+Top 3 Score's by KernelMajor
+
+ Score is calculated by combining
+all other metrics.
+
++-----+----------------+-------+
+| Pos | KernelMajor | Score |
++-----+----------------+-------+
+| 1. | *Linux 3... | 739 |
+| 2. | FreeBSD 10... | 406 |
+| 3. | Linux 5... | 268 |
++-----+----------------+-------+
diff --git a/fixtures/OSMajor.Uptime.Gemtext.expected b/fixtures/KernelMajor.Uptime.Gemtext.expected
index eb1e2ac..2b2da6a 100644
--- a/fixtures/OSMajor.Uptime.Gemtext.expected
+++ b/fixtures/KernelMajor.Uptime.Gemtext.expected
@@ -1,8 +1,10 @@
-# Top 3 Uptime's by OSMajor:
+# Top 3 Uptime's by KernelMajor
+
+Uptime is the total uptime of a host over the entire lifespan.
```
+-----+----------------+-----------------------------+
-| Pos | OSMajor | Uptime |
+| Pos | KernelMajor | Uptime |
+-----+----------------+-----------------------------+
| 1. | *Linux 3... | 11 years, 2 months, 11 days |
| 2. | FreeBSD 10... | 5 years, 9 months, 9 days |
diff --git a/fixtures/OSMajor.Uptime.Markdown.expected b/fixtures/KernelMajor.Uptime.Markdown.expected
index eb1e2ac..2b2da6a 100644
--- a/fixtures/OSMajor.Uptime.Markdown.expected
+++ b/fixtures/KernelMajor.Uptime.Markdown.expected
@@ -1,8 +1,10 @@
-# Top 3 Uptime's by OSMajor:
+# Top 3 Uptime's by KernelMajor
+
+Uptime is the total uptime of a host over the entire lifespan.
```
+-----+----------------+-----------------------------+
-| Pos | OSMajor | Uptime |
+| Pos | KernelMajor | Uptime |
+-----+----------------+-----------------------------+
| 1. | *Linux 3... | 11 years, 2 months, 11 days |
| 2. | FreeBSD 10... | 5 years, 9 months, 9 days |
diff --git a/fixtures/OSMajor.Uptime.Plaintext.expected b/fixtures/KernelMajor.Uptime.Plaintext.expected
index 8addd79..a075ef7 100644
--- a/fixtures/OSMajor.Uptime.Plaintext.expected
+++ b/fixtures/KernelMajor.Uptime.Plaintext.expected
@@ -1,7 +1,10 @@
-Top 3 Uptime's by OSMajor:
+Top 3 Uptime's by KernelMajor
+
+ Uptime is the total uptime of a host over the entire
+lifespan.
+-----+----------------+-----------------------------+
-| Pos | OSMajor | Uptime |
+| Pos | KernelMajor | Uptime |
+-----+----------------+-----------------------------+
| 1. | *Linux 3... | 11 years, 2 months, 11 days |
| 2. | FreeBSD 10... | 5 years, 9 months, 9 days |
diff --git a/fixtures/KernelName.Boots.Gemtext.expected b/fixtures/KernelName.Boots.Gemtext.expected
new file mode 100644
index 0000000..70aa723
--- /dev/null
+++ b/fixtures/KernelName.Boots.Gemtext.expected
@@ -0,0 +1,13 @@
+# Top 3 Boots's by KernelName
+
+Boots is the total number of host boots over the entire lifespan.
+
+```
++-----+------------+-------+
+| Pos | KernelName | Boots |
++-----+------------+-------+
+| 1. | *FreeBSD | 872 |
+| 2. | *Linux | 867 |
+| 3. | *OpenBSD | 44 |
++-----+------------+-------+
+```
diff --git a/fixtures/KernelName.Boots.Markdown.expected b/fixtures/KernelName.Boots.Markdown.expected
new file mode 100644
index 0000000..70aa723
--- /dev/null
+++ b/fixtures/KernelName.Boots.Markdown.expected
@@ -0,0 +1,13 @@
+# Top 3 Boots's by KernelName
+
+Boots is the total number of host boots over the entire lifespan.
+
+```
++-----+------------+-------+
+| Pos | KernelName | Boots |
++-----+------------+-------+
+| 1. | *FreeBSD | 872 |
+| 2. | *Linux | 867 |
+| 3. | *OpenBSD | 44 |
++-----+------------+-------+
+```
diff --git a/fixtures/KernelName.Boots.Plaintext.expected b/fixtures/KernelName.Boots.Plaintext.expected
new file mode 100644
index 0000000..69ffcd9
--- /dev/null
+++ b/fixtures/KernelName.Boots.Plaintext.expected
@@ -0,0 +1,13 @@
+Top 3 Boots's by KernelName
+
+ Boots is the total number of
+host boots over the entire
+lifespan.
+
++-----+------------+-------+
+| Pos | KernelName | Boots |
++-----+------------+-------+
+| 1. | *FreeBSD | 872 |
+| 2. | *Linux | 867 |
+| 3. | *OpenBSD | 44 |
++-----+------------+-------+
diff --git a/fixtures/KernelName.Score.Gemtext.expected b/fixtures/KernelName.Score.Gemtext.expected
new file mode 100644
index 0000000..e60d12b
--- /dev/null
+++ b/fixtures/KernelName.Score.Gemtext.expected
@@ -0,0 +1,13 @@
+# Top 3 Score's by KernelName
+
+Score is calculated by combining all other metrics.
+
+```
++-----+------------+-------+
+| Pos | KernelName | Score |
++-----+------------+-------+
+| 1. | *Linux | 1295 |
+| 2. | *FreeBSD | 703 |
+| 3. | *OpenBSD | 198 |
++-----+------------+-------+
+```
diff --git a/fixtures/KernelName.Score.Markdown.expected b/fixtures/KernelName.Score.Markdown.expected
new file mode 100644
index 0000000..e60d12b
--- /dev/null
+++ b/fixtures/KernelName.Score.Markdown.expected
@@ -0,0 +1,13 @@
+# Top 3 Score's by KernelName
+
+Score is calculated by combining all other metrics.
+
+```
++-----+------------+-------+
+| Pos | KernelName | Score |
++-----+------------+-------+
+| 1. | *Linux | 1295 |
+| 2. | *FreeBSD | 703 |
+| 3. | *OpenBSD | 198 |
++-----+------------+-------+
+```
diff --git a/fixtures/KernelName.Score.Plaintext.expected b/fixtures/KernelName.Score.Plaintext.expected
new file mode 100644
index 0000000..021f7e8
--- /dev/null
+++ b/fixtures/KernelName.Score.Plaintext.expected
@@ -0,0 +1,12 @@
+Top 3 Score's by KernelName
+
+ Score is calculated by
+combining all other metrics.
+
++-----+------------+-------+
+| Pos | KernelName | Score |
++-----+------------+-------+
+| 1. | *Linux | 1295 |
+| 2. | *FreeBSD | 703 |
+| 3. | *OpenBSD | 198 |
++-----+------------+-------+
diff --git a/fixtures/KernelName.Uptime.Gemtext.expected b/fixtures/KernelName.Uptime.Gemtext.expected
new file mode 100644
index 0000000..c3ce21a
--- /dev/null
+++ b/fixtures/KernelName.Uptime.Gemtext.expected
@@ -0,0 +1,13 @@
+# Top 3 Uptime's by KernelName
+
+Uptime is the total uptime of a host over the entire lifespan.
+
+```
++-----+------------+-----------------------------+
+| Pos | KernelName | Uptime |
++-----+------------+-----------------------------+
+| 1. | *Linux | 19 years, 4 months, 18 days |
+| 2. | *FreeBSD | 9 years, 11 months, 29 days |
+| 3. | *OpenBSD | 3 years, 1 months, 18 days |
++-----+------------+-----------------------------+
+```
diff --git a/fixtures/KernelName.Uptime.Markdown.expected b/fixtures/KernelName.Uptime.Markdown.expected
new file mode 100644
index 0000000..c3ce21a
--- /dev/null
+++ b/fixtures/KernelName.Uptime.Markdown.expected
@@ -0,0 +1,13 @@
+# Top 3 Uptime's by KernelName
+
+Uptime is the total uptime of a host over the entire lifespan.
+
+```
++-----+------------+-----------------------------+
+| Pos | KernelName | Uptime |
++-----+------------+-----------------------------+
+| 1. | *Linux | 19 years, 4 months, 18 days |
+| 2. | *FreeBSD | 9 years, 11 months, 29 days |
+| 3. | *OpenBSD | 3 years, 1 months, 18 days |
++-----+------------+-----------------------------+
+```
diff --git a/fixtures/KernelName.Uptime.Plaintext.expected b/fixtures/KernelName.Uptime.Plaintext.expected
new file mode 100644
index 0000000..a64c609
--- /dev/null
+++ b/fixtures/KernelName.Uptime.Plaintext.expected
@@ -0,0 +1,12 @@
+Top 3 Uptime's by KernelName
+
+ Uptime is the total uptime of a host over the
+entire lifespan.
+
++-----+------------+-----------------------------+
+| Pos | KernelName | Uptime |
++-----+------------+-----------------------------+
+| 1. | *Linux | 19 years, 4 months, 18 days |
+| 2. | *FreeBSD | 9 years, 11 months, 29 days |
+| 3. | *OpenBSD | 3 years, 1 months, 18 days |
++-----+------------+-----------------------------+
diff --git a/fixtures/OS.MetaScore.Gemtext.expected b/fixtures/OS.MetaScore.Gemtext.expected
deleted file mode 100644
index ee5f9a8..0000000
--- a/fixtures/OS.MetaScore.Gemtext.expected
+++ /dev/null
@@ -1,11 +0,0 @@
-# Top 3 MetaScore's by OS:
-
-```
-+-----+------------------------------------+-----------+
-| Pos | OS | MetaScore |
-+-----+------------------------------------+-----------+
-| 1. | Linux 3.2.0-4-amd64 | 241 |
-| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 |
-| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 |
-+-----+------------------------------------+-----------+
-```
diff --git a/fixtures/OS.MetaScore.Markdown.expected b/fixtures/OS.MetaScore.Markdown.expected
deleted file mode 100644
index ee5f9a8..0000000
--- a/fixtures/OS.MetaScore.Markdown.expected
+++ /dev/null
@@ -1,11 +0,0 @@
-# Top 3 MetaScore's by OS:
-
-```
-+-----+------------------------------------+-----------+
-| Pos | OS | MetaScore |
-+-----+------------------------------------+-----------+
-| 1. | Linux 3.2.0-4-amd64 | 241 |
-| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 |
-| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 |
-+-----+------------------------------------+-----------+
-```
diff --git a/fixtures/OS.MetaScore.Plaintext.expected b/fixtures/OS.MetaScore.Plaintext.expected
deleted file mode 100644
index c65f4b5..0000000
--- a/fixtures/OS.MetaScore.Plaintext.expected
+++ /dev/null
@@ -1,9 +0,0 @@
-Top 3 MetaScore's by OS:
-
-+-----+------------------------------------+-----------+
-| Pos | OS | MetaScore |
-+-----+------------------------------------+-----------+
-| 1. | Linux 3.2.0-4-amd64 | 241 |
-| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 |
-| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 |
-+-----+------------------------------------+-----------+
diff --git a/fixtures/OSMajor.MetaScore.Gemtext.expected b/fixtures/OSMajor.MetaScore.Gemtext.expected
deleted file mode 100644
index a6eb546..0000000
--- a/fixtures/OSMajor.MetaScore.Gemtext.expected
+++ /dev/null
@@ -1,11 +0,0 @@
-# Top 3 MetaScore's by OSMajor:
-
-```
-+-----+----------------+-----------+
-| Pos | OSMajor | MetaScore |
-+-----+----------------+-----------+
-| 1. | *Linux 3... | 739 |
-| 2. | FreeBSD 10... | 406 |
-| 3. | Linux 5... | 268 |
-+-----+----------------+-----------+
-```
diff --git a/fixtures/OSMajor.MetaScore.Markdown.expected b/fixtures/OSMajor.MetaScore.Markdown.expected
deleted file mode 100644
index a6eb546..0000000
--- a/fixtures/OSMajor.MetaScore.Markdown.expected
+++ /dev/null
@@ -1,11 +0,0 @@
-# Top 3 MetaScore's by OSMajor:
-
-```
-+-----+----------------+-----------+
-| Pos | OSMajor | MetaScore |
-+-----+----------------+-----------+
-| 1. | *Linux 3... | 739 |
-| 2. | FreeBSD 10... | 406 |
-| 3. | Linux 5... | 268 |
-+-----+----------------+-----------+
-```
diff --git a/fixtures/OSMajor.MetaScore.Plaintext.expected b/fixtures/OSMajor.MetaScore.Plaintext.expected
deleted file mode 100644
index a1e68d6..0000000
--- a/fixtures/OSMajor.MetaScore.Plaintext.expected
+++ /dev/null
@@ -1,9 +0,0 @@
-Top 3 MetaScore's by OSMajor:
-
-+-----+----------------+-----------+
-| Pos | OSMajor | MetaScore |
-+-----+----------------+-----------+
-| 1. | *Linux 3... | 739 |
-| 2. | FreeBSD 10... | 406 |
-| 3. | Linux 5... | 268 |
-+-----+----------------+-----------+
diff --git a/fixtures/Uname.MetaScore.Gemtext.expected b/fixtures/Uname.MetaScore.Gemtext.expected
deleted file mode 100644
index a859ae6..0000000
--- a/fixtures/Uname.MetaScore.Gemtext.expected
+++ /dev/null
@@ -1,11 +0,0 @@
-# Top 3 MetaScore's by Uname:
-
-```
-+-----+----------+-----------+
-| Pos | Uname | MetaScore |
-+-----+----------+-----------+
-| 1. | *Linux | 1295 |
-| 2. | *FreeBSD | 703 |
-| 3. | *OpenBSD | 198 |
-+-----+----------+-----------+
-```
diff --git a/fixtures/Uname.MetaScore.Markdown.expected b/fixtures/Uname.MetaScore.Markdown.expected
deleted file mode 100644
index a859ae6..0000000
--- a/fixtures/Uname.MetaScore.Markdown.expected
+++ /dev/null
@@ -1,11 +0,0 @@
-# Top 3 MetaScore's by Uname:
-
-```
-+-----+----------+-----------+
-| Pos | Uname | MetaScore |
-+-----+----------+-----------+
-| 1. | *Linux | 1295 |
-| 2. | *FreeBSD | 703 |
-| 3. | *OpenBSD | 198 |
-+-----+----------+-----------+
-```
diff --git a/fixtures/Uname.MetaScore.Plaintext.expected b/fixtures/Uname.MetaScore.Plaintext.expected
deleted file mode 100644
index edebbd0..0000000
--- a/fixtures/Uname.MetaScore.Plaintext.expected
+++ /dev/null
@@ -1,9 +0,0 @@
-Top 3 MetaScore's by Uname:
-
-+-----+----------+-----------+
-| Pos | Uname | MetaScore |
-+-----+----------+-----------+
-| 1. | *Linux | 1295 |
-| 2. | *FreeBSD | 703 |
-| 3. | *OpenBSD | 198 |
-+-----+----------+-----------+
diff --git a/guprecords.raku b/guprecords.raku
index d7f925e..646ec11 100644
--- a/guprecords.raku
+++ b/guprecords.raku
@@ -2,11 +2,19 @@
use v6.d;
-enum Category <Host OS OSMajor Uname>;
-enum Metric <Boots Uptime MetaScore Downtime Lifespan>;
+enum Category <Host Kernel KernelMajor KernelName>;
+enum Metric <Boots Uptime Score Downtime Lifespan>;
enum OutputFormat <Plaintext Markdown Gemtext>;
subset MetricSubset of Metric where * ne any (Downtime, Lifespan);
+our constant %DESCRIPTION = {
+ Boots => 'Boots is the total number of host boots over the entire lifespan.',
+ Uptime => 'Uptime is the total uptime of a host over the entire lifespan.',
+ Downtime => 'Downtime is the total downtime of a host over the entire lifespan.',
+ Lifespan => 'Lifespan is the total uptime + the total downtime of a host.',
+ Score => 'Score is calculated by combining all other metrics.',
+};
+
our UInt constant DAY = 1 * 24 * 3600;
our UInt constant MONTH = 30 * DAY;
@@ -63,7 +71,7 @@ class HostAggregate is Aggregate {
}
class Aggregator {
- has Hash %!aggregates = { Host => {}, OS => {}, Uname => {}, OSMajor => {} }
+ has Hash %!aggregates = { Host => {}, Kernel => {}, KernelName => {}, KernelMajor => {} }
has Str $.stats-dir is required;
submethod new (Str:D $stats-dir) { self.bless(:$stats-dir) }
@@ -88,36 +96,65 @@ class Aggregator {
my $uname = $os.split(' ').first;
my $os-major = "$uname {$os.split(' ')[1].split('.').first}...";
- %!aggregates<OS>{$os} //= Aggregate.new($os);
- %!aggregates<Uname>{$uname} //= Aggregate.new($uname);
- %!aggregates<OSMajor>{$os-major} //= Aggregate.new($os-major);
+ %!aggregates<Kernel>{$os} //= Aggregate.new($os);
+ %!aggregates<KernelName>{$uname} //= Aggregate.new($uname);
+ %!aggregates<KernelMajor>{$os-major} //= Aggregate.new($os-major);
- for %!aggregates<Host>{$host}, %!aggregates<OS>{$os},
- %!aggregates<Uname>{$uname}, %!aggregates<OSMajor>{$os-major} {
+ for %!aggregates<Host>{$host}, %!aggregates<Kernel>{$os},
+ %!aggregates<KernelName>{$uname}, %!aggregates<KernelMajor>{$os-major} {
.add-record(:$uptime, :$boot-time);
}
}
}
-class Reporter {
- has Hash %.aggregates is required;
+role OutputHelper {
has OutputFormat $.output-format is required;
- has UInt $.limit is required;
has UInt $.header-indent = 1;
+
+ method output-header {
+ ($.output-format ~~ any (Markdown, Gemtext)) ?? '#' x $.header-indent ~ ' ' !! ''
+ }
+
+ method output-trim(Str \str, UInt \line-limit) returns Str {
+ if $.output-format ~~ Plaintext and str.chars > line-limit {
+ return join '', gather {
+ my $chars = 0;
+ for str.split(' ') -> \word {
+ if ($chars += (word.chars + 1)) > line-limit {
+ take "\n" ~ word;
+ $chars = word.chars;
+ } else {
+ take ' ' ~ word;
+ }
+ }
+ }
+ }
+ return str;
+ }
+
+ method output-block {
+ ($.output-format ~~ any (Markdown, Gemtext)) ?? "```\n" !! ''
+ }
+}
+
+class Reporter does OutputHelper {
+ has Hash %.aggregates is required;
+ has UInt $.limit is required;
has Category $.category = Host;
has Metric $.metric is required;
method report returns Str {
join '', gather {
- take "{self!output-header}Top {$.limit} {$.metric}'s by {$.category}:\n\n";
-
with self!table -> (@table, %size) {
my \format = '|' ~ join '|',
" %{%size<count>}s ", " %{%size<name>}s ", " %{%size<value>}s ", "\n";
my \border = '+' ~ join '+',
'-' x (2+%size<count>), '-' x (2+%size<name>), '-' x (2+%size<value>), "\n";
- take self!output-block;
+ take "{self.output-header}Top {$.limit} {$.metric}'s by {$.category}\n\n";
+ take self.output-trim(%DESCRIPTION{$.metric}, border.chars), "\n\n";
+
+ take self.output-block;
take border;
take sprintf format, 'Pos', $.category, $.metric;
take border;
@@ -127,13 +164,13 @@ class Reporter {
}
take border;
- take self!output-block;
+ take self.output-block;
}
}
}
method !table returns List {
- my UInt $count = 0;
+ my $count = 0;
my @table;
# Initial table size
@@ -156,18 +193,9 @@ class Reporter {
return @table, %size;
}
-
- method !output-header {
- ($.output-format ~~ any (Markdown, Gemtext)) ?? '#' x $.header-indent ~ ' ' !! ''
- }
-
- method !output-block {
- ($.output-format ~~ any (Markdown, Gemtext)) ?? "```\n" !! ''
- }
-
multi method sort-by(Uptime) { self.sort-by: *.uptime }
multi method sort-by(Boots) { self.sort-by: *.boots }
- multi method sort-by(MetaScore) { self.sort-by: *.meta-score }
+ multi method sort-by(Score) { self.sort-by: *.meta-score }
multi method sort-by(Code:D $sort-by) {
%!aggregates{$!category}.values.sort(&$sort-by).reverse;
@@ -175,7 +203,7 @@ class Reporter {
multi method human-str(Uptime, Aggregate:D $what) { Epoch.new($what.uptime).human-duration }
multi method human-str(Boots, Aggregate:D $what) { $what.boots }
- multi method human-str(MetaScore, Aggregate:D $what) { $what.meta-score }
+ multi method human-str(Score, Aggregate:D $what) { $what.meta-score }
}
class HostReporter is Reporter {
@@ -186,10 +214,10 @@ class HostReporter is Reporter {
multi method human-str(Lifespan, Aggregate:D $what) { Epoch.new($what.lifespan).human-duration }
}
-multi sub MAIN(
+multi MAIN(
Str :$stats-dir is required, #= The uptimed raw record input dir.
- Category :$category = Host, #= The category, one of Host, OS, OSMajor, Uname [default: 'Host']
- Metric :$metric = Uptime, #= The metric, one of Boots, Uptime, MetaScore, Downtime, Lifespan
+ Category :$category = Host, #= The category, one of Host, Kernel, KernelMajor, KernelName [default: 'Host']
+ Metric :$metric = Uptime, #= The metric, one of Boots, Uptime, Score, Downtime, Lifespan
UInt :$limit = 20, #= Limit output to num of entries.
OutputFormat :$output-format = Plaintext, #= Output format.
) {
@@ -204,7 +232,7 @@ multi sub MAIN(
}
}
-multi sub MAIN(
+multi MAIN(
Str :$stats-dir is required,
Bool :$all, #= Generate all possible stats
UInt :$limit = 20,
@@ -224,7 +252,7 @@ multi sub MAIN(
}
}
-multi sub MAIN('test') {
+multi MAIN('test') {
use Test;
my @combs = gather {
@@ -243,6 +271,9 @@ multi sub MAIN('test') {
my \reporter = $category ~~ Host
?? HostReporter.new(:%aggregates, :$metric, :$limit, :$output-format)
!! Reporter.new(:%aggregates, :$category, :$metric, :$limit, :$output-format);
+ #my $fh = open "./fixtures/$category.$metric.$output-format.expected", :w;
+ #$fh.print(reporter.report);
+ #$fh.close;
is reporter.report, "./fixtures/$category.$metric.$output-format.expected".IO.slurp;
}