tree: 369b583dbe6f07c02156a88d24eee3ea8ee3df6d [path history] [tgz]
  1. analysis/
  2. artificial-bzip2/
  3. artificial-deflate/
  4. artificial-gif/
  5. artificial-png/
  6. non-ascii/
  7. 0.bytes
  8. 256.bytes
  9. 256.bytes.bz2
  10. 256.bytes.gz
  11. abraca.txt
  12. abraca.txt.bz2
  13. animated-red-blue.000000.nie
  14. animated-red-blue.000001.nie
  15. animated-red-blue.000002.nie
  16. animated-red-blue.000003.nie
  17. animated-red-blue.apng
  18. animated-red-blue.gif
  19. animated-red-blue.nia
  20. archive.7z
  21. archive.cab
  22. archive.iso
  23. archive.password-is-asdf.zip
  24. archive.rar
  25. archive.tar
  26. archive.tar.bz2
  27. archive.tar.gz
  28. archive.zip
  29. australian-abc-local-stations.json
  30. australian-abc-local-stations.tokens
  31. bricks-color.bmp
  32. bricks-color.jpeg
  33. bricks-color.lossless.webp
  34. bricks-color.lossy.webp
  35. bricks-color.png
  36. bricks-color.qoi
  37. bricks-color.tga
  38. bricks-color.tiff
  39. bricks-dither.bmp
  40. bricks-dither.gif
  41. bricks-dither.indexes
  42. bricks-dither.indexes.giflzw
  43. bricks-dither.lossless.webp
  44. bricks-dither.no-ancillary.png
  45. bricks-dither.palette
  46. bricks-dither.png
  47. bricks-gray.bmp
  48. bricks-gray.gif
  49. bricks-gray.indexes
  50. bricks-gray.indexes.giflzw
  51. bricks-gray.jpeg
  52. bricks-gray.lossless.webp
  53. bricks-gray.lossy.webp
  54. bricks-gray.no-ancillary.png
  55. bricks-gray.png
  56. bricks-gray.tga
  57. bricks-gray.tiff
  58. bricks-nodither.bmp
  59. bricks-nodither.gif
  60. bricks-nodither.indexes
  61. bricks-nodither.indexes.giflzw
  62. bricks-nodither.lossless.webp
  63. bricks-nodither.palette
  64. bricks-nodither.png
  65. bricks-nodither.tga
  66. bricks-nodither.wbmp
  67. cbor-rfc-7049-examples.cbor
  68. cbor-rfc-7049-examples.sans-comments.json
  69. cbor-rfc-7049-examples.tokens
  70. cbor-rfc-7049-examples.with-comments.json
  71. checkerboard.gamma1dot0.png
  72. checkerboard.gamma2dot2.png
  73. crude-flag.nia
  74. crude-flag.nie
  75. crude-flag.nii
  76. DCI-P3-D65.icc
  77. DCI-P3-D65.icc.zlib
  78. file-sizes.json
  79. gifplayer-muybridge.gif
  80. github-tags.json
  81. harvesters.bmp
  82. harvesters.gif
  83. harvesters.jpeg
  84. harvesters.lossless.webp
  85. harvesters.lossy.webp
  86. harvesters.png
  87. harvesters.tiff
  88. hat.bmp
  89. hat.gif
  90. hat.jpeg
  91. hat.lossless.webp
  92. hat.lossy.webp
  93. hat.png
  94. hat.tiff
  95. hat.wbmp
  96. hello.sh
  97. hibiscus.primitive.bmp
  98. hibiscus.primitive.gif
  99. hibiscus.primitive.jpeg
  100. hibiscus.primitive.lossless.webp
  101. hibiscus.primitive.lossy.webp
  102. hibiscus.primitive.png
  103. hibiscus.primitive.svg
  104. hibiscus.primitive.tiff
  105. hibiscus.regular.bmp
  106. hibiscus.regular.gif
  107. hibiscus.regular.jpeg
  108. hibiscus.regular.lossless.webp
  109. hibiscus.regular.lossy.webp
  110. hibiscus.regular.png
  111. hibiscus.regular.tiff
  112. hippopotamus.bmp
  113. hippopotamus.interlaced.gif
  114. hippopotamus.interlaced.png
  115. hippopotamus.interlaced.truncated.gif
  116. hippopotamus.interlaced.truncated.png
  117. hippopotamus.jpeg
  118. hippopotamus.lossless.webp
  119. hippopotamus.lossy.webp
  120. hippopotamus.masked-with-muybridge.gif
  121. hippopotamus.masked-with-muybridge.png
  122. hippopotamus.nie
  123. hippopotamus.regular.gif
  124. hippopotamus.regular.ico
  125. hippopotamus.regular.png
  126. hippopotamus.regular.truncated.png
  127. hippopotamus.tiff
  128. json-quirks.json
  129. json-quirks.tokens
  130. json-things.cbor
  131. json-things.formatted.json
  132. json-things.unformatted.json
  133. json-things.unformatted.tokens
  134. midsummer.txt
  135. midsummer.txt.bz2
  136. midsummer.txt.gz
  137. midsummer.txt.zlib
  138. muybridge-frame-000.indexes
  139. muybridge-frame-000.wbmp
  140. muybridge-frame-001.indexes
  141. muybridge-frame-002.indexes
  142. muybridge-frame-003.indexes
  143. muybridge-frame-004.indexes
  144. muybridge-frame-005.indexes
  145. muybridge-frame-006.indexes
  146. muybridge-frame-007.indexes
  147. muybridge-frame-008.indexes
  148. muybridge-frame-009.indexes
  149. muybridge-frame-010.indexes
  150. muybridge-frame-011.indexes
  151. muybridge-frame-012.indexes
  152. muybridge-frame-013.indexes
  153. muybridge-frame-014.indexes
  154. muybridge.apng
  155. muybridge.gif
  156. nobel-prizes.json
  157. pi.txt
  158. pi.txt.bz2
  159. pi.txt.giflzw
  160. pi.txt.gz
  161. pi.txt.zlib
  162. pjw-thumbnail.bmp
  163. pjw-thumbnail.gif
  164. pjw-thumbnail.jpeg
  165. pjw-thumbnail.lossless.webp
  166. pjw-thumbnail.lossy.webp
  167. pjw-thumbnail.png
  168. pjw-thumbnail.tiff
  169. README.md
  170. red-blue-gradient.dcip3d65-no-chrm-no-gama.png
  171. red-blue-gradient.gamma1dot0.png
  172. red-blue-gradient.gamma1dot8.png
  173. red-blue-gradient.gamma2dot2.png
  174. red-blue-gradient.vanilla.png
  175. rfc-6901-json-pointer.json
  176. rgb24png.bmp
  177. romeo.txt
  178. romeo.txt.bz2
  179. romeo.txt.deflate
  180. romeo.txt.fixed-huff.deflate
  181. romeo.txt.gz
  182. romeo.txt.litonlylzma
  183. romeo.txt.lzma
  184. romeo.txt.xz
  185. romeo.txt.zlib
  186. romeo.txt.zst
  187. sheep-more.rac
test/data/README.md

Unless otherwise noted, the *.gzfiles were generated by the gzip command line tool and the *.deflate and *.zlib versions were then generated by script/extract-deflate-offsets.go. Similarly, the *.giflzw files were generated by script/extract-giflzw.go and the *.palette and *.indexes files were generated by script/extract-palette-indexes.go. The *.tokens files were generated by script/print-json-token-debug-format.c.

The *.jpeg files are usually the canonical versions of the test/data images, and other versions (*.bmp, *.gif, *.png etc) were usually generated by ImageMagick's convert command line tool. The *.wbmp versions were generated by the script/convert-png-to-wbmp.go command line tool. The *.webp versions were generated by the cwebp command line tool. The *.no-ancillary.png files were generated by the script/strip-png-ancillary-chunks.go command line tool. The *.qoi files were generated by the qoiconv command line tool.

The *.apng files were generated by gif2apng. Those with finite animation loop counts were manually patched to correct for a gif2apng bug. https://bugs.chromium.org/p/chromium/issues/detail?id=592735 argues that GIF and APNG/WEBP have different semantics but gif2apng does not cater for that.


The artificial-* directories hold artificially generated test data, often to explicitly test corner cases of various file formats. The files there usually come in families whose names have a common prefix, such as three files foo.bar, foo.bar.qux, foo.bar.commentary.txt all prefixed by foo.bar. The file whose name is that prefix is usually the canonical (typically hand-crafted) file, and the other files are then derived from that. Outside of the artificial-* directories, the other files in this directory are typically real world examples of various file formats, or deriviations of them.


