Add self-tests for the lzo-rle algorithm.

Signed-off-by: Hannah Pan <[email protected]>
---
 crypto/testmgr.c | 10 ++++++
 crypto/testmgr.h | 80 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 90 insertions(+)

diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 658a7eeebab2..c8a2fd96384d 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -4437,6 +4437,16 @@ static const struct alg_test_desc alg_test_descs[] = {
                                .decomp = __VECS(lzo_decomp_tv_template)
                        }
                }
+       }, {
+               .alg = "lzo-rle",
+               .test = alg_test_comp,
+               .fips_allowed = 1,
+               .suite = {
+                       .comp = {
+                               .comp = __VECS(lzorle_comp_tv_template),
+                               .decomp = __VECS(lzorle_decomp_tv_template)
+                       }
+               }
        }, {
                .alg = "md4",
                .test = alg_test_hash,
diff --git a/crypto/testmgr.h b/crypto/testmgr.h
index 1fdae5993bc3..e7f71df2386e 100644
--- a/crypto/testmgr.h
+++ b/crypto/testmgr.h
@@ -32454,6 +32454,86 @@ static const struct comp_testvec 
lzo_decomp_tv_template[] = {
        },
 };
 
+static const struct comp_testvec lzorle_comp_tv_template[] = {
+       {
+               .inlen  = 70,
+               .outlen = 59,
+               .input  = "Join us now and share the software "
+                       "Join us now and share the software ",
+               .output = "\x11\x01\x00\x0d\x4a\x6f\x69\x6e"
+                         "\x20\x75\x73\x20\x6e\x6f\x77\x20"
+                         "\x61\x6e\x64\x20\x73\x68\x61\x72"
+                         "\x65\x20\x74\x68\x65\x20\x73\x6f"
+                         "\x66\x74\x77\x70\x01\x32\x88\x00"
+                         "\x0c\x65\x20\x74\x68\x65\x20\x73"
+                         "\x6f\x66\x74\x77\x61\x72\x65\x20"
+                         "\x11\x00\x00",
+       }, {
+               .inlen  = 159,
+               .outlen = 133,
+               .input  = "This document describes a compression method based 
on the LZO "
+                       "compression algorithm.  This document defines the 
application of "
+                       "the LZO algorithm used in UBIFS.",
+               .output = "\x11\x01\x00\x2c\x54\x68\x69\x73"
+                         "\x20\x64\x6f\x63\x75\x6d\x65\x6e"
+                         "\x74\x20\x64\x65\x73\x63\x72\x69"
+                         "\x62\x65\x73\x20\x61\x20\x63\x6f"
+                         "\x6d\x70\x72\x65\x73\x73\x69\x6f"
+                         "\x6e\x20\x6d\x65\x74\x68\x6f\x64"
+                         "\x20\x62\x61\x73\x65\x64\x20\x6f"
+                         "\x6e\x20\x74\x68\x65\x20\x4c\x5a"
+                         "\x4f\x20\x2a\x8c\x00\x09\x61\x6c"
+                         "\x67\x6f\x72\x69\x74\x68\x6d\x2e"
+                         "\x20\x20\x2e\x54\x01\x03\x66\x69"
+                         "\x6e\x65\x73\x20\x74\x06\x05\x61"
+                         "\x70\x70\x6c\x69\x63\x61\x74\x76"
+                         "\x0a\x6f\x66\x88\x02\x60\x09\x27"
+                         "\xf0\x00\x0c\x20\x75\x73\x65\x64"
+                         "\x20\x69\x6e\x20\x55\x42\x49\x46"
+                         "\x53\x2e\x11\x00\x00",
+       },
+};
+
+static const struct comp_testvec lzorle_decomp_tv_template[] = {
+       {
+               .inlen  = 133,
+               .outlen = 159,
+               .input  = "\x00\x2b\x54\x68\x69\x73\x20\x64"
+                         "\x6f\x63\x75\x6d\x65\x6e\x74\x20"
+                         "\x64\x65\x73\x63\x72\x69\x62\x65"
+                         "\x73\x20\x61\x20\x63\x6f\x6d\x70"
+                         "\x72\x65\x73\x73\x69\x6f\x6e\x20"
+                         "\x6d\x65\x74\x68\x6f\x64\x20\x62"
+                         "\x61\x73\x65\x64\x20\x6f\x6e\x20"
+                         "\x74\x68\x65\x20\x4c\x5a\x4f\x2b"
+                         "\x8c\x00\x0d\x61\x6c\x67\x6f\x72"
+                         "\x69\x74\x68\x6d\x2e\x20\x20\x54"
+                         "\x68\x69\x73\x2a\x54\x01\x02\x66"
+                         "\x69\x6e\x65\x73\x94\x06\x05\x61"
+                         "\x70\x70\x6c\x69\x63\x61\x74\x76"
+                         "\x0a\x6f\x66\x88\x02\x60\x09\x27"
+                         "\xf0\x00\x0c\x20\x75\x73\x65\x64"
+                         "\x20\x69\x6e\x20\x55\x42\x49\x46"
+                         "\x53\x2e\x11\x00\x00",
+               .output = "This document describes a compression method based 
on the LZO "
+                       "compression algorithm.  This document defines the 
application of "
+                       "the LZO algorithm used in UBIFS.",
+       }, {
+               .inlen  = 59,
+               .outlen = 70,
+               .input  = "\x11\x01\x00\x0d\x4a\x6f\x69\x6e"
+                         "\x20\x75\x73\x20\x6e\x6f\x77\x20"
+                         "\x61\x6e\x64\x20\x73\x68\x61\x72"
+                         "\x65\x20\x74\x68\x65\x20\x73\x6f"
+                         "\x66\x74\x77\x70\x01\x32\x88\x00"
+                         "\x0c\x65\x20\x74\x68\x65\x20\x73"
+                         "\x6f\x66\x74\x77\x61\x72\x65\x20"
+                         "\x11\x00\x00",
+               .output = "Join us now and share the software "
+                       "Join us now and share the software ",
+       },
+};
+
 /*
  * Michael MIC test vectors from IEEE 802.11i
  */
-- 
2.22.0.410.gd8fdbe21b5-goog

Reply via email to