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