test: spl: Add a test for the NOR load method

Add a test for the NOR load method. Since NOR is memory-mapped we can
substitute a buffer instead. The only major complication is testing LZMA
decompression.  It's too complex to implement LZMA compression in a test, and we
have no in-tree compressor, so we just include some pre-compressed data. This
data was generated through something like

    generate_data(plain, plain_size, "lzma")
    cat plain.dat | lzma | hexdump -C

and was cleaned up further in my editor.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/include/test/spl.h b/include/test/spl.h
index 009c6b3..c1f6465 100644
--- a/include/test/spl.h
+++ b/include/test/spl.h
@@ -27,12 +27,14 @@
 /**
  * enum spl_test_image - Image types for testing
  * @LEGACY: "Legacy" uImages
+ * @LEGACY_LZMA: "Legacy" uImages, LZMA compressed
  * @IMX8: i.MX8 Container images
  * @FIT_INTERNAL: FITs with internal data
  * @FIT_EXTERNAL: FITs with external data
  */
 enum spl_test_image {
 	LEGACY,
+	LEGACY_LZMA,
 	IMX8,
 	FIT_INTERNAL,
 	FIT_EXTERNAL,
@@ -118,6 +120,9 @@
 static inline bool image_supported(enum spl_test_image type)
 {
 	switch (type) {
+	case LEGACY_LZMA:
+		if (!IS_ENABLED(CONFIG_SPL_LZMA))
+			return false;
 	case LEGACY:
 		return IS_ENABLED(CONFIG_SPL_LEGACY_IMAGE_FORMAT);
 	case IMX8: