@img/sharp-libvips-dev 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (656) hide show
  1. package/README.md +47 -0
  2. package/cplusplus/VConnection.cpp +151 -0
  3. package/cplusplus/VError.cpp +49 -0
  4. package/cplusplus/VImage.cpp +1548 -0
  5. package/cplusplus/VInterpolate.cpp +62 -0
  6. package/cplusplus/VRegion.cpp +27 -0
  7. package/cplusplus/index.js +1 -0
  8. package/cplusplus/vips-operators.cpp +3760 -0
  9. package/include/aom/aom.h +127 -0
  10. package/include/aom/aom_codec.h +573 -0
  11. package/include/aom/aom_decoder.h +257 -0
  12. package/include/aom/aom_encoder.h +1137 -0
  13. package/include/aom/aom_external_partition.h +452 -0
  14. package/include/aom/aom_frame_buffer.h +84 -0
  15. package/include/aom/aom_image.h +448 -0
  16. package/include/aom/aom_integer.h +68 -0
  17. package/include/aom/aomcx.h +2112 -0
  18. package/include/aom/aomdx.h +604 -0
  19. package/include/archive.h +1212 -0
  20. package/include/archive_entry.h +723 -0
  21. package/include/cairo/cairo-deprecated.h +123 -0
  22. package/include/cairo/cairo-features.h +29 -0
  23. package/include/cairo/cairo-ft.h +118 -0
  24. package/include/cairo/cairo-gobject.h +192 -0
  25. package/include/cairo/cairo-svg.h +130 -0
  26. package/include/cairo/cairo-version.h +8 -0
  27. package/include/cairo/cairo.h +3281 -0
  28. package/include/cgif.h +80 -0
  29. package/include/expat.h +1064 -0
  30. package/include/expat_config.h +140 -0
  31. package/include/expat_external.h +165 -0
  32. package/include/ffi.h +531 -0
  33. package/include/ffitarget.h +164 -0
  34. package/include/fontconfig/fcfreetype.h +59 -0
  35. package/include/fontconfig/fcprivate.h +134 -0
  36. package/include/fontconfig/fontconfig.h +1158 -0
  37. package/include/freetype2/freetype/config/ftconfig.h +51 -0
  38. package/include/freetype2/freetype/config/ftheader.h +836 -0
  39. package/include/freetype2/freetype/config/ftmodule.h +21 -0
  40. package/include/freetype2/freetype/config/ftoption.h +1014 -0
  41. package/include/freetype2/freetype/config/ftstdlib.h +185 -0
  42. package/include/freetype2/freetype/config/integer-types.h +250 -0
  43. package/include/freetype2/freetype/config/mac-support.h +49 -0
  44. package/include/freetype2/freetype/config/public-macros.h +138 -0
  45. package/include/freetype2/freetype/freetype.h +5337 -0
  46. package/include/freetype2/freetype/ftadvanc.h +188 -0
  47. package/include/freetype2/freetype/ftbbox.h +101 -0
  48. package/include/freetype2/freetype/ftbdf.h +212 -0
  49. package/include/freetype2/freetype/ftbitmap.h +329 -0
  50. package/include/freetype2/freetype/ftbzip2.h +102 -0
  51. package/include/freetype2/freetype/ftcache.h +1087 -0
  52. package/include/freetype2/freetype/ftchapters.h +168 -0
  53. package/include/freetype2/freetype/ftcid.h +167 -0
  54. package/include/freetype2/freetype/ftcolor.h +1667 -0
  55. package/include/freetype2/freetype/ftdriver.h +1246 -0
  56. package/include/freetype2/freetype/fterrdef.h +283 -0
  57. package/include/freetype2/freetype/fterrors.h +296 -0
  58. package/include/freetype2/freetype/ftfntfmt.h +93 -0
  59. package/include/freetype2/freetype/ftgasp.h +143 -0
  60. package/include/freetype2/freetype/ftglyph.h +750 -0
  61. package/include/freetype2/freetype/ftgxval.h +354 -0
  62. package/include/freetype2/freetype/ftgzip.h +151 -0
  63. package/include/freetype2/freetype/ftimage.h +1284 -0
  64. package/include/freetype2/freetype/ftincrem.h +348 -0
  65. package/include/freetype2/freetype/ftlcdfil.h +323 -0
  66. package/include/freetype2/freetype/ftlist.h +296 -0
  67. package/include/freetype2/freetype/ftlzw.h +100 -0
  68. package/include/freetype2/freetype/ftmac.h +289 -0
  69. package/include/freetype2/freetype/ftmm.h +805 -0
  70. package/include/freetype2/freetype/ftmodapi.h +807 -0
  71. package/include/freetype2/freetype/ftmoderr.h +204 -0
  72. package/include/freetype2/freetype/ftotval.h +206 -0
  73. package/include/freetype2/freetype/ftoutln.h +588 -0
  74. package/include/freetype2/freetype/ftparams.h +218 -0
  75. package/include/freetype2/freetype/ftpfr.h +179 -0
  76. package/include/freetype2/freetype/ftrender.h +244 -0
  77. package/include/freetype2/freetype/ftsizes.h +159 -0
  78. package/include/freetype2/freetype/ftsnames.h +272 -0
  79. package/include/freetype2/freetype/ftstroke.h +773 -0
  80. package/include/freetype2/freetype/ftsynth.h +104 -0
  81. package/include/freetype2/freetype/ftsystem.h +350 -0
  82. package/include/freetype2/freetype/fttrigon.h +350 -0
  83. package/include/freetype2/freetype/fttypes.h +617 -0
  84. package/include/freetype2/freetype/ftwinfnt.h +276 -0
  85. package/include/freetype2/freetype/otsvg.h +336 -0
  86. package/include/freetype2/freetype/t1tables.h +793 -0
  87. package/include/freetype2/freetype/ttnameid.h +1235 -0
  88. package/include/freetype2/freetype/tttables.h +855 -0
  89. package/include/freetype2/freetype/tttags.h +124 -0
  90. package/include/freetype2/ft2build.h +42 -0
  91. package/include/fribidi/fribidi-arabic.h +81 -0
  92. package/include/fribidi/fribidi-begindecls.h +3 -0
  93. package/include/fribidi/fribidi-bidi-types-list.h +96 -0
  94. package/include/fribidi/fribidi-bidi-types.h +405 -0
  95. package/include/fribidi/fribidi-bidi.h +142 -0
  96. package/include/fribidi/fribidi-brackets.h +89 -0
  97. package/include/fribidi/fribidi-char-sets-list.h +54 -0
  98. package/include/fribidi/fribidi-char-sets.h +106 -0
  99. package/include/fribidi/fribidi-common.h +152 -0
  100. package/include/fribidi/fribidi-config.h +23 -0
  101. package/include/fribidi/fribidi-deprecated.h +175 -0
  102. package/include/fribidi/fribidi-enddecls.h +3 -0
  103. package/include/fribidi/fribidi-flags.h +72 -0
  104. package/include/fribidi/fribidi-joining-types-list.h +44 -0
  105. package/include/fribidi/fribidi-joining-types.h +249 -0
  106. package/include/fribidi/fribidi-joining.h +74 -0
  107. package/include/fribidi/fribidi-mirroring.h +86 -0
  108. package/include/fribidi/fribidi-shape.h +71 -0
  109. package/include/fribidi/fribidi-types.h +79 -0
  110. package/include/fribidi/fribidi-unicode-version.h +10 -0
  111. package/include/fribidi/fribidi-unicode.h +105 -0
  112. package/include/fribidi/fribidi.h +129 -0
  113. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +221 -0
  114. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +37 -0
  115. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +525 -0
  116. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +40 -0
  117. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +115 -0
  118. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +481 -0
  119. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +113 -0
  120. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +718 -0
  121. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +33 -0
  122. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +70 -0
  123. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +168 -0
  124. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +46 -0
  125. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +165 -0
  126. package/include/gio-unix-2.0/gio/gdesktopappinfo.h +200 -0
  127. package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +67 -0
  128. package/include/gio-unix-2.0/gio/gunixfdmessage.h +86 -0
  129. package/include/gio-unix-2.0/gio/gunixinputstream.h +85 -0
  130. package/include/gio-unix-2.0/gio/gunixmounts.h +172 -0
  131. package/include/gio-unix-2.0/gio/gunixoutputstream.h +84 -0
  132. package/include/glib-2.0/gio/gaction.h +100 -0
  133. package/include/glib-2.0/gio/gactiongroup.h +163 -0
  134. package/include/glib-2.0/gio/gactiongroupexporter.h +47 -0
  135. package/include/glib-2.0/gio/gactionmap.h +101 -0
  136. package/include/glib-2.0/gio/gappinfo.h +369 -0
  137. package/include/glib-2.0/gio/gapplication.h +257 -0
  138. package/include/glib-2.0/gio/gapplicationcommandline.h +124 -0
  139. package/include/glib-2.0/gio/gasyncinitable.h +132 -0
  140. package/include/glib-2.0/gio/gasyncresult.h +87 -0
  141. package/include/glib-2.0/gio/gbufferedinputstream.h +135 -0
  142. package/include/glib-2.0/gio/gbufferedoutputstream.h +88 -0
  143. package/include/glib-2.0/gio/gbytesicon.h +54 -0
  144. package/include/glib-2.0/gio/gcancellable.h +120 -0
  145. package/include/glib-2.0/gio/gcharsetconverter.h +65 -0
  146. package/include/glib-2.0/gio/gcontenttype.h +84 -0
  147. package/include/glib-2.0/gio/gconverter.h +98 -0
  148. package/include/glib-2.0/gio/gconverterinputstream.h +82 -0
  149. package/include/glib-2.0/gio/gconverteroutputstream.h +82 -0
  150. package/include/glib-2.0/gio/gcredentials.h +87 -0
  151. package/include/glib-2.0/gio/gdatagrambased.h +146 -0
  152. package/include/glib-2.0/gio/gdatainputstream.h +182 -0
  153. package/include/glib-2.0/gio/gdataoutputstream.h +127 -0
  154. package/include/glib-2.0/gio/gdbusactiongroup.h +56 -0
  155. package/include/glib-2.0/gio/gdbusaddress.h +67 -0
  156. package/include/glib-2.0/gio/gdbusauthobserver.h +53 -0
  157. package/include/glib-2.0/gio/gdbusconnection.h +691 -0
  158. package/include/glib-2.0/gio/gdbuserror.h +111 -0
  159. package/include/glib-2.0/gio/gdbusinterface.h +83 -0
  160. package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +129 -0
  161. package/include/glib-2.0/gio/gdbusintrospection.h +327 -0
  162. package/include/glib-2.0/gio/gdbusmenumodel.h +47 -0
  163. package/include/glib-2.0/gio/gdbusmessage.h +204 -0
  164. package/include/glib-2.0/gio/gdbusmethodinvocation.h +136 -0
  165. package/include/glib-2.0/gio/gdbusnameowning.h +117 -0
  166. package/include/glib-2.0/gio/gdbusnamewatching.h +104 -0
  167. package/include/glib-2.0/gio/gdbusobject.h +80 -0
  168. package/include/glib-2.0/gio/gdbusobjectmanager.h +96 -0
  169. package/include/glib-2.0/gio/gdbusobjectmanagerclient.h +148 -0
  170. package/include/glib-2.0/gio/gdbusobjectmanagerserver.h +95 -0
  171. package/include/glib-2.0/gio/gdbusobjectproxy.h +81 -0
  172. package/include/glib-2.0/gio/gdbusobjectskeleton.h +98 -0
  173. package/include/glib-2.0/gio/gdbusproxy.h +220 -0
  174. package/include/glib-2.0/gio/gdbusserver.h +62 -0
  175. package/include/glib-2.0/gio/gdbusutils.h +65 -0
  176. package/include/glib-2.0/gio/gdebugcontroller.h +81 -0
  177. package/include/glib-2.0/gio/gdebugcontrollerdbus.h +71 -0
  178. package/include/glib-2.0/gio/gdrive.h +274 -0
  179. package/include/glib-2.0/gio/gdtlsclientconnection.h +77 -0
  180. package/include/glib-2.0/gio/gdtlsconnection.h +230 -0
  181. package/include/glib-2.0/gio/gdtlsserverconnection.h +71 -0
  182. package/include/glib-2.0/gio/gemblem.h +63 -0
  183. package/include/glib-2.0/gio/gemblemedicon.h +83 -0
  184. package/include/glib-2.0/gio/gfile.h +1359 -0
  185. package/include/glib-2.0/gio/gfileattribute.h +86 -0
  186. package/include/glib-2.0/gio/gfileenumerator.h +154 -0
  187. package/include/glib-2.0/gio/gfileicon.h +59 -0
  188. package/include/glib-2.0/gio/gfileinfo.h +1546 -0
  189. package/include/glib-2.0/gio/gfileinputstream.h +116 -0
  190. package/include/glib-2.0/gio/gfileiostream.h +123 -0
  191. package/include/glib-2.0/gio/gfilemonitor.h +100 -0
  192. package/include/glib-2.0/gio/gfilenamecompleter.h +81 -0
  193. package/include/glib-2.0/gio/gfileoutputstream.h +124 -0
  194. package/include/glib-2.0/gio/gfilterinputstream.h +80 -0
  195. package/include/glib-2.0/gio/gfilteroutputstream.h +80 -0
  196. package/include/glib-2.0/gio/gicon.h +133 -0
  197. package/include/glib-2.0/gio/ginetaddress.h +125 -0
  198. package/include/glib-2.0/gio/ginetaddressmask.h +86 -0
  199. package/include/glib-2.0/gio/ginetsocketaddress.h +80 -0
  200. package/include/glib-2.0/gio/ginitable.h +107 -0
  201. package/include/glib-2.0/gio/ginputstream.h +218 -0
  202. package/include/glib-2.0/gio/gio-autocleanups.h +155 -0
  203. package/include/glib-2.0/gio/gio-visibility.h +952 -0
  204. package/include/glib-2.0/gio/gio.h +186 -0
  205. package/include/glib-2.0/gio/gioenums.h +2149 -0
  206. package/include/glib-2.0/gio/gioenumtypes.h +207 -0
  207. package/include/glib-2.0/gio/gioerror.h +58 -0
  208. package/include/glib-2.0/gio/giomodule.h +199 -0
  209. package/include/glib-2.0/gio/gioscheduler.h +56 -0
  210. package/include/glib-2.0/gio/giostream.h +137 -0
  211. package/include/glib-2.0/gio/giotypes.h +660 -0
  212. package/include/glib-2.0/gio/glistmodel.h +74 -0
  213. package/include/glib-2.0/gio/gliststore.h +97 -0
  214. package/include/glib-2.0/gio/gloadableicon.h +101 -0
  215. package/include/glib-2.0/gio/gmemoryinputstream.h +92 -0
  216. package/include/glib-2.0/gio/gmemorymonitor.h +64 -0
  217. package/include/glib-2.0/gio/gmemoryoutputstream.h +109 -0
  218. package/include/glib-2.0/gio/gmenu.h +184 -0
  219. package/include/glib-2.0/gio/gmenuexporter.h +55 -0
  220. package/include/glib-2.0/gio/gmenumodel.h +307 -0
  221. package/include/glib-2.0/gio/gmount.h +278 -0
  222. package/include/glib-2.0/gio/gmountoperation.h +179 -0
  223. package/include/glib-2.0/gio/gnativesocketaddress.h +67 -0
  224. package/include/glib-2.0/gio/gnativevolumemonitor.h +63 -0
  225. package/include/glib-2.0/gio/gnetworkaddress.h +82 -0
  226. package/include/glib-2.0/gio/gnetworking.h +81 -0
  227. package/include/glib-2.0/gio/gnetworkmonitor.h +101 -0
  228. package/include/glib-2.0/gio/gnetworkservice.h +77 -0
  229. package/include/glib-2.0/gio/gnotification.h +103 -0
  230. package/include/glib-2.0/gio/goutputstream.h +334 -0
  231. package/include/glib-2.0/gio/gpermission.h +129 -0
  232. package/include/glib-2.0/gio/gpollableinputstream.h +106 -0
  233. package/include/glib-2.0/gio/gpollableoutputstream.h +127 -0
  234. package/include/glib-2.0/gio/gpollableutils.h +66 -0
  235. package/include/glib-2.0/gio/gpowerprofilemonitor.h +65 -0
  236. package/include/glib-2.0/gio/gpropertyaction.h +49 -0
  237. package/include/glib-2.0/gio/gproxy.h +130 -0
  238. package/include/glib-2.0/gio/gproxyaddress.h +88 -0
  239. package/include/glib-2.0/gio/gproxyaddressenumerator.h +83 -0
  240. package/include/glib-2.0/gio/gproxyresolver.h +97 -0
  241. package/include/glib-2.0/gio/gremoteactiongroup.h +77 -0
  242. package/include/glib-2.0/gio/gresolver.h +299 -0
  243. package/include/glib-2.0/gio/gresource.h +132 -0
  244. package/include/glib-2.0/gio/gseekable.h +105 -0
  245. package/include/glib-2.0/gio/gsettings.h +347 -0
  246. package/include/glib-2.0/gio/gsettingsbackend.h +176 -0
  247. package/include/glib-2.0/gio/gsettingsschema.h +115 -0
  248. package/include/glib-2.0/gio/gsimpleaction.h +65 -0
  249. package/include/glib-2.0/gio/gsimpleactiongroup.h +99 -0
  250. package/include/glib-2.0/gio/gsimpleasyncresult.h +164 -0
  251. package/include/glib-2.0/gio/gsimpleiostream.h +47 -0
  252. package/include/glib-2.0/gio/gsimplepermission.h +47 -0
  253. package/include/glib-2.0/gio/gsimpleproxyresolver.h +91 -0
  254. package/include/glib-2.0/gio/gsocket.h +330 -0
  255. package/include/glib-2.0/gio/gsocketaddress.h +84 -0
  256. package/include/glib-2.0/gio/gsocketaddressenumerator.h +103 -0
  257. package/include/glib-2.0/gio/gsocketclient.h +199 -0
  258. package/include/glib-2.0/gio/gsocketconnectable.h +83 -0
  259. package/include/glib-2.0/gio/gsocketconnection.h +117 -0
  260. package/include/glib-2.0/gio/gsocketcontrolmessage.h +113 -0
  261. package/include/glib-2.0/gio/gsocketlistener.h +157 -0
  262. package/include/glib-2.0/gio/gsocketservice.h +95 -0
  263. package/include/glib-2.0/gio/gsrvtarget.h +60 -0
  264. package/include/glib-2.0/gio/gsubprocess.h +169 -0
  265. package/include/glib-2.0/gio/gsubprocesslauncher.h +121 -0
  266. package/include/glib-2.0/gio/gtask.h +207 -0
  267. package/include/glib-2.0/gio/gtcpconnection.h +71 -0
  268. package/include/glib-2.0/gio/gtcpwrapperconnection.h +71 -0
  269. package/include/glib-2.0/gio/gtestdbus.h +74 -0
  270. package/include/glib-2.0/gio/gthemedicon.h +70 -0
  271. package/include/glib-2.0/gio/gthreadedsocketservice.h +83 -0
  272. package/include/glib-2.0/gio/gtlsbackend.h +115 -0
  273. package/include/glib-2.0/gio/gtlscertificate.h +125 -0
  274. package/include/glib-2.0/gio/gtlsclientconnection.h +88 -0
  275. package/include/glib-2.0/gio/gtlsconnection.h +214 -0
  276. package/include/glib-2.0/gio/gtlsdatabase.h +249 -0
  277. package/include/glib-2.0/gio/gtlsfiledatabase.h +60 -0
  278. package/include/glib-2.0/gio/gtlsinteraction.h +150 -0
  279. package/include/glib-2.0/gio/gtlspassword.h +121 -0
  280. package/include/glib-2.0/gio/gtlsserverconnection.h +71 -0
  281. package/include/glib-2.0/gio/gunixconnection.h +102 -0
  282. package/include/glib-2.0/gio/gunixcredentialsmessage.h +89 -0
  283. package/include/glib-2.0/gio/gunixfdlist.h +97 -0
  284. package/include/glib-2.0/gio/gunixsocketaddress.h +83 -0
  285. package/include/glib-2.0/gio/gvfs.h +170 -0
  286. package/include/glib-2.0/gio/gvolume.h +255 -0
  287. package/include/glib-2.0/gio/gvolumemonitor.h +156 -0
  288. package/include/glib-2.0/gio/gzlibcompressor.h +64 -0
  289. package/include/glib-2.0/gio/gzlibdecompressor.h +60 -0
  290. package/include/glib-2.0/glib/deprecated/gallocator.h +88 -0
  291. package/include/glib-2.0/glib/deprecated/gcache.h +77 -0
  292. package/include/glib-2.0/glib/deprecated/gcompletion.h +85 -0
  293. package/include/glib-2.0/glib/deprecated/gmain.h +137 -0
  294. package/include/glib-2.0/glib/deprecated/grel.h +107 -0
  295. package/include/glib-2.0/glib/deprecated/gthread.h +295 -0
  296. package/include/glib-2.0/glib/galloca.h +147 -0
  297. package/include/glib-2.0/glib/garray.h +323 -0
  298. package/include/glib-2.0/glib/gasyncqueue.h +126 -0
  299. package/include/glib-2.0/glib/gatomic.h +587 -0
  300. package/include/glib-2.0/glib/gbacktrace.h +74 -0
  301. package/include/glib-2.0/glib/gbase64.h +63 -0
  302. package/include/glib-2.0/glib/gbitlock.h +78 -0
  303. package/include/glib-2.0/glib/gbookmarkfile.h +300 -0
  304. package/include/glib-2.0/glib/gbytes.h +99 -0
  305. package/include/glib-2.0/glib/gcharset.h +49 -0
  306. package/include/glib-2.0/glib/gchecksum.h +106 -0
  307. package/include/glib-2.0/glib/gconvert.h +179 -0
  308. package/include/glib-2.0/glib/gdataset.h +156 -0
  309. package/include/glib-2.0/glib/gdate.h +309 -0
  310. package/include/glib-2.0/glib/gdatetime.h +275 -0
  311. package/include/glib-2.0/glib/gdir.h +54 -0
  312. package/include/glib-2.0/glib/genviron.h +65 -0
  313. package/include/glib-2.0/glib/gerror.h +263 -0
  314. package/include/glib-2.0/glib/gfileutils.h +223 -0
  315. package/include/glib-2.0/glib/ggettext.h +65 -0
  316. package/include/glib-2.0/glib/ghash.h +206 -0
  317. package/include/glib-2.0/glib/ghmac.h +85 -0
  318. package/include/glib-2.0/glib/ghook.h +204 -0
  319. package/include/glib-2.0/glib/ghostutils.h +45 -0
  320. package/include/glib-2.0/glib/gi18n-lib.h +38 -0
  321. package/include/glib-2.0/glib/gi18n.h +34 -0
  322. package/include/glib-2.0/glib/giochannel.h +407 -0
  323. package/include/glib-2.0/glib/gkeyfile.h +332 -0
  324. package/include/glib-2.0/glib/glib-autocleanups.h +105 -0
  325. package/include/glib-2.0/glib/glib-typeof.h +47 -0
  326. package/include/glib-2.0/glib/glib-visibility.h +952 -0
  327. package/include/glib-2.0/glib/glist.h +179 -0
  328. package/include/glib-2.0/glib/gmacros.h +1425 -0
  329. package/include/glib-2.0/glib/gmain.h +862 -0
  330. package/include/glib-2.0/glib/gmappedfile.h +60 -0
  331. package/include/glib-2.0/glib/gmarkup.h +265 -0
  332. package/include/glib-2.0/glib/gmem.h +425 -0
  333. package/include/glib-2.0/glib/gmessages.h +690 -0
  334. package/include/glib-2.0/glib/gnode.h +309 -0
  335. package/include/glib-2.0/glib/goption.h +409 -0
  336. package/include/glib-2.0/glib/gpathbuf.h +90 -0
  337. package/include/glib-2.0/glib/gpattern.h +65 -0
  338. package/include/glib-2.0/glib/gpoll.h +122 -0
  339. package/include/glib-2.0/glib/gprimes.h +52 -0
  340. package/include/glib-2.0/glib/gprintf.h +59 -0
  341. package/include/glib-2.0/glib/gqsort.h +47 -0
  342. package/include/glib-2.0/glib/gquark.h +70 -0
  343. package/include/glib-2.0/glib/gqueue.h +205 -0
  344. package/include/glib-2.0/glib/grand.h +101 -0
  345. package/include/glib-2.0/glib/grcbox.h +91 -0
  346. package/include/glib-2.0/glib/grefcount.h +179 -0
  347. package/include/glib-2.0/glib/grefstring.h +59 -0
  348. package/include/glib-2.0/glib/gscanner.h +301 -0
  349. package/include/glib-2.0/glib/gsequence.h +175 -0
  350. package/include/glib-2.0/glib/gshell.h +59 -0
  351. package/include/glib-2.0/glib/gslice.h +117 -0
  352. package/include/glib-2.0/glib/gslist.h +166 -0
  353. package/include/glib-2.0/glib/gspawn.h +323 -0
  354. package/include/glib-2.0/glib/gstdio.h +231 -0
  355. package/include/glib-2.0/glib/gstrfuncs.h +504 -0
  356. package/include/glib-2.0/glib/gstring.h +296 -0
  357. package/include/glib-2.0/glib/gstringchunk.h +59 -0
  358. package/include/glib-2.0/glib/gstrvbuilder.h +69 -0
  359. package/include/glib-2.0/glib/gtestutils.h +763 -0
  360. package/include/glib-2.0/glib/gthread.h +603 -0
  361. package/include/glib-2.0/glib/gthreadpool.h +105 -0
  362. package/include/glib-2.0/glib/gtimer.h +80 -0
  363. package/include/glib-2.0/glib/gtimezone.h +98 -0
  364. package/include/glib-2.0/glib/gtrashstack.h +60 -0
  365. package/include/glib-2.0/glib/gtree.h +181 -0
  366. package/include/glib-2.0/glib/gtypes.h +591 -0
  367. package/include/glib-2.0/glib/gunicode.h +974 -0
  368. package/include/glib-2.0/glib/guri.h +420 -0
  369. package/include/glib-2.0/glib/gutils.h +479 -0
  370. package/include/glib-2.0/glib/guuid.h +42 -0
  371. package/include/glib-2.0/glib/gvariant.h +541 -0
  372. package/include/glib-2.0/glib/gvarianttype.h +384 -0
  373. package/include/glib-2.0/glib/gversion.h +57 -0
  374. package/include/glib-2.0/glib/gversionmacros.h +490 -0
  375. package/include/glib-2.0/glib/gwin32.h +142 -0
  376. package/include/glib-2.0/glib-object.h +46 -0
  377. package/include/glib-2.0/glib-unix.h +125 -0
  378. package/include/glib-2.0/glib.h +121 -0
  379. package/include/glib-2.0/gmodule/gmodule-visibility.h +952 -0
  380. package/include/glib-2.0/gmodule.h +147 -0
  381. package/include/glib-2.0/gobject/gbinding.h +156 -0
  382. package/include/glib-2.0/gobject/gbindinggroup.h +85 -0
  383. package/include/glib-2.0/gobject/gboxed.h +124 -0
  384. package/include/glib-2.0/gobject/gclosure.h +323 -0
  385. package/include/glib-2.0/gobject/genums.h +381 -0
  386. package/include/glib-2.0/gobject/glib-enumtypes.h +25 -0
  387. package/include/glib-2.0/gobject/glib-types.h +400 -0
  388. package/include/glib-2.0/gobject/gmarshal.h +434 -0
  389. package/include/glib-2.0/gobject/gobject-autocleanups.h +33 -0
  390. package/include/glib-2.0/gobject/gobject-visibility.h +952 -0
  391. package/include/glib-2.0/gobject/gobject.h +953 -0
  392. package/include/glib-2.0/gobject/gobjectnotifyqueue.c +199 -0
  393. package/include/glib-2.0/gobject/gparam.h +476 -0
  394. package/include/glib-2.0/gobject/gparamspecs.h +1151 -0
  395. package/include/glib-2.0/gobject/gsignal.h +647 -0
  396. package/include/glib-2.0/gobject/gsignalgroup.h +98 -0
  397. package/include/glib-2.0/gobject/gsourceclosure.h +40 -0
  398. package/include/glib-2.0/gobject/gtype.h +2703 -0
  399. package/include/glib-2.0/gobject/gtypemodule.h +302 -0
  400. package/include/glib-2.0/gobject/gtypeplugin.h +136 -0
  401. package/include/glib-2.0/gobject/gvalue.h +212 -0
  402. package/include/glib-2.0/gobject/gvaluearray.h +106 -0
  403. package/include/glib-2.0/gobject/gvaluecollector.h +290 -0
  404. package/include/glib-2.0/gobject/gvaluetypes.h +318 -0
  405. package/include/harfbuzz/hb-aat-layout.h +795 -0
  406. package/include/harfbuzz/hb-aat.h +38 -0
  407. package/include/harfbuzz/hb-blob.h +160 -0
  408. package/include/harfbuzz/hb-buffer.h +799 -0
  409. package/include/harfbuzz/hb-common.h +938 -0
  410. package/include/harfbuzz/hb-cplusplus.hh +223 -0
  411. package/include/harfbuzz/hb-deprecated.h +309 -0
  412. package/include/harfbuzz/hb-draw.h +340 -0
  413. package/include/harfbuzz/hb-face.h +187 -0
  414. package/include/harfbuzz/hb-features.h +119 -0
  415. package/include/harfbuzz/hb-font.h +1153 -0
  416. package/include/harfbuzz/hb-ft.h +145 -0
  417. package/include/harfbuzz/hb-glib.h +56 -0
  418. package/include/harfbuzz/hb-map.h +143 -0
  419. package/include/harfbuzz/hb-ot-color.h +155 -0
  420. package/include/harfbuzz/hb-ot-deprecated.h +147 -0
  421. package/include/harfbuzz/hb-ot-font.h +45 -0
  422. package/include/harfbuzz/hb-ot-layout.h +549 -0
  423. package/include/harfbuzz/hb-ot-math.h +333 -0
  424. package/include/harfbuzz/hb-ot-meta.h +72 -0
  425. package/include/harfbuzz/hb-ot-metrics.h +129 -0
  426. package/include/harfbuzz/hb-ot-name.h +164 -0
  427. package/include/harfbuzz/hb-ot-shape.h +53 -0
  428. package/include/harfbuzz/hb-ot-var.h +191 -0
  429. package/include/harfbuzz/hb-ot.h +49 -0
  430. package/include/harfbuzz/hb-paint.h +1029 -0
  431. package/include/harfbuzz/hb-set.h +203 -0
  432. package/include/harfbuzz/hb-shape-plan.h +122 -0
  433. package/include/harfbuzz/hb-shape.h +74 -0
  434. package/include/harfbuzz/hb-style.h +81 -0
  435. package/include/harfbuzz/hb-subset-repacker.h +81 -0
  436. package/include/harfbuzz/hb-subset.h +241 -0
  437. package/include/harfbuzz/hb-unicode.h +643 -0
  438. package/include/harfbuzz/hb-version.h +95 -0
  439. package/include/harfbuzz/hb.h +51 -0
  440. package/include/index.js +1 -0
  441. package/include/jconfig.h +37 -0
  442. package/include/jerror.h +335 -0
  443. package/include/jmorecfg.h +382 -0
  444. package/include/jpeglib.h +1210 -0
  445. package/include/lcms2.h +1958 -0
  446. package/include/lcms2_plugin.h +700 -0
  447. package/include/libexif/_stdint.h +2 -0
  448. package/include/libexif/exif-byte-order.h +48 -0
  449. package/include/libexif/exif-content.h +181 -0
  450. package/include/libexif/exif-data-type.h +46 -0
  451. package/include/libexif/exif-data.h +267 -0
  452. package/include/libexif/exif-entry.h +186 -0
  453. package/include/libexif/exif-format.h +65 -0
  454. package/include/libexif/exif-ifd.h +51 -0
  455. package/include/libexif/exif-loader.h +128 -0
  456. package/include/libexif/exif-log.h +116 -0
  457. package/include/libexif/exif-mem.h +91 -0
  458. package/include/libexif/exif-mnote-data.h +122 -0
  459. package/include/libexif/exif-tag.h +307 -0
  460. package/include/libexif/exif-utils.h +194 -0
  461. package/include/libheif/heif.h +2092 -0
  462. package/include/libheif/heif_cxx.h +1359 -0
  463. package/include/libheif/heif_plugin.h +306 -0
  464. package/include/libheif/heif_version.h +38 -0
  465. package/include/libimagequant.h +111 -0
  466. package/include/libpng16/png.h +3247 -0
  467. package/include/libpng16/pngconf.h +623 -0
  468. package/include/libpng16/pnglibconf.h +219 -0
  469. package/include/librsvg-2.0/librsvg/rsvg-cairo.h +395 -0
  470. package/include/librsvg-2.0/librsvg/rsvg-features.h +184 -0
  471. package/include/librsvg-2.0/librsvg/rsvg-version.h +13 -0
  472. package/include/librsvg-2.0/librsvg/rsvg.h +1456 -0
  473. package/include/libxml2/libxml/HTMLparser.h +320 -0
  474. package/include/libxml2/libxml/HTMLtree.h +147 -0
  475. package/include/libxml2/libxml/SAX.h +204 -0
  476. package/include/libxml2/libxml/SAX2.h +173 -0
  477. package/include/libxml2/libxml/c14n.h +128 -0
  478. package/include/libxml2/libxml/catalog.h +182 -0
  479. package/include/libxml2/libxml/chvalid.h +230 -0
  480. package/include/libxml2/libxml/debugXML.h +217 -0
  481. package/include/libxml2/libxml/dict.h +81 -0
  482. package/include/libxml2/libxml/encoding.h +233 -0
  483. package/include/libxml2/libxml/entities.h +151 -0
  484. package/include/libxml2/libxml/globals.h +529 -0
  485. package/include/libxml2/libxml/hash.h +236 -0
  486. package/include/libxml2/libxml/list.h +137 -0
  487. package/include/libxml2/libxml/nanoftp.h +186 -0
  488. package/include/libxml2/libxml/nanohttp.h +81 -0
  489. package/include/libxml2/libxml/parser.h +1265 -0
  490. package/include/libxml2/libxml/parserInternals.h +662 -0
  491. package/include/libxml2/libxml/pattern.h +100 -0
  492. package/include/libxml2/libxml/relaxng.h +218 -0
  493. package/include/libxml2/libxml/schemasInternals.h +958 -0
  494. package/include/libxml2/libxml/schematron.h +142 -0
  495. package/include/libxml2/libxml/threads.h +94 -0
  496. package/include/libxml2/libxml/tree.h +1314 -0
  497. package/include/libxml2/libxml/uri.h +94 -0
  498. package/include/libxml2/libxml/valid.h +448 -0
  499. package/include/libxml2/libxml/xinclude.h +129 -0
  500. package/include/libxml2/libxml/xlink.h +189 -0
  501. package/include/libxml2/libxml/xmlIO.h +369 -0
  502. package/include/libxml2/libxml/xmlautomata.h +146 -0
  503. package/include/libxml2/libxml/xmlerror.h +919 -0
  504. package/include/libxml2/libxml/xmlexports.h +50 -0
  505. package/include/libxml2/libxml/xmlmemory.h +228 -0
  506. package/include/libxml2/libxml/xmlmodule.h +57 -0
  507. package/include/libxml2/libxml/xmlreader.h +428 -0
  508. package/include/libxml2/libxml/xmlregexp.h +222 -0
  509. package/include/libxml2/libxml/xmlsave.h +88 -0
  510. package/include/libxml2/libxml/xmlschemas.h +246 -0
  511. package/include/libxml2/libxml/xmlschemastypes.h +152 -0
  512. package/include/libxml2/libxml/xmlstring.h +140 -0
  513. package/include/libxml2/libxml/xmlunicode.h +202 -0
  514. package/include/libxml2/libxml/xmlversion.h +526 -0
  515. package/include/libxml2/libxml/xmlwriter.h +488 -0
  516. package/include/libxml2/libxml/xpath.h +575 -0
  517. package/include/libxml2/libxml/xpathInternals.h +632 -0
  518. package/include/libxml2/libxml/xpointer.h +137 -0
  519. package/include/orc-0.4/orc/orc-stdint.h +1 -0
  520. package/include/orc-0.4/orc/orc.h +16 -0
  521. package/include/orc-0.4/orc/orcarm.h +879 -0
  522. package/include/orc-0.4/orc/orcbytecode.h +35 -0
  523. package/include/orc-0.4/orc/orcbytecodes.h +255 -0
  524. package/include/orc-0.4/orc/orccode.h +53 -0
  525. package/include/orc-0.4/orc/orccompiler.h +176 -0
  526. package/include/orc-0.4/orc/orcconstant.h +39 -0
  527. package/include/orc-0.4/orc/orccpu.h +21 -0
  528. package/include/orc-0.4/orc/orccpuinsn.h +40 -0
  529. package/include/orc-0.4/orc/orcdebug.h +158 -0
  530. package/include/orc-0.4/orc/orcemulateopcodes.h +203 -0
  531. package/include/orc-0.4/orc/orcexecutor.h +135 -0
  532. package/include/orc-0.4/orc/orcfunctions.h +93 -0
  533. package/include/orc-0.4/orc/orcinstruction.h +39 -0
  534. package/include/orc-0.4/orc/orcinternal.h +46 -0
  535. package/include/orc-0.4/orc/orclimits.h +94 -0
  536. package/include/orc-0.4/orc/orcmips.h +229 -0
  537. package/include/orc-0.4/orc/orcmmx.h +79 -0
  538. package/include/orc-0.4/orc/orcneon.h +43 -0
  539. package/include/orc-0.4/orc/orconce.h +166 -0
  540. package/include/orc-0.4/orc/orcopcode.h +63 -0
  541. package/include/orc-0.4/orc/orcparse.h +27 -0
  542. package/include/orc-0.4/orc/orcpowerpc.h +209 -0
  543. package/include/orc-0.4/orc/orcprogram.h +192 -0
  544. package/include/orc-0.4/orc/orcrule.h +52 -0
  545. package/include/orc-0.4/orc/orcsse.h +55 -0
  546. package/include/orc-0.4/orc/orctarget.h +115 -0
  547. package/include/orc-0.4/orc/orcutils.h +238 -0
  548. package/include/orc-0.4/orc/orcvariable.h +81 -0
  549. package/include/orc-0.4/orc/orcx86.h +199 -0
  550. package/include/orc-0.4/orc/orcx86insn.h +672 -0
  551. package/include/pango-1.0/pango/pango-attributes.h +748 -0
  552. package/include/pango-1.0/pango/pango-bidi-type.h +117 -0
  553. package/include/pango-1.0/pango/pango-break.h +144 -0
  554. package/include/pango-1.0/pango/pango-color.h +75 -0
  555. package/include/pango-1.0/pango/pango-context.h +116 -0
  556. package/include/pango-1.0/pango/pango-coverage.h +108 -0
  557. package/include/pango-1.0/pango/pango-direction.h +72 -0
  558. package/include/pango-1.0/pango/pango-engine.h +457 -0
  559. package/include/pango-1.0/pango/pango-enum-types.h +120 -0
  560. package/include/pango-1.0/pango/pango-features.h +10 -0
  561. package/include/pango-1.0/pango/pango-font.h +699 -0
  562. package/include/pango-1.0/pango/pango-fontmap.h +132 -0
  563. package/include/pango-1.0/pango/pango-fontset-simple.h +64 -0
  564. package/include/pango-1.0/pango/pango-fontset.h +134 -0
  565. package/include/pango-1.0/pango/pango-glyph-item.h +175 -0
  566. package/include/pango-1.0/pango/pango-glyph.h +270 -0
  567. package/include/pango-1.0/pango/pango-gravity.h +137 -0
  568. package/include/pango-1.0/pango/pango-item.h +165 -0
  569. package/include/pango-1.0/pango/pango-language.h +70 -0
  570. package/include/pango-1.0/pango/pango-layout.h +554 -0
  571. package/include/pango-1.0/pango/pango-markup.h +52 -0
  572. package/include/pango-1.0/pango/pango-matrix.h +130 -0
  573. package/include/pango-1.0/pango/pango-modules.h +84 -0
  574. package/include/pango-1.0/pango/pango-ot.h +427 -0
  575. package/include/pango-1.0/pango/pango-renderer.h +290 -0
  576. package/include/pango-1.0/pango/pango-script.h +335 -0
  577. package/include/pango-1.0/pango/pango-tabs.h +117 -0
  578. package/include/pango-1.0/pango/pango-types.h +244 -0
  579. package/include/pango-1.0/pango/pango-utils.h +187 -0
  580. package/include/pango-1.0/pango/pango-version-macros.h +756 -0
  581. package/include/pango-1.0/pango/pango.h +54 -0
  582. package/include/pango-1.0/pango/pangocairo.h +220 -0
  583. package/include/pango-1.0/pango/pangofc-decoder.h +122 -0
  584. package/include/pango-1.0/pango/pangofc-font.h +120 -0
  585. package/include/pango-1.0/pango/pangofc-fontmap.h +244 -0
  586. package/include/pango-1.0/pango/pangoft2.h +158 -0
  587. package/include/pixman-1/pixman-version.h +54 -0
  588. package/include/pixman-1/pixman.h +1419 -0
  589. package/include/png.h +3247 -0
  590. package/include/pngconf.h +623 -0
  591. package/include/pnglibconf.h +219 -0
  592. package/include/spng.h +537 -0
  593. package/include/tiff.h +899 -0
  594. package/include/tiffconf.h +145 -0
  595. package/include/tiffio.h +653 -0
  596. package/include/tiffvers.h +36 -0
  597. package/include/vips/VConnection8.h +150 -0
  598. package/include/vips/VError8.h +76 -0
  599. package/include/vips/VImage8.h +6065 -0
  600. package/include/vips/VInterpolate8.h +77 -0
  601. package/include/vips/VRegion8.h +155 -0
  602. package/include/vips/arithmetic.h +571 -0
  603. package/include/vips/basic.h +113 -0
  604. package/include/vips/buf.h +118 -0
  605. package/include/vips/colour.h +306 -0
  606. package/include/vips/connection.h +570 -0
  607. package/include/vips/conversion.h +357 -0
  608. package/include/vips/convolution.h +95 -0
  609. package/include/vips/create.h +161 -0
  610. package/include/vips/dbuf.h +103 -0
  611. package/include/vips/debug.h +74 -0
  612. package/include/vips/draw.h +113 -0
  613. package/include/vips/enumtypes.h +181 -0
  614. package/include/vips/error.h +142 -0
  615. package/include/vips/foreign.h +993 -0
  616. package/include/vips/format.h +135 -0
  617. package/include/vips/freqfilt.h +64 -0
  618. package/include/vips/gate.h +82 -0
  619. package/include/vips/generate.h +92 -0
  620. package/include/vips/header.h +312 -0
  621. package/include/vips/histogram.h +85 -0
  622. package/include/vips/image.h +605 -0
  623. package/include/vips/interpolate.h +141 -0
  624. package/include/vips/memory.h +96 -0
  625. package/include/vips/morphology.h +73 -0
  626. package/include/vips/mosaicing.h +80 -0
  627. package/include/vips/object.h +706 -0
  628. package/include/vips/operation.h +182 -0
  629. package/include/vips/private.h +227 -0
  630. package/include/vips/rect.h +80 -0
  631. package/include/vips/region.h +238 -0
  632. package/include/vips/resample.h +123 -0
  633. package/include/vips/sbuf.h +144 -0
  634. package/include/vips/semaphore.h +77 -0
  635. package/include/vips/thread.h +72 -0
  636. package/include/vips/threadpool.h +160 -0
  637. package/include/vips/transform.h +89 -0
  638. package/include/vips/type.h +305 -0
  639. package/include/vips/util.h +406 -0
  640. package/include/vips/vector.h +183 -0
  641. package/include/vips/version.h +26 -0
  642. package/include/vips/vips.h +194 -0
  643. package/include/vips/vips8 +60 -0
  644. package/include/webp/decode.h +504 -0
  645. package/include/webp/demux.h +363 -0
  646. package/include/webp/encode.h +552 -0
  647. package/include/webp/mux.h +530 -0
  648. package/include/webp/mux_types.h +98 -0
  649. package/include/webp/sharpyuv/sharpyuv.h +103 -0
  650. package/include/webp/sharpyuv/sharpyuv_csp.h +60 -0
  651. package/include/webp/types.h +72 -0
  652. package/include/zconf.h +203 -0
  653. package/include/zlib.h +1855 -0
  654. package/include/zlib_name_mangling.h +8 -0
  655. package/package.json +30 -0
  656. package/versions.json +31 -0
