tree: 5c847e0c9dcdab5bbb4199e98b5e7dd3e6b9f055 [path history] [tgz]
  1. analysis/
  2. artificial-bzip2/
  3. artificial-deflate/
  4. artificial-gif/
  5. artificial-jpeg/
  6. artificial-png/
  7. artificial-thumbhash/
  8. artificial-xz-filter/
  9. non-ascii/
  10. 0.bytes
  11. 256.bytes
  12. 256.bytes.bz2
  13. 256.bytes.gz
  14. 256.bytes.two-concatenated-streams.xz
  15. abraca.txt
  16. abraca.txt.bz2
  17. animated-red-blue.000000.nie
  18. animated-red-blue.000001.nie
  19. animated-red-blue.000002.nie
  20. animated-red-blue.000003.nie
  21. animated-red-blue.apng
  22. animated-red-blue.gif
  23. animated-red-blue.nia
  24. archive.7z
  25. archive.cab
  26. archive.iso
  27. archive.password-is-asdf.zip
  28. archive.rar
  29. archive.tar
  30. archive.tar.bz2
  31. archive.tar.gz
  32. archive.zip
  33. australian-abc-local-stations.json
  34. australian-abc-local-stations.tokens
  35. bricks-color.bmp
  36. bricks-color.etc1.pkm
  37. bricks-color.etc1s.pkm
  38. bricks-color.etc2.pkm
  39. bricks-color.handsum
  40. bricks-color.jpeg
  41. bricks-color.lossless.webp
  42. bricks-color.lossy.webp
  43. bricks-color.png
  44. bricks-color.qoi
  45. bricks-color.tga
  46. bricks-color.tiff
  47. bricks-dither.bmp
  48. bricks-dither.gif
  49. bricks-dither.indexes
  50. bricks-dither.indexes.giflzw
  51. bricks-dither.lossless.webp
  52. bricks-dither.no-ancillary.png
  53. bricks-dither.palette
  54. bricks-dither.png
  55. bricks-gray.bmp
  56. bricks-gray.gif
  57. bricks-gray.indexes
  58. bricks-gray.indexes.giflzw
  59. bricks-gray.jpeg
  60. bricks-gray.lossless.webp
  61. bricks-gray.lossy.webp
  62. bricks-gray.no-ancillary.png
  63. bricks-gray.png
  64. bricks-gray.tga
  65. bricks-gray.tiff
  66. bricks-nodither.bmp
  67. bricks-nodither.gif
  68. bricks-nodither.indexes
  69. bricks-nodither.indexes.giflzw
  70. bricks-nodither.lossless.webp
  71. bricks-nodither.palette
  72. bricks-nodither.png
  73. bricks-nodither.tga
  74. bricks-nodither.wbmp
  75. cbor-rfc-7049-examples.cbor
  76. cbor-rfc-7049-examples.sans-comments.json
  77. cbor-rfc-7049-examples.tokens
  78. cbor-rfc-7049-examples.with-comments.json
  79. checkerboard.gamma1dot0.png
  80. checkerboard.gamma2dot2.png
  81. crude-flag.nia
  82. crude-flag.nie
  83. crude-flag.nii
  84. DCI-P3-D65.icc
  85. DCI-P3-D65.icc.zlib
  86. enwik5
  87. enwik5.block-size-32k.xz
  88. enwik5.lzma
  89. enwik5.lzma2-chunk-max-1-13.xz
  90. enwik5.xz
  91. file-sizes.json
  92. gifplayer-muybridge.gif
  93. github-tags.json
  94. harvesters.bmp
  95. harvesters.gif
  96. harvesters.jpeg
  97. harvesters.lossless.webp
  98. harvesters.lossy.webp
  99. harvesters.png
  100. harvesters.tiff
  101. hat.bmp
  102. hat.gif
  103. hat.jpeg
  104. hat.lossless.webp
  105. hat.lossy.webp
  106. hat.png
  107. hat.tiff
  108. hat.wbmp
  109. hello.sh
  110. hibiscus.primitive.bmp
  111. hibiscus.primitive.gif
  112. hibiscus.primitive.jpeg
  113. hibiscus.primitive.lossless.webp
  114. hibiscus.primitive.lossy.webp
  115. hibiscus.primitive.png
  116. hibiscus.primitive.svg
  117. hibiscus.primitive.tiff
  118. hibiscus.regular.bmp
  119. hibiscus.regular.gif
  120. hibiscus.regular.jpeg
  121. hibiscus.regular.lossless.webp
  122. hibiscus.regular.lossy.webp
  123. hibiscus.regular.png
  124. hibiscus.regular.tiff
  125. hippopotamus.bmp
  126. hippopotamus.interlaced.gif
  127. hippopotamus.interlaced.png
  128. hippopotamus.interlaced.truncated.gif
  129. hippopotamus.interlaced.truncated.png
  130. hippopotamus.jpeg
  131. hippopotamus.lossless.webp
  132. hippopotamus.lossy.webp
  133. hippopotamus.masked-with-muybridge.etc2.bgra-binary.pkm
  134. hippopotamus.masked-with-muybridge.etc2.bgra-nonpremul.pkm
  135. hippopotamus.masked-with-muybridge.gif
  136. hippopotamus.masked-with-muybridge.png
  137. hippopotamus.nie
  138. hippopotamus.pgm
  139. hippopotamus.ppm
  140. hippopotamus.regular.gif
  141. hippopotamus.regular.ico
  142. hippopotamus.regular.png
  143. hippopotamus.regular.truncated.png
  144. hippopotamus.tiff
  145. json-quirks.json
  146. json-quirks.tokens
  147. json-things.cbor
  148. json-things.formatted.json
  149. json-things.unformatted.json
  150. json-things.unformatted.tokens
  151. midsummer.txt
  152. midsummer.txt.bz2
  153. midsummer.txt.gz
  154. midsummer.txt.zlib
  155. mona-lisa.21x32.etc2.pkm
  156. mona-lisa.21x32.handsum
  157. mona-lisa.21x32.png
  158. mona-lisa.21x32.q50.jpeg
  159. mona-lisa.21x32.q90.jpeg
  160. mona-lisa.21x32.th
  161. muybridge-frame-000.indexes
  162. muybridge-frame-000.wbmp
  163. muybridge-frame-001.indexes
  164. muybridge-frame-002.indexes
  165. muybridge-frame-003.indexes
  166. muybridge-frame-004.indexes
  167. muybridge-frame-005.indexes
  168. muybridge-frame-006.indexes
  169. muybridge-frame-007.indexes
  170. muybridge-frame-008.indexes
  171. muybridge-frame-009.indexes
  172. muybridge-frame-010.indexes
  173. muybridge-frame-011.indexes
  174. muybridge-frame-012.indexes
  175. muybridge-frame-013.indexes
  176. muybridge-frame-014.indexes
  177. muybridge.apng
  178. muybridge.gif
  179. nobel-prizes.json
  180. peacock.default.jpeg
  181. peacock.default.truncated.decoded-by-djpeg.png
  182. peacock.default.truncated.decoded-by-wuffs.png
  183. peacock.default.truncated.jpeg
  184. peacock.grayscale.jpeg
  185. peacock.optimize.jpeg
  186. peacock.png
  187. peacock.ppm
  188. peacock.progressive.jpeg
  189. peacock.progressive.scan000.jpeg
  190. peacock.progressive.scan001.jpeg
  191. peacock.progressive.scan002.jpeg
  192. peacock.progressive.scan003.jpeg
  193. peacock.progressive.scan004.jpeg
  194. peacock.progressive.scan005.jpeg
  195. peacock.progressive.scan006.jpeg
  196. peacock.progressive.scan007.jpeg
  197. peacock.progressive.scan008.jpeg
  198. peacock.progressive.scan009.jpeg
  199. peacock.progressive.truncated.decoded-by-djpeg.png
  200. peacock.progressive.truncated.decoded-by-wuffs.png
  201. peacock.progressive.truncated.jpeg
  202. peacock.q30.jpeg
  203. peacock.q99.jpeg
  204. peacock.s-very-weird.jpeg
  205. peacock.s-weird.jpeg
  206. peacock.s1x1-444.jpeg
  207. peacock.s1x3.jpeg
  208. peacock.s2x1-422.jpeg
  209. peacock.s2x2-420.jpeg
  210. pi.txt
  211. pi.txt.bz2
  212. pi.txt.giflzw
  213. pi.txt.gz
  214. pi.txt.zlib
  215. pjw-thumbnail.bmp
  216. pjw-thumbnail.gif
  217. pjw-thumbnail.jpeg
  218. pjw-thumbnail.lossless.webp
  219. pjw-thumbnail.lossy.webp
  220. pjw-thumbnail.png
  221. pjw-thumbnail.tiff
  222. README.md
  223. red-blue-gradient.dcip3d65-no-chrm-no-gama.png
  224. red-blue-gradient.gamma1dot0.png
  225. red-blue-gradient.gamma1dot8.png
  226. red-blue-gradient.gamma2dot2.png
  227. red-blue-gradient.vanilla.png
  228. rfc-6901-json-pointer.json
  229. rgb24png.bmp
  230. ridiculously-fast.png
  231. romeo.txt
  232. romeo.txt.bz2
  233. romeo.txt.deflate
  234. romeo.txt.delta1.xz
  235. romeo.txt.fixed-huff.deflate
  236. romeo.txt.gz
  237. romeo.txt.litonlylzma
  238. romeo.txt.lz
  239. romeo.txt.lzma
  240. romeo.txt.xz
  241. romeo.txt.zlib
  242. romeo.txt.zst
  243. 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 *.pkm files were generated by the ETCPACK command line tool, except the *.etc1s.pkm files were generated by a custom etc1tool.

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.