The non-ascii directory holds trivial UTF-8 (but not ASCII) text files.


DCI-P3-D65.icc comes from color.org. DCI-P3-D65.icc.zlib is a zlib-compresion of that, created by Go's standard library.

archive.* archives a subset of other files in this directory.

animated-red-blue.gif is an original animation by Nigel Tao nigeltao@golang.org. animated-red-blue.nia and animated-red-blue.*.nie were then generated by example/convert-to-nia and script/extract-nia-frames.go.

australian-abc-local-stations.json was crawled from data.gov.au.

bricks-* are various encodings of an original photo by Nigel Tao nigeltao@golang.org.

cbor-rfc-7049-examples.cbor is the concatenated examples from RFC 7049. The cbor-rfc-7049-examples.*.json files were then generated by example/cbor-to-json.

checkerboard.*.png was generated by script/make-red-blue-gradient.go.

crude-flag.* is an original animation by Nigel Tao nigeltao@golang.org. See the lib/nie documentation.

file-sizes.json was created by running script/print-file-sizes-json.go in this repository's root directory.

gifplayer-muybridge.gif is an original animation by Nigel Tao nigeltao@golang.org.

harvesters.* are various encodings of a photo of “The Harvesters” by Pieter Bruegel the Elder, held by the Metropolitan Museum of Art. www.metmuseum.org lists that image as in the public domain.

github-tags.json was crawled from api.github.com.

hat.* are various encodings of a photo of “Self-Portrait with a Straw Hat (obverse: The Potato Peeler)” by Vincent van Gogh, held by the Metropolitan Museum of art. www.metmuseum.org lists that image as in the public domain.

hello.sh is a trivial shell script.

hibiscus.regular.* are various encodings of a photo of “Hibiscus and Parrots” by Louis Comfort Tiffany, held by the Metropolitan Museum of Art. www.metmuseum.org lists that image as in the public domain.

hibiscus.primitive.* is the result of running the hibiscus.regular.png image through github.com/fogleman/primitive and other programs:

  • primitive -i hibiscus.regular.png -o hibiscus.primitive.svg -s 442 -n 32
  • inkscape -z -e hibiscus.primitive.png hibiscus.primitive.svg
  • Various invocations of convert and cwebp

hippopotamus.* are various encodings of a cropping of a photo of “Hippopotamus (William)”, held by the Metropolitan Museum of Art. www.metmuseum.org lists that image as in the public domain.

www.metmuseum.org says that “You are welcome to use images of artworks in The Met collection that the Museum believes to be in the public domain, or those to which the Museum waives any copyright it might have, for any purpose, including commercial and noncommercial use, free of charge and without requiring permission from the Museum.”

json-things.* are original JSON objects by Nigel Tao nigeltao@golang.org.

midsummer.txt is an excerpt of Shakespeare‘s "A Midsummer Night’s Dream", copied from shakespeare.mit.edu.

muybridge.gif is derived from en.wikipedia.org which is in the public domain.

nobel-prizes.json was crawled from api.nobelprize.org.

pi.txt contains the digits of pi.

pjw-thumbnail.* are various encodings of an image derived from an iconic, original photo of Peter J. Weinberger by Rob Pike r@golang.org.

red-blue-gradient.*.png was generated by script/make-red-blue-gradient.go.

rfc-6901-json-pointer.json is the example JSON document given in the RFC 6901 “JavaScript Object Notation (JSON) Pointer” specification.

rgb24png.bmp comes from BMP Suite, which states that its generated images “are in the public domain”.

romeo.txt is an excerpt of Shakespeare's “Romeo and Juliet”, copied from shakespeare.mit.edu.

romeo.txt.fixed-huff.deflate was derived from romeo.txt by a custom program to use fixed (not dynamic) Huffman tables for the deflate encoding.

sheep-more.rac is a RAC-compression of original text by Nigel Tao nigeltao@golang.org.