prepare for garnix #81
Draft
Garnix CI / check ghc8107/checks/bech32:test:bech32-test [x86_64-linux]
succeeded
Jan 15, 2025 in 3s
Run results
Build succeeded
Details
Last 100 lines of logs:
1qzzfhee [✔]
tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sL5k7 [✔]
bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5 [✔]
Parsing human-readable parts from text
Known-good human readable parts parse correctly.
addr [✔]
ca [✔]
bc [✔]
tb [✔]
xprv [✔]
Known-bad human readable parts fail to parse.
鑫 [✔]
臥虎藏龍 [✔]
Characters are checked correctly for validity. [✔]
+++ OK, passed 100 tests:
52% no invalid characters
48% one or more invalid characters
Lengths are checked correctly. [✔]
+++ OK, passed 400 tests:
23.0% maximum length
21.0% too long
19.5% comfortably within bounds
18.2% minimum length
18.2% too short
More Encoding/Decoding Cases
length > maximum [✔]
hrp lowercased [✔]
Arbitrary Bech32String
Generation always produces a valid string that can be decoded. [✔]
+++ OK, passed 100 tests.
Arbitrary Bech32Char
Generation always produces a valid character. [✔]
+++ OK, passed 10000 tests:
53.93% is a data character: FALSE
46.07% is a data character: TRUE
Shrinking always produces valid characters. [✔]
+++ OK, passed 10000 tests.
Shrinking always produces characters with codes that are smaller. [✔]
+++ OK, passed 10000 tests.
Decoding a corrupted string should fail
Decoding fails when an adjacent pair of characters is swapped. [✔]
+++ OK, passed 10000 tests; 264 discarded.
Decoding fails when a character is omitted. [✔]
+++ OK, passed 10000 tests.
Decoding fails when a character is inserted. [✔]
+++ OK, passed 10000 tests:
94.51% inserted into the middle
2.80% inserted before the start
2.69% inserted after the end
Decoding fails when a single character is mutated. [✔]
+++ OK, passed 10000 tests; 161 discarded.
Decoding fails for an upper-case string with a lower-case character. [✔]
+++ OK, passed 10000 tests; 4844 discarded.
Decoding fails for a lower-case string with an upper-case character. [✔]
+++ OK, passed 10000 tests; 4844 discarded.
Roundtrip (encode . decode)
Can perform roundtrip for valid data [✔]
+++ OK, passed 100 tests.
Roundtrip (dataPartToBytes . dataPartFromBytes)
Can perform roundtrip base conversion [✔]
+++ OK, passed 100 tests.
Roundtrip (dataPartFromText . dataPartToText)
Can perform roundtrip conversion [✔]
+++ OK, passed 100 tests.
Roundtrip (dataPartFromWords . dataPartToWords)
Can perform roundtrip conversion [✔]
+++ OK, passed 100 tests.
Roundtrip (dataPartToWords . dataPartFromWords)
Can perform roundtrip conversion [✔]
+++ OK, passed 100 tests.
Roundtrip (humanReadablePartFromText . humanReadablePartToText)
Can perform roundtrip conversion [✔]
+++ OK, passed 100 tests.
Roundtrip (toBase256 . toBase32)
Can perform roundtrip base conversion [✔]
+++ OK, passed 100 tests.
Roundtrip (toBase32 . toBase256)
Can perform roundtrip base conversion [✔]
+++ OK, passed 100 tests; 311 discarded.
Roundtrip (dataCharToWord . dataCharFromWord)
can perform roundtrip character set conversion [✔]
+++ OK, passed 100 tests.
Constructors produce valid values
dataPartFromBytes [✔]
+++ OK, passed 100 tests.
dataPartFromText [✔]
+++ OK, passed 100 tests.
dataPartFromWords [✔]
+++ OK, passed 100 tests.
Conversion of word string from one word size to another
With identical word sizes, conversion is the identity transform [✔]
+++ OK, passed 100 tests.
With different word sizes, roundtripping preserves data [✔]
+++ OK, passed 100 tests.
Pointless test to trigger coverage on derived instances
Right (HumanReadablePart "ca") [✔]
Finished in 57.2237 seconds
63 examples, 0 failures
buildPhase completed in 57 seconds
Loading