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


36.png and 49.png are simple, artificially generated images. The generation script is gen-36-49.go from https://github.com/nigeltao/etc2 and the 49.*.nie variants were generated from a customized version of that script.

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.