@@ -0,0 +1,763 @@
1
+ /* GLib testing utilities
2
+ * Copyright (C) 2007 Imendio AB
3
+ * Authors: Tim Janik
4
+ *
5
+ * SPDX-License-Identifier: LGPL-2.1-or-later
6
+ *
7
+ * This library is free software; you can redistribute it and/or
8
+ * modify it under the terms of the GNU Lesser General Public
9
+ * License as published by the Free Software Foundation; either
10
+ * version 2.1 of the License, or (at your option) any later version.
11
+ *
12
+ * This library is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ * Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public
18
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
19
+ */
20
+
21
+ #ifndef __G_TEST_UTILS_H__
22
+ #define __G_TEST_UTILS_H__
23
+
24
+ #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
25
+ #error "Only <glib.h> can be included directly."
26
+ #endif
27
+
28
+ #include <glib/gmessages.h>
29
+ #include <glib/gstring.h>
30
+ #include <glib/gerror.h>
31
+ #include <glib/gslist.h>
32
+ #include <errno.h>
33
+ #include <stdlib.h>
34
+ #include <string.h>
35
+
36
+ G_BEGIN_DECLS
37
+
38
+ typedef struct GTestCase GTestCase;
39
+ typedef struct GTestSuite GTestSuite;
40
+ typedef void (*GTestFunc) (void);
41
+ typedef void (*GTestDataFunc) (gconstpointer user_data);
42
+ typedef void (*GTestFixtureFunc) (gpointer fixture,
43
+ gconstpointer user_data);
44
+
45
+ /* assertion API */
46
+ #define g_assert_cmpstr(s1, cmp, s2) G_STMT_START { \
47
+ const char *__s1 = (s1), *__s2 = (s2); \
48
+ if (g_strcmp0 (__s1, __s2) cmp 0) ; else \
49
+ g_assertion_message_cmpstr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
50
+ #s1 " " #cmp " " #s2, __s1, #cmp, __s2); \
51
+ } G_STMT_END
52
+ #if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78
53
+ #define g_assert_cmpint(n1, cmp, n2) G_STMT_START { \
54
+ gint64 __n1 = (n1), __n2 = (n2); \
55
+ if (__n1 cmp __n2) ; else \
56
+ g_assertion_message_cmpint (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
57
+ #n1 " " #cmp " " #n2, __n1, #cmp, __n2, 'i'); \
58
+ } G_STMT_END
59
+ #define g_assert_cmpuint(n1, cmp, n2) G_STMT_START { \
60
+ guint64 __n1 = (n1), __n2 = (n2); \
61
+ if (__n1 cmp __n2) ; else \
62
+ g_assertion_message_cmpint (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
63
+ #n1 " " #cmp " " #n2, __n1, #cmp, __n2, 'u'); \
64
+ } G_STMT_END
65
+ #define g_assert_cmphex(n1, cmp, n2) G_STMT_START { \
66
+ guint64 __n1 = (n1), __n2 = (n2); \
67
+ if (__n1 cmp __n2) ; else \
68
+ g_assertion_message_cmpint (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
69
+ #n1 " " #cmp " " #n2, __n1, #cmp, __n2, 'x'); \
70
+ } G_STMT_END
71
+ #else /* GLIB_VERSION_MIN_REQUIRED < GLIB_VERSION_2_78 */
72
+ #define g_assert_cmpint(n1, cmp, n2) G_STMT_START { \
73
+ gint64 __n1 = (n1), __n2 = (n2); \
74
+ if (__n1 cmp __n2) ; else \
75
+ g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
76
+ #n1 " " #cmp " " #n2, (long double) __n1, #cmp, (long double) __n2, 'i'); \
77
+ } G_STMT_END
78
+ #define g_assert_cmpuint(n1, cmp, n2) G_STMT_START { \
79
+ guint64 __n1 = (n1), __n2 = (n2); \
80
+ if (__n1 cmp __n2) ; else \
81
+ g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
82
+ #n1 " " #cmp " " #n2, (long double) __n1, #cmp, (long double) __n2, 'i'); \
83
+ } G_STMT_END
84
+ #define g_assert_cmphex(n1, cmp, n2) G_STMT_START {\
85
+ guint64 __n1 = (n1), __n2 = (n2); \
86
+ if (__n1 cmp __n2) ; else \
87
+ g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
88
+ #n1 " " #cmp " " #n2, (long double) __n1, #cmp, (long double) __n2, 'x'); \
89
+ } G_STMT_END
90
+ #endif /* GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78 */
91
+ #define g_assert_cmpfloat(n1,cmp,n2) G_STMT_START { \
92
+ long double __n1 = (long double) (n1), __n2 = (long double) (n2); \
93
+ if (__n1 cmp __n2) ; else \
94
+ g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
95
+ #n1 " " #cmp " " #n2, (long double) __n1, #cmp, (long double) __n2, 'f'); \
96
+ } G_STMT_END
97
+ #define g_assert_cmpfloat_with_epsilon(n1,n2,epsilon) \
98
+ G_STMT_START { \
99
+ double __n1 = (n1), __n2 = (n2), __epsilon = (epsilon); \
100
+ if (G_APPROX_VALUE (__n1, __n2, __epsilon)) ; else \
101
+ g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
102
+ #n1 " == " #n2 " (+/- " #epsilon ")", __n1, "==", __n2, 'f'); \
103
+ } G_STMT_END
104
+ #if GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78
105
+ #define g_assert_cmpmem(m1, l1, m2, l2) G_STMT_START {\
106
+ gconstpointer __m1 = m1, __m2 = m2; \
107
+ size_t __l1 = (size_t) l1, __l2 = (size_t) l2; \
108
+ if (__l1 != 0 && __m1 == NULL) \
109
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
110
+ "assertion failed (" #l1 " == 0 || " #m1 " != NULL)"); \
111
+ else if (__l2 != 0 && __m2 == NULL) \
112
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
113
+ "assertion failed (" #l2 " == 0 || " #m2 " != NULL)"); \
114
+ else if (__l1 != __l2) \
115
+ g_assertion_message_cmpint (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
116
+ #l1 " (len(" #m1 ")) == " #l2 " (len(" #m2 "))", \
117
+ __l1, "==", __l2, 'u'); \
118
+ else if (__l1 != 0 && __m2 != NULL && memcmp (__m1, __m2, __l1) != 0) \
119
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
120
+ "assertion failed (" #m1 " == " #m2 ")"); \
121
+ } G_STMT_END
122
+ #else /* GLIB_VERSION_MIN_REQUIRED < GLIB_VERSION_2_78 */
123
+ #define g_assert_cmpmem(m1, l1, m2, l2) G_STMT_START {\
124
+ gconstpointer __m1 = m1, __m2 = m2; \
125
+ size_t __l1 = (size_t) l1, __l2 = (size_t) l2; \
126
+ if (__l1 != 0 && __m1 == NULL) \
127
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
128
+ "assertion failed (" #l1 " == 0 || " #m1 " != NULL)"); \
129
+ else if (__l2 != 0 && __m2 == NULL) \
130
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
131
+ "assertion failed (" #l2 " == 0 || " #m2 " != NULL)"); \
132
+ else if (__l1 != __l2) \
133
+ g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
134
+ #l1 " (len(" #m1 ")) == " #l2 " (len(" #m2 "))", \
135
+ (long double) __l1, "==", (long double) __l2, 'i'); \
136
+ else if (__l1 != 0 && __m2 != NULL && memcmp (__m1, __m2, __l1) != 0) \
137
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
138
+ "assertion failed (" #m1 " == " #m2 ")"); \
139
+ } G_STMT_END
140
+ #endif /* GLIB_VERSION_MIN_REQUIRED >= GLIB_VERSION_2_78 */
141
+ #define g_assert_cmpvariant(v1, v2) \
142
+ G_STMT_START \
143
+ { \
144
+ GVariant *__v1 = (v1), *__v2 = (v2); \
145
+ if (!g_variant_equal (__v1, __v2)) \
146
+ { \
147
+ gchar *__s1, *__s2, *__msg; \
148
+ __s1 = g_variant_print (__v1, TRUE); \
149
+ __s2 = g_variant_print (__v2, TRUE); \
150
+ __msg = g_strdup_printf ("assertion failed (" #v1 " == " #v2 "): %s does not equal %s", __s1, __s2); \
151
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \
152
+ g_free (__s1); \
153
+ g_free (__s2); \
154
+ g_free (__msg); \
155
+ } \
156
+ } \
157
+ G_STMT_END
158
+ #define g_assert_cmpstrv(strv1, strv2) \
159
+ G_STMT_START \
160
+ { \
161
+ const char * const *__strv1 = (const char * const *) (strv1); \
162
+ const char * const *__strv2 = (const char * const *) (strv2); \
163
+ if (!__strv1 || !__strv2) \
164
+ { \
165
+ if (__strv1) \
166
+ { \
167
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
168
+ "assertion failed (" #strv1 " == " #strv2 "): " #strv2 " is NULL, but " #strv1 " is not"); \
169
+ } \
170
+ else if (__strv2) \
171
+ { \
172
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
173
+ "assertion failed (" #strv1 " == " #strv2 "): " #strv1 " is NULL, but " #strv2 " is not"); \
174
+ } \
175
+ } \
176
+ else \
177
+ { \
178
+ guint __l1 = g_strv_length ((char **) __strv1); \
179
+ guint __l2 = g_strv_length ((char **) __strv2); \
180
+ if (__l1 != __l2) \
181
+ { \
182
+ char *__msg; \
183
+ __msg = g_strdup_printf ("assertion failed (" #strv1 " == " #strv2 "): length %u does not equal length %u", __l1, __l2); \
184
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \
185
+ g_free (__msg); \
186
+ } \
187
+ else \
188
+ { \
189
+ guint __i; \
190
+ for (__i = 0; __i < __l1; __i++) \
191
+ { \
192
+ if (g_strcmp0 (__strv1[__i], __strv2[__i]) != 0) \
193
+ { \
194
+ g_assertion_message_cmpstrv (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
195
+ #strv1 " == " #strv2, \
196
+ __strv1, __strv2, __i); \
197
+ } \
198
+ } \
199
+ } \
200
+ } \
201
+ } \
202
+ G_STMT_END
203
+ #define g_assert_no_errno(expr) G_STMT_START { \
204
+ int __ret, __errsv; \
205
+ errno = 0; \
206
+ __ret = expr; \
207
+ __errsv = errno; \
208
+ if (__ret < 0) \
209
+ { \
210
+ gchar *__msg; \
211
+ __msg = g_strdup_printf ("assertion failed (" #expr " >= 0): errno %i: %s", __errsv, g_strerror (__errsv)); \
212
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \
213
+ g_free (__msg); \
214
+ } \
215
+ } G_STMT_END \
216
+ GLIB_AVAILABLE_MACRO_IN_2_66
217
+ #define g_assert_no_error(err) G_STMT_START { \
218
+ if (err) \
219
+ g_assertion_message_error (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
220
+ #err, err, 0, 0); \
221
+ } G_STMT_END
222
+ #define g_assert_error(err, dom, c) G_STMT_START { \
223
+ if (!err || (err)->domain != dom || (err)->code != c) \
224
+ g_assertion_message_error (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
225
+ #err, err, dom, c); \
226
+ } G_STMT_END
227
+ #define g_assert_true(expr) G_STMT_START { \
228
+ if G_LIKELY (expr) ; else \
229
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
230
+ "'" #expr "' should be TRUE"); \
231
+ } G_STMT_END
232
+ #define g_assert_false(expr) G_STMT_START { \
233
+ if G_LIKELY (!(expr)) ; else \
234
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
235
+ "'" #expr "' should be FALSE"); \
236
+ } G_STMT_END
237
+
238
+ /* Use nullptr in C++ to catch misuse of these macros. */
239
+ #if G_CXX_STD_CHECK_VERSION (11)
240
+ #define g_assert_null(expr) G_STMT_START { if G_LIKELY ((expr) == nullptr) ; else \
241
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
242
+ "'" #expr "' should be nullptr"); \
243
+ } G_STMT_END
244
+ #define g_assert_nonnull(expr) G_STMT_START { \
245
+ if G_LIKELY ((expr) != nullptr) ; else \
246
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
247
+ "'" #expr "' should not be nullptr"); \
248
+ } G_STMT_END
249
+ #else /* not C++ */
250
+ #define g_assert_null(expr) G_STMT_START { if G_LIKELY ((expr) == NULL) ; else \
251
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
252
+ "'" #expr "' should be NULL"); \
253
+ } G_STMT_END
254
+ #define g_assert_nonnull(expr) G_STMT_START { \
255
+ if G_LIKELY ((expr) != NULL) ; else \
256
+ g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
257
+ "'" #expr "' should not be NULL"); \
258
+ } G_STMT_END
259
+ #endif
260
+
261
+ #ifdef G_DISABLE_ASSERT
262
+ /* https://gcc.gnu.org/onlinedocs/gcc-8.3.0/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005funreachable
263
+ * GCC 5 is not a strict lower bound for versions of GCC which provide __builtin_unreachable(). */
264
+ #if __GNUC__ >= 5 || g_macro__has_builtin(__builtin_unreachable)
265
+ #define g_assert_not_reached() G_STMT_START { (void) 0; __builtin_unreachable (); } G_STMT_END
266
+ #elif defined (_MSC_VER)
267
+ #define g_assert_not_reached() G_STMT_START { (void) 0; __assume (0); } G_STMT_END
268
+ #else /* if __builtin_unreachable() is not supported: */
269
+ #define g_assert_not_reached() G_STMT_START { (void) 0; } G_STMT_END
270
+ #endif
271
+
272
+ #define g_assert(expr) G_STMT_START { (void) 0; } G_STMT_END
273
+ #else /* !G_DISABLE_ASSERT */
274
+ #define g_assert_not_reached() G_STMT_START { g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, NULL); } G_STMT_END
275
+ #define g_assert(expr) G_STMT_START { \
276
+ if G_LIKELY (expr) ; else \
277
+ g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
278
+ #expr); \
279
+ } G_STMT_END
280
+ #endif /* !G_DISABLE_ASSERT */
281
+
282
+ GLIB_AVAILABLE_IN_ALL
283
+ int g_strcmp0 (const char *str1,
284
+ const char *str2);
285
+
286
+ /* report performance results */
287
+ GLIB_AVAILABLE_IN_ALL
288
+ void g_test_minimized_result (double minimized_quantity,
289
+ const char *format,
290
+ ...) G_GNUC_PRINTF (2, 3);
291
+ GLIB_AVAILABLE_IN_ALL
292
+ void g_test_maximized_result (double maximized_quantity,
293
+ const char *format,
294
+ ...) G_GNUC_PRINTF (2, 3);
295
+
296
+ /* initialize testing framework */
297
+ GLIB_AVAILABLE_IN_ALL
298
+ void g_test_init (int *argc,
299
+ char ***argv,
300
+ ...) G_GNUC_NULL_TERMINATED;
301
+
302
+ /**
303
+ * G_TEST_OPTION_ISOLATE_DIRS:
304
+ *
305
+ * Creates a unique temporary directory for each unit test and uses
306
+ * g_set_user_dirs() to set XDG directories to point into subdirectories of it
307
+ * for the duration of the unit test. The directory tree is cleaned up after the
308
+ * test finishes successfully. Note that this doesn’t take effect until
309
+ * g_test_run() is called, so calls to (for example) g_get_user_home_dir() will
310
+ * return the system-wide value when made in a test program’s main() function.
311
+ *
312
+ * The following functions will return subdirectories of the temporary directory
313
+ * when this option is used. The specific subdirectory paths in use are not
314
+ * guaranteed to be stable API — always use a getter function to retrieve them.
315
+ *
316
+ * - g_get_home_dir()
317
+ * - g_get_user_cache_dir()
318
+ * - g_get_system_config_dirs()
319
+ * - g_get_user_config_dir()
320
+ * - g_get_system_data_dirs()
321
+ * - g_get_user_data_dir()
322
+ * - g_get_user_state_dir()
323
+ * - g_get_user_runtime_dir()
324
+ *
325
+ * The subdirectories may not be created by the test harness; as with normal
326
+ * calls to functions like g_get_user_cache_dir(), the caller must be prepared
327
+ * to create the directory if it doesn’t exist.
328
+ *
329
+ * Since: 2.60
330
+ */
331
+ #define G_TEST_OPTION_ISOLATE_DIRS "isolate_dirs"
332
+
333
+ /* While we discourage its use, g_assert() is often used in unit tests
334
+ * (especially in legacy code). g_assert_*() should really be used instead.
335
+ * g_assert() can be disabled at client program compile time, which can render
336
+ * tests useless. Highlight that to the user. */
337
+ #ifdef G_DISABLE_ASSERT
338
+ #if defined(G_HAVE_ISO_VARARGS)
339
+ #define g_test_init(argc, argv, ...) \
340
+ G_STMT_START { \
341
+ g_printerr ("Tests were compiled with G_DISABLE_ASSERT and are likely no-ops. Aborting.\n"); \
342
+ exit (1); \
343
+ } G_STMT_END
344
+ #elif defined(G_HAVE_GNUC_VARARGS)
345
+ #define g_test_init(argc, argv...) \
346
+ G_STMT_START { \
347
+ g_printerr ("Tests were compiled with G_DISABLE_ASSERT and are likely no-ops. Aborting.\n"); \
348
+ exit (1); \
349
+ } G_STMT_END
350
+ #else /* no varargs */
351
+ /* do nothing */
352
+ #endif /* varargs support */
353
+ #endif /* G_DISABLE_ASSERT */
354
+
355
+ /* query testing framework config */
356
+ #define g_test_initialized() (g_test_config_vars->test_initialized)
357
+ #define g_test_quick() (g_test_config_vars->test_quick)
358
+ #define g_test_slow() (!g_test_config_vars->test_quick)
359
+ #define g_test_thorough() (!g_test_config_vars->test_quick)
360
+ #define g_test_perf() (g_test_config_vars->test_perf)
361
+ #define g_test_verbose() (g_test_config_vars->test_verbose)
362
+ #define g_test_quiet() (g_test_config_vars->test_quiet)
363
+ #define g_test_undefined() (g_test_config_vars->test_undefined)
364
+ GLIB_AVAILABLE_IN_2_38
365
+ gboolean g_test_subprocess (void);
366
+
367
+ /* run all tests under toplevel suite (path: /) */
368
+ GLIB_AVAILABLE_IN_ALL
369
+ int g_test_run (void);
370
+ /* hook up a test functions under test path */
371
+ GLIB_AVAILABLE_IN_ALL
372
+ void g_test_add_func (const char *testpath,
373
+ GTestFunc test_func);
374
+
375
+ GLIB_AVAILABLE_IN_ALL
376
+ void g_test_add_data_func (const char *testpath,
377
+ gconstpointer test_data,
378
+ GTestDataFunc test_func);
379
+
380
+ GLIB_AVAILABLE_IN_2_34
381
+ void g_test_add_data_func_full (const char *testpath,
382
+ gpointer test_data,
383
+ GTestDataFunc test_func,
384
+ GDestroyNotify data_free_func);
385
+
386
+ /* tell about currently run test */
387
+ GLIB_AVAILABLE_IN_2_68
388
+ const char * g_test_get_path (void);
389
+
390
+ /* tell about failure */
391
+ GLIB_AVAILABLE_IN_2_30
392
+ void g_test_fail (void);
393
+ GLIB_AVAILABLE_IN_2_70
394
+ void g_test_fail_printf (const char *format,
395
+ ...) G_GNUC_PRINTF (1, 2);
396
+ GLIB_AVAILABLE_IN_2_38
397
+ void g_test_incomplete (const gchar *msg);
398
+ GLIB_AVAILABLE_IN_2_70
399
+ void g_test_incomplete_printf (const char *format,
400
+ ...) G_GNUC_PRINTF (1, 2);
401
+ GLIB_AVAILABLE_IN_2_38
402
+ void g_test_skip (const gchar *msg);
403
+ GLIB_AVAILABLE_IN_2_70
404
+ void g_test_skip_printf (const char *format,
405
+ ...) G_GNUC_PRINTF (1, 2);
406
+ GLIB_AVAILABLE_IN_2_38
407
+ gboolean g_test_failed (void);
408
+ GLIB_AVAILABLE_IN_2_38
409
+ void g_test_set_nonfatal_assertions (void);
410
+ GLIB_AVAILABLE_IN_2_78
411
+ void g_test_disable_crash_reporting (void);
412
+
413
+ /**
414
+ * g_test_add:
415
+ * @testpath: The test path for a new test case.
416
+ * @Fixture: The type of a fixture data structure.
417
+ * @tdata: Data argument for the test functions.
418
+ * @fsetup: The function to set up the fixture data.
419
+ * @ftest: The actual test function.
420
+ * @fteardown: The function to tear down the fixture data.
421
+ *
422
+ * Hook up a new test case at @testpath, similar to g_test_add_func().
423
+ * A fixture data structure with setup and teardown functions may be provided,
424
+ * similar to g_test_create_case().
425
+ *
426
+ * g_test_add() is implemented as a macro, so that the fsetup(), ftest() and
427
+ * fteardown() callbacks can expect a @Fixture pointer as their first argument
428
+ * in a type safe manner. They otherwise have type #GTestFixtureFunc.
429
+ *
430
+ * Since: 2.16
431
+ */
432
+ #define g_test_add(testpath, Fixture, tdata, fsetup, ftest, fteardown) \
433
+ G_STMT_START { \
434
+ void (*add_vtable) (const char*, \
435
+ gsize, \
436
+ gconstpointer, \
437
+ void (*) (Fixture*, gconstpointer), \
438
+ void (*) (Fixture*, gconstpointer), \
439
+ void (*) (Fixture*, gconstpointer)) = (void (*) (const gchar *, gsize, gconstpointer, void (*) (Fixture*, gconstpointer), void (*) (Fixture*, gconstpointer), void (*) (Fixture*, gconstpointer))) g_test_add_vtable; \
440
+ add_vtable \
441
+ (testpath, sizeof (Fixture), tdata, fsetup, ftest, fteardown); \
442
+ } G_STMT_END
443
+
444
+ /* add test messages to the test report */
445
+ GLIB_AVAILABLE_IN_ALL
446
+ void g_test_message (const char *format,
447
+ ...) G_GNUC_PRINTF (1, 2);
448
+ GLIB_AVAILABLE_IN_ALL
449
+ void g_test_bug_base (const char *uri_pattern);
450
+ GLIB_AVAILABLE_IN_ALL
451
+ void g_test_bug (const char *bug_uri_snippet);
452
+ GLIB_AVAILABLE_IN_2_62
453
+ void g_test_summary (const char *summary);
454
+ /* measure test timings */
455
+ GLIB_AVAILABLE_IN_ALL
456
+ void g_test_timer_start (void);
457
+ GLIB_AVAILABLE_IN_ALL
458
+ double g_test_timer_elapsed (void); /* elapsed seconds */
459
+ GLIB_AVAILABLE_IN_ALL
460
+ double g_test_timer_last (void); /* repeat last elapsed() result */
461
+
462
+ /* automatically g_free or g_object_unref upon teardown */
463
+ GLIB_AVAILABLE_IN_ALL
464
+ void g_test_queue_free (gpointer gfree_pointer);
465
+ GLIB_AVAILABLE_IN_ALL
466
+ void g_test_queue_destroy (GDestroyNotify destroy_func,
467
+ gpointer destroy_data);
468
+ #define g_test_queue_unref(gobject) g_test_queue_destroy (g_object_unref, gobject)
469
+
470
+ /**
471
+ * GTestTrapFlags:
472
+ * @G_TEST_TRAP_DEFAULT: Default behaviour. Since: 2.74
473
+ * @G_TEST_TRAP_SILENCE_STDOUT: Redirect stdout of the test child to
474
+ * `/dev/null` so it cannot be observed on the console during test
475
+ * runs. The actual output is still captured though to allow later
476
+ * tests with g_test_trap_assert_stdout().
477
+ * @G_TEST_TRAP_SILENCE_STDERR: Redirect stderr of the test child to
478
+ * `/dev/null` so it cannot be observed on the console during test
479
+ * runs. The actual output is still captured though to allow later
480
+ * tests with g_test_trap_assert_stderr().
481
+ * @G_TEST_TRAP_INHERIT_STDIN: If this flag is given, stdin of the
482
+ * child process is shared with stdin of its parent process.
483
+ * It is redirected to `/dev/null` otherwise.
484
+ *
485
+ * Test traps are guards around forked tests.
486
+ * These flags determine what traps to set.
487
+ *
488
+ * Deprecated: 2.38: #GTestTrapFlags is used only with g_test_trap_fork(),
489
+ * which is deprecated. g_test_trap_subprocess() uses
490
+ * #GTestSubprocessFlags.
491
+ */
492
+ typedef enum {
493
+ G_TEST_TRAP_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0,
494
+ G_TEST_TRAP_SILENCE_STDOUT = 1 << 7,
495
+ G_TEST_TRAP_SILENCE_STDERR = 1 << 8,
496
+ G_TEST_TRAP_INHERIT_STDIN = 1 << 9
497
+ } GTestTrapFlags GLIB_DEPRECATED_TYPE_IN_2_38_FOR(GTestSubprocessFlags);
498
+
499
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
500
+
501
+ GLIB_DEPRECATED_IN_2_38_FOR (g_test_trap_subprocess)
502
+ gboolean g_test_trap_fork (guint64 usec_timeout,
503
+ GTestTrapFlags test_trap_flags);
504
+
505
+ G_GNUC_END_IGNORE_DEPRECATIONS
506
+
507
+ typedef enum {
508
+ G_TEST_SUBPROCESS_DEFAULT GLIB_AVAILABLE_ENUMERATOR_IN_2_74 = 0,
509
+ G_TEST_SUBPROCESS_INHERIT_STDIN = 1 << 0,
510
+ G_TEST_SUBPROCESS_INHERIT_STDOUT = 1 << 1,
511
+ G_TEST_SUBPROCESS_INHERIT_STDERR = 1 << 2
512
+ } GTestSubprocessFlags;
513
+
514
+ GLIB_AVAILABLE_IN_2_38
515
+ void g_test_trap_subprocess (const char *test_path,
516
+ guint64 usec_timeout,
517
+ GTestSubprocessFlags test_flags);
518
+
519
+ GLIB_AVAILABLE_IN_ALL
520
+ gboolean g_test_trap_has_passed (void);
521
+ GLIB_AVAILABLE_IN_ALL
522
+ gboolean g_test_trap_reached_timeout (void);
523
+ #define g_test_trap_assert_passed() g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 0, 0)
524
+ #define g_test_trap_assert_failed() g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 1, 0)
525
+ #define g_test_trap_assert_stdout(soutpattern) g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 2, soutpattern)
526
+ #define g_test_trap_assert_stdout_unmatched(soutpattern) g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 3, soutpattern)
527
+ #define g_test_trap_assert_stderr(serrpattern) g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 4, serrpattern)
528
+ #define g_test_trap_assert_stderr_unmatched(serrpattern) g_test_trap_assertions (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, 5, serrpattern)
529
+
530
+ /* provide seed-able random numbers for tests */
531
+ #define g_test_rand_bit() (0 != (g_test_rand_int() & (1 << 15)))
532
+ GLIB_AVAILABLE_IN_ALL
533
+ gint32 g_test_rand_int (void);
534
+ GLIB_AVAILABLE_IN_ALL
535
+ gint32 g_test_rand_int_range (gint32 begin,
536
+ gint32 end);
537
+ GLIB_AVAILABLE_IN_ALL
538
+ double g_test_rand_double (void);
539
+ GLIB_AVAILABLE_IN_ALL
540
+ double g_test_rand_double_range (double range_start,
541
+ double range_end);
542
+
543
+ /*
544
+ * semi-internal API: non-documented symbols with stable ABI. You
545
+ * should use the non-internal helper macros instead. However, for
546
+ * compatibility reason, you may use this semi-internal API.
547
+ */
548
+ GLIB_AVAILABLE_IN_ALL
549
+ GTestCase* g_test_create_case (const char *test_name,
550
+ gsize data_size,
551
+ gconstpointer test_data,
552
+ GTestFixtureFunc data_setup,
553
+ GTestFixtureFunc data_test,
554
+ GTestFixtureFunc data_teardown);
555
+ GLIB_AVAILABLE_IN_ALL
556
+ GTestSuite* g_test_create_suite (const char *suite_name);
557
+ GLIB_AVAILABLE_IN_ALL
558
+ GTestSuite* g_test_get_root (void);
559
+ GLIB_AVAILABLE_IN_ALL
560
+ void g_test_suite_add (GTestSuite *suite,
561
+ GTestCase *test_case);
562
+ GLIB_AVAILABLE_IN_ALL
563
+ void g_test_suite_add_suite (GTestSuite *suite,
564
+ GTestSuite *nestedsuite);
565
+ GLIB_AVAILABLE_IN_ALL
566
+ int g_test_run_suite (GTestSuite *suite);
567
+
568
+ GLIB_AVAILABLE_IN_2_70
569
+ void g_test_case_free (GTestCase *test_case);
570
+
571
+ GLIB_AVAILABLE_IN_2_70
572
+ void g_test_suite_free (GTestSuite *suite);
573
+
574
+ GLIB_AVAILABLE_IN_ALL
575
+ void g_test_trap_assertions (const char *domain,
576
+ const char *file,
577
+ int line,
578
+ const char *func,
579
+ guint64 assertion_flags, /* 0-pass, 1-fail, 2-outpattern, 4-errpattern */
580
+ const char *pattern);
581
+ GLIB_AVAILABLE_IN_ALL
582
+ void g_assertion_message (const char *domain,
583
+ const char *file,
584
+ int line,
585
+ const char *func,
586
+ const char *message) G_ANALYZER_NORETURN;
587
+ G_NORETURN
588
+ GLIB_AVAILABLE_IN_ALL
589
+ void g_assertion_message_expr (const char *domain,
590
+ const char *file,
591
+ int line,
592
+ const char *func,
593
+ const char *expr);
594
+ GLIB_AVAILABLE_IN_ALL
595
+ void g_assertion_message_cmpstr (const char *domain,
596
+ const char *file,
597
+ int line,
598
+ const char *func,
599
+ const char *expr,
600
+ const char *arg1,
601
+ const char *cmp,
602
+ const char *arg2) G_ANALYZER_NORETURN;
603
+
604
+ GLIB_AVAILABLE_IN_2_68
605
+ void g_assertion_message_cmpstrv (const char *domain,
606
+ const char *file,
607
+ int line,
608
+ const char *func,
609
+ const char *expr,
610
+ const char * const *arg1,
611
+ const char * const *arg2,
612
+ gsize first_wrong_idx) G_ANALYZER_NORETURN;
613
+ GLIB_AVAILABLE_IN_2_78
614
+ void g_assertion_message_cmpint (const char *domain,
615
+ const char *file,
616
+ int line,
617
+ const char *func,
618
+ const char *expr,
619
+ guint64 arg1,
620
+ const char *cmp,
621
+ guint64 arg2,
622
+ char numtype) G_ANALYZER_NORETURN;
623
+ GLIB_AVAILABLE_IN_ALL
624
+ void g_assertion_message_cmpnum (const char *domain,
625
+ const char *file,
626
+ int line,
627
+ const char *func,
628
+ const char *expr,
629
+ long double arg1,
630
+ const char *cmp,
631
+ long double arg2,
632
+ char numtype) G_ANALYZER_NORETURN;
633
+ GLIB_AVAILABLE_IN_ALL
634
+ void g_assertion_message_error (const char *domain,
635
+ const char *file,
636
+ int line,
637
+ const char *func,
638
+ const char *expr,
639
+ const GError *error,
640
+ GQuark error_domain,
641
+ int error_code) G_ANALYZER_NORETURN;
642
+ GLIB_AVAILABLE_IN_ALL
643
+ void g_test_add_vtable (const char *testpath,
644
+ gsize data_size,
645
+ gconstpointer test_data,
646
+ GTestFixtureFunc data_setup,
647
+ GTestFixtureFunc data_test,
648
+ GTestFixtureFunc data_teardown);
649
+ typedef struct {
650
+ gboolean test_initialized;
651
+ gboolean test_quick; /* disable thorough tests */
652
+ gboolean test_perf; /* run performance tests */
653
+ gboolean test_verbose; /* extra info */
654
+ gboolean test_quiet; /* reduce output */
655
+ gboolean test_undefined; /* run tests that are meant to assert */
656
+ } GTestConfig;
657
+ GLIB_VAR const GTestConfig * const g_test_config_vars;
658
+
659
+ /* internal logging API */
660
+ typedef enum {
661
+ G_TEST_RUN_SUCCESS,
662
+ G_TEST_RUN_SKIPPED,
663
+ G_TEST_RUN_FAILURE,
664
+ G_TEST_RUN_INCOMPLETE
665
+ } GTestResult;
666
+
667
+ typedef enum {
668
+ G_TEST_LOG_NONE,
669
+ G_TEST_LOG_ERROR, /* s:msg */
670
+ G_TEST_LOG_START_BINARY, /* s:binaryname s:seed */
671
+ G_TEST_LOG_LIST_CASE, /* s:testpath */
672
+ G_TEST_LOG_SKIP_CASE, /* s:testpath */
673
+ G_TEST_LOG_START_CASE, /* s:testpath */
674
+ G_TEST_LOG_STOP_CASE, /* d:status d:nforks d:elapsed */
675
+ G_TEST_LOG_MIN_RESULT, /* s:blurb d:result */
676
+ G_TEST_LOG_MAX_RESULT, /* s:blurb d:result */
677
+ G_TEST_LOG_MESSAGE, /* s:blurb */
678
+ G_TEST_LOG_START_SUITE,
679
+ G_TEST_LOG_STOP_SUITE
680
+ } GTestLogType;
681
+
682
+ typedef struct {
683
+ GTestLogType log_type;
684
+ guint n_strings;
685
+ gchar **strings; /* NULL terminated */
686
+ guint n_nums;
687
+ long double *nums;
688
+ } GTestLogMsg;
689
+ typedef struct {
690
+ /*< private >*/
691
+ GString *data;
692
+ GSList *msgs;
693
+ } GTestLogBuffer;
694
+
695
+ GLIB_AVAILABLE_IN_ALL
696
+ const char* g_test_log_type_name (GTestLogType log_type);
697
+ GLIB_AVAILABLE_IN_ALL
698
+ GTestLogBuffer* g_test_log_buffer_new (void);
699
+ GLIB_AVAILABLE_IN_ALL
700
+ void g_test_log_buffer_free (GTestLogBuffer *tbuffer);
701
+ GLIB_AVAILABLE_IN_ALL
702
+ void g_test_log_buffer_push (GTestLogBuffer *tbuffer,
703
+ guint n_bytes,
704
+ const guint8 *bytes);
705
+ GLIB_AVAILABLE_IN_ALL
706
+ GTestLogMsg* g_test_log_buffer_pop (GTestLogBuffer *tbuffer);
707
+ GLIB_AVAILABLE_IN_ALL
708
+ void g_test_log_msg_free (GTestLogMsg *tmsg);
709
+
710
+ /**
711
+ * GTestLogFatalFunc:
712
+ * @log_domain: the log domain of the message
713
+ * @log_level: the log level of the message (including the fatal and recursion flags)
714
+ * @message: the message to process
715
+ * @user_data: user data, set in g_test_log_set_fatal_handler()
716
+ *
717
+ * Specifies the prototype of fatal log handler functions.
718
+ *
719
+ * Returns: %TRUE if the program should abort, %FALSE otherwise
720
+ *
721
+ * Since: 2.22
722
+ */
723
+ typedef gboolean (*GTestLogFatalFunc) (const gchar *log_domain,
724
+ GLogLevelFlags log_level,
725
+ const gchar *message,
726
+ gpointer user_data);
727
+ GLIB_AVAILABLE_IN_ALL
728
+ void
729
+ g_test_log_set_fatal_handler (GTestLogFatalFunc log_func,
730
+ gpointer user_data);
731
+
732
+ GLIB_AVAILABLE_IN_2_34
733
+ void g_test_expect_message (const gchar *log_domain,
734
+ GLogLevelFlags log_level,
735
+ const gchar *pattern);
736
+ GLIB_AVAILABLE_IN_2_34
737
+ void g_test_assert_expected_messages_internal (const char *domain,
738
+ const char *file,
739
+ int line,
740
+ const char *func);
741
+
742
+ typedef enum
743
+ {
744
+ G_TEST_DIST,
745
+ G_TEST_BUILT
746
+ } GTestFileType;
747
+
748
+ GLIB_AVAILABLE_IN_2_38
749
+ gchar * g_test_build_filename (GTestFileType file_type,
750
+ const gchar *first_path,
751
+ ...) G_GNUC_NULL_TERMINATED;
752
+ GLIB_AVAILABLE_IN_2_38
753
+ const gchar *g_test_get_dir (GTestFileType file_type);
754
+ GLIB_AVAILABLE_IN_2_38
755
+ const gchar *g_test_get_filename (GTestFileType file_type,
756
+ const gchar *first_path,
757
+ ...) G_GNUC_NULL_TERMINATED;
758
+
759
+ #define g_test_assert_expected_messages() g_test_assert_expected_messages_internal (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC)
760
+
761
+ G_END_DECLS
762
+
763
+ #endif /* __G_TEST_UTILS_H__ */