enwik5 is the first 1e5 bytes of the enwik8 or enwik9 data, derived from the English Wikipedia as of 2006.

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.

mona-lisa.* is derived from a Wikimedia Commons photo of the Mona Lisa.

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

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

peacock.* is derived from this peacock (pavo cristatus) image, “available under the Creative Commons CC0 1.0 Universal Public Domain Dedication”:

  • wget --quiet https://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Pavo_Real_Venezolano.jpg/1024px-Pavo_Real_Venezolano.jpg
  • convert 1024px-Pavo_Real_Venezolano.jpg -resize 100x75 peacock.ppm
  • convert peacock.ppm peacock.png
  • rm 1024px-Pavo_Real_Venezolano.jpg
  • cjpeg peacock.ppm > peacock.default.jpeg
  • cjpeg -optimize peacock.ppm > peacock.optimize.jpeg
  • cjpeg -grayscale peacock.ppm > peacock.grayscale.jpeg
  • cjpeg -progressive peacock.ppm > peacock.progressive.jpeg
  • cjpeg -quality 30 peacock.ppm > peacock.q30.jpeg
  • cjpeg -quality 99 peacock.ppm > peacock.q99.jpeg
  • cjpeg -sample 2x2 peacock.ppm > peacock.s2x2-420.jpeg
  • cjpeg -sample 2x1 peacock.ppm > peacock.s2x1-422.jpeg
  • cjpeg -sample 1x1 peacock.ppm > peacock.s1x1-444.jpeg
  • cjpeg -sample 1x3 peacock.ppm > peacock.s1x3.jpeg
  • cjpeg -sample 2x2,2x1,1x1 peacock.ppm > peacock.s-weird.jpeg
  • cjpeg -sample 4x1,2x1,2x2 peacock.ppm > peacock.s-very-weird.jpeg
  • go run ../../script/truncate-progressive-jpeg.go peacock.progressive.jpeg

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”.

ridiculously-fast.png is a screenshot of a Richard Geldreich tweet from January 2022. It was lightly edited to darken the non-text areas.

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.