@scriptc/cli-darwin-x64 0.0.0 → 0.2.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 (963) hide show
  1. package/dist/LICENSE +202 -0
  2. package/dist/THIRD_PARTY_NOTICES +4 -0
  3. package/dist/bin/scriptc +0 -0
  4. package/dist/bin/scriptc.json +21 -0
  5. package/dist/lib/declarations/scriptc-node-fallback.d.ts +3857 -0
  6. package/dist/lib/declarations/scriptc-overrides.d.ts +92 -0
  7. package/dist/lib/declarations/scriptc.d.ts +98 -0
  8. package/dist/lib/llvm/LICENSE +1 -0
  9. package/dist/lib/llvm/SCRIPTC_LICENSE +1 -0
  10. package/dist/lib/llvm/THIRD_PARTY_NOTICES +1 -0
  11. package/dist/lib/llvm/bin/scriptc-llvm-codegen +0 -0
  12. package/dist/lib/llvm/package.json +35 -0
  13. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_array.o +0 -0
  14. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_assert.o +0 -0
  15. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_async.o +0 -0
  16. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_async_dyn.o +0 -0
  17. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bigint.o +0 -0
  18. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bigint_assert.o +0 -0
  19. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bytes.o +0 -0
  20. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_bytes_io.o +0 -0
  21. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_child.o +0 -0
  22. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_closure.o +0 -0
  23. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_console.o +0 -0
  24. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_console_native.o +0 -0
  25. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_copying.o +0 -0
  26. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_crypto_async.o +0 -0
  27. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_cycle.o +0 -0
  28. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_dc.o +0 -0
  29. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_dgram.o +0 -0
  30. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_dyn_handle.o +0 -0
  31. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_dyn_invoke.o +0 -0
  32. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_error.o +0 -0
  33. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_events.o +0 -0
  34. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_events_emitter.o +0 -0
  35. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_exception.o +0 -0
  36. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_fetch.o +0 -0
  37. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_ffi.o +0 -0
  38. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_ffi_queue.o +0 -0
  39. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_file_handle.o +0 -0
  40. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_grapheme.o +0 -0
  41. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_http.o +0 -0
  42. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_http2.o +0 -0
  43. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_inspect.o +0 -0
  44. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_json.o +0 -0
  45. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_lib.o +0 -0
  46. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_loop_epoll.o +0 -0
  47. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_loop_kqueue.o +0 -0
  48. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_loop_wsapoll.o +0 -0
  49. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_map.o +0 -0
  50. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_net.o +0 -0
  51. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_node_builtin.o +0 -0
  52. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_number.o +0 -0
  53. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_object.o +0 -0
  54. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_path.o +0 -0
  55. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_qs.o +0 -0
  56. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_readline.o +0 -0
  57. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_regex.o +0 -0
  58. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_stream.o +0 -0
  59. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_string.o +0 -0
  60. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_symbol.o +0 -0
  61. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_test.o +0 -0
  62. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_tls.o +0 -0
  63. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_tls_ca.o +0 -0
  64. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_union.o +0 -0
  65. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_url.o +0 -0
  66. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_url_params.o +0 -0
  67. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_util.o +0 -0
  68. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_watch.o +0 -0
  69. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/default/scr_zlib.o +0 -0
  70. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_array.o +0 -0
  71. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_assert.o +0 -0
  72. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_async.o +0 -0
  73. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_async_dyn.o +0 -0
  74. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bigint.o +0 -0
  75. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bigint_assert.o +0 -0
  76. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bytes.o +0 -0
  77. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_bytes_io.o +0 -0
  78. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_child.o +0 -0
  79. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_closure.o +0 -0
  80. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_console.o +0 -0
  81. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_console_native.o +0 -0
  82. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_copying.o +0 -0
  83. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_crypto_async.o +0 -0
  84. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_cycle.o +0 -0
  85. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_dc.o +0 -0
  86. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_dgram.o +0 -0
  87. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_dyn_handle.o +0 -0
  88. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_dyn_invoke.o +0 -0
  89. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_error.o +0 -0
  90. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_events.o +0 -0
  91. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_events_emitter.o +0 -0
  92. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_exception.o +0 -0
  93. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_fetch.o +0 -0
  94. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_ffi.o +0 -0
  95. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_ffi_queue.o +0 -0
  96. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_file_handle.o +0 -0
  97. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_grapheme.o +0 -0
  98. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_http.o +0 -0
  99. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_http2.o +0 -0
  100. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_inspect.o +0 -0
  101. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_inspect_island.o +0 -0
  102. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_island.o +0 -0
  103. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_json.o +0 -0
  104. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_lib.o +0 -0
  105. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_loop_epoll.o +0 -0
  106. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_loop_kqueue.o +0 -0
  107. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_loop_wsapoll.o +0 -0
  108. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_map.o +0 -0
  109. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_net.o +0 -0
  110. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_net_island.o +0 -0
  111. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_node_builtin.o +0 -0
  112. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_number.o +0 -0
  113. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_object.o +0 -0
  114. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_path.o +0 -0
  115. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_qs.o +0 -0
  116. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_readline.o +0 -0
  117. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_regex.o +0 -0
  118. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_stream.o +0 -0
  119. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_string.o +0 -0
  120. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_symbol.o +0 -0
  121. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_test.o +0 -0
  122. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_tls.o +0 -0
  123. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_tls_ca.o +0 -0
  124. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_union.o +0 -0
  125. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_url.o +0 -0
  126. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_url_params.o +0 -0
  127. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_util.o +0 -0
  128. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_watch.o +0 -0
  129. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_web.o +0 -0
  130. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_zlib.o +0 -0
  131. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic/scr_zlib_island.o +0 -0
  132. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  133. package/dist/lib/runtime-darwin-x64/artifacts/dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  134. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_array.o +0 -0
  135. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_assert.o +0 -0
  136. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bigint.o +0 -0
  137. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bigint_assert.o +0 -0
  138. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bytes.o +0 -0
  139. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_bytes_io.o +0 -0
  140. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_closure.o +0 -0
  141. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_console.o +0 -0
  142. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_console_native.o +0 -0
  143. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_copying.o +0 -0
  144. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_cycle.o +0 -0
  145. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_dyn_handle.o +0 -0
  146. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_dyn_invoke.o +0 -0
  147. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_error.o +0 -0
  148. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_events_emitter.o +0 -0
  149. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_exception.o +0 -0
  150. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_grapheme.o +0 -0
  151. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_inspect.o +0 -0
  152. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_json.o +0 -0
  153. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_lib.o +0 -0
  154. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_library.o +0 -0
  155. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_map.o +0 -0
  156. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_node_builtin.o +0 -0
  157. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_number.o +0 -0
  158. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_object.o +0 -0
  159. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_path.o +0 -0
  160. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_regex.o +0 -0
  161. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_string.o +0 -0
  162. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_symbol.o +0 -0
  163. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_union.o +0 -0
  164. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_url.o +0 -0
  165. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_url_params.o +0 -0
  166. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/default/scr_zlib.o +0 -0
  167. package/dist/lib/runtime-darwin-x64/artifacts/library-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  168. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_array.o +0 -0
  169. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_assert.o +0 -0
  170. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bigint.o +0 -0
  171. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bigint_assert.o +0 -0
  172. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bytes.o +0 -0
  173. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_bytes_io.o +0 -0
  174. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_closure.o +0 -0
  175. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_console.o +0 -0
  176. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_console_native.o +0 -0
  177. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_copying.o +0 -0
  178. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_cycle.o +0 -0
  179. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_dyn_handle.o +0 -0
  180. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_dyn_invoke.o +0 -0
  181. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_error.o +0 -0
  182. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_events_emitter.o +0 -0
  183. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_exception.o +0 -0
  184. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_grapheme.o +0 -0
  185. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_inspect.o +0 -0
  186. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_json.o +0 -0
  187. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_lib.o +0 -0
  188. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_library.o +0 -0
  189. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_map.o +0 -0
  190. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_node_builtin.o +0 -0
  191. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_number.o +0 -0
  192. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_object.o +0 -0
  193. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_path.o +0 -0
  194. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_regex.o +0 -0
  195. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_string.o +0 -0
  196. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_symbol.o +0 -0
  197. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_union.o +0 -0
  198. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_url.o +0 -0
  199. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_url_params.o +0 -0
  200. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/default/scr_zlib.o +0 -0
  201. package/dist/lib/runtime-darwin-x64/artifacts/library-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  202. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_array.o +0 -0
  203. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_assert.o +0 -0
  204. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bigint.o +0 -0
  205. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bigint_assert.o +0 -0
  206. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bytes.o +0 -0
  207. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_bytes_io.o +0 -0
  208. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_closure.o +0 -0
  209. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_console.o +0 -0
  210. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_console_native.o +0 -0
  211. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_copying.o +0 -0
  212. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_cycle.o +0 -0
  213. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_dyn_handle.o +0 -0
  214. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_dyn_invoke.o +0 -0
  215. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_error.o +0 -0
  216. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_events_emitter.o +0 -0
  217. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_exception.o +0 -0
  218. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_grapheme.o +0 -0
  219. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_inspect.o +0 -0
  220. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_json.o +0 -0
  221. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_lib.o +0 -0
  222. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_library.o +0 -0
  223. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_map.o +0 -0
  224. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_node_builtin.o +0 -0
  225. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_number.o +0 -0
  226. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_object.o +0 -0
  227. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_path.o +0 -0
  228. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_regex.o +0 -0
  229. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_string.o +0 -0
  230. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_symbol.o +0 -0
  231. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_union.o +0 -0
  232. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_url.o +0 -0
  233. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_url_params.o +0 -0
  234. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/default/scr_zlib.o +0 -0
  235. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-dev/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  236. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_array.o +0 -0
  237. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_assert.o +0 -0
  238. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bigint.o +0 -0
  239. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bigint_assert.o +0 -0
  240. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bytes.o +0 -0
  241. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_bytes_io.o +0 -0
  242. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_closure.o +0 -0
  243. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_console.o +0 -0
  244. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_console_native.o +0 -0
  245. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_copying.o +0 -0
  246. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_cycle.o +0 -0
  247. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_dyn_handle.o +0 -0
  248. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_dyn_invoke.o +0 -0
  249. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_error.o +0 -0
  250. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_events_emitter.o +0 -0
  251. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_exception.o +0 -0
  252. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_grapheme.o +0 -0
  253. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_inspect.o +0 -0
  254. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_json.o +0 -0
  255. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_lib.o +0 -0
  256. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_library.o +0 -0
  257. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_map.o +0 -0
  258. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_node_builtin.o +0 -0
  259. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_number.o +0 -0
  260. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_object.o +0 -0
  261. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_path.o +0 -0
  262. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_regex.o +0 -0
  263. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_string.o +0 -0
  264. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_symbol.o +0 -0
  265. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_union.o +0 -0
  266. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_url.o +0 -0
  267. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_url_params.o +0 -0
  268. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/default/scr_zlib.o +0 -0
  269. package/dist/lib/runtime-darwin-x64/artifacts/library-thread-release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  270. package/dist/lib/runtime-darwin-x64/artifacts/licenses/mbedtls.txt +553 -0
  271. package/dist/lib/runtime-darwin-x64/artifacts/licenses/quickjs-ng.txt +24 -0
  272. package/dist/lib/runtime-darwin-x64/artifacts/licenses/ryu.txt +23 -0
  273. package/dist/lib/runtime-darwin-x64/artifacts/licenses/scriptc-runtime.txt +202 -0
  274. package/dist/lib/runtime-darwin-x64/artifacts/licenses/unicode.txt +39 -0
  275. package/dist/lib/runtime-darwin-x64/artifacts/licenses/v8-number-radix.txt +61 -0
  276. package/dist/lib/runtime-darwin-x64/artifacts/licenses/zlib.txt +22 -0
  277. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_array.o +0 -0
  278. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_assert.o +0 -0
  279. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_async.o +0 -0
  280. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_async_dyn.o +0 -0
  281. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bigint.o +0 -0
  282. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bigint_assert.o +0 -0
  283. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bytes.o +0 -0
  284. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_bytes_io.o +0 -0
  285. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_child.o +0 -0
  286. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_closure.o +0 -0
  287. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_console.o +0 -0
  288. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_console_native.o +0 -0
  289. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_copying.o +0 -0
  290. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_crypto_async.o +0 -0
  291. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_cycle.o +0 -0
  292. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_dc.o +0 -0
  293. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_dgram.o +0 -0
  294. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_dyn_handle.o +0 -0
  295. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_dyn_invoke.o +0 -0
  296. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_error.o +0 -0
  297. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_events.o +0 -0
  298. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_events_emitter.o +0 -0
  299. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_exception.o +0 -0
  300. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_fetch.o +0 -0
  301. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_ffi.o +0 -0
  302. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_ffi_queue.o +0 -0
  303. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_file_handle.o +0 -0
  304. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_grapheme.o +0 -0
  305. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_http.o +0 -0
  306. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_http2.o +0 -0
  307. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_inspect.o +0 -0
  308. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_json.o +0 -0
  309. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_lib.o +0 -0
  310. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_loop_epoll.o +0 -0
  311. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_loop_kqueue.o +0 -0
  312. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_loop_wsapoll.o +0 -0
  313. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_map.o +0 -0
  314. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_net.o +0 -0
  315. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_node_builtin.o +0 -0
  316. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_number.o +0 -0
  317. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_object.o +0 -0
  318. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_path.o +0 -0
  319. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_qs.o +0 -0
  320. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_readline.o +0 -0
  321. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_regex.o +0 -0
  322. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_stream.o +0 -0
  323. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_string.o +0 -0
  324. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_symbol.o +0 -0
  325. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_test.o +0 -0
  326. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_tls.o +0 -0
  327. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_tls_ca.o +0 -0
  328. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_union.o +0 -0
  329. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_url.o +0 -0
  330. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_url_params.o +0 -0
  331. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_util.o +0 -0
  332. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_watch.o +0 -0
  333. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/default/scr_zlib.o +0 -0
  334. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_array.o +0 -0
  335. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_assert.o +0 -0
  336. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_async.o +0 -0
  337. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_async_dyn.o +0 -0
  338. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bigint.o +0 -0
  339. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bigint_assert.o +0 -0
  340. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bytes.o +0 -0
  341. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_bytes_io.o +0 -0
  342. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_child.o +0 -0
  343. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_closure.o +0 -0
  344. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_console.o +0 -0
  345. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_console_native.o +0 -0
  346. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_copying.o +0 -0
  347. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_crypto_async.o +0 -0
  348. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_cycle.o +0 -0
  349. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_dc.o +0 -0
  350. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_dgram.o +0 -0
  351. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_dyn_handle.o +0 -0
  352. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_dyn_invoke.o +0 -0
  353. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_error.o +0 -0
  354. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_events.o +0 -0
  355. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_events_emitter.o +0 -0
  356. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_exception.o +0 -0
  357. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_fetch.o +0 -0
  358. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_ffi.o +0 -0
  359. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_ffi_queue.o +0 -0
  360. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_file_handle.o +0 -0
  361. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_grapheme.o +0 -0
  362. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_http.o +0 -0
  363. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_http2.o +0 -0
  364. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_inspect.o +0 -0
  365. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_inspect_island.o +0 -0
  366. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_island.o +0 -0
  367. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_json.o +0 -0
  368. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_lib.o +0 -0
  369. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_loop_epoll.o +0 -0
  370. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_loop_kqueue.o +0 -0
  371. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_loop_wsapoll.o +0 -0
  372. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_map.o +0 -0
  373. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_net.o +0 -0
  374. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_net_island.o +0 -0
  375. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_node_builtin.o +0 -0
  376. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_number.o +0 -0
  377. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_object.o +0 -0
  378. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_path.o +0 -0
  379. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_qs.o +0 -0
  380. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_readline.o +0 -0
  381. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_regex.o +0 -0
  382. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_stream.o +0 -0
  383. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_string.o +0 -0
  384. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_symbol.o +0 -0
  385. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_test.o +0 -0
  386. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_tls.o +0 -0
  387. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_tls_ca.o +0 -0
  388. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_union.o +0 -0
  389. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_url.o +0 -0
  390. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_url_params.o +0 -0
  391. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_util.o +0 -0
  392. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_watch.o +0 -0
  393. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_web.o +0 -0
  394. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_zlib.o +0 -0
  395. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic/scr_zlib_island.o +0 -0
  396. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/dynamic-text-decoder-legacy/scr_bytes.o +0 -0
  397. package/dist/lib/runtime-darwin-x64/artifacts/release/runtime/text-decoder-legacy/scr_bytes.o +0 -0
  398. package/dist/lib/runtime-darwin-x64/artifacts/vendor/libregexp/libscriptc-libregexp.a +0 -0
  399. package/dist/lib/runtime-darwin-x64/artifacts/vendor/mbedtls/libscriptc-mbedtls.a +0 -0
  400. package/dist/lib/runtime-darwin-x64/artifacts/vendor/quickjs/libscriptc-quickjs.a +0 -0
  401. package/dist/lib/runtime-darwin-x64/artifacts/vendor/zlib/libscriptc-zlib.a +0 -0
  402. package/dist/lib/runtime-darwin-x64/package.json +24 -0
  403. package/dist/lib/runtime-darwin-x64/runtime-pack.json +5762 -0
  404. package/dist/lib/runtime-sources/LICENSE +202 -0
  405. package/dist/lib/runtime-sources/package.json +22 -0
  406. package/dist/lib/runtime-sources/src/scr_array.c +1460 -0
  407. package/dist/lib/runtime-sources/src/scr_assert.c +1538 -0
  408. package/dist/lib/runtime-sources/src/scr_async.c +3945 -0
  409. package/dist/lib/runtime-sources/src/scr_async.test.c +134 -0
  410. package/dist/lib/runtime-sources/src/scr_async.test.ts +34 -0
  411. package/dist/lib/runtime-sources/src/scr_async_dyn.c +877 -0
  412. package/dist/lib/runtime-sources/src/scr_bigint.c +898 -0
  413. package/dist/lib/runtime-sources/src/scr_bigint_assert.c +22 -0
  414. package/dist/lib/runtime-sources/src/scr_bytes.c +2682 -0
  415. package/dist/lib/runtime-sources/src/scr_bytes_io.c +1324 -0
  416. package/dist/lib/runtime-sources/src/scr_child.c +6335 -0
  417. package/dist/lib/runtime-sources/src/scr_closure.c +213 -0
  418. package/dist/lib/runtime-sources/src/scr_console.c +259 -0
  419. package/dist/lib/runtime-sources/src/scr_console_native.c +95 -0
  420. package/dist/lib/runtime-sources/src/scr_copying.c +146 -0
  421. package/dist/lib/runtime-sources/src/scr_crypto_async.c +24 -0
  422. package/dist/lib/runtime-sources/src/scr_cycle.c +565 -0
  423. package/dist/lib/runtime-sources/src/scr_dc.c +814 -0
  424. package/dist/lib/runtime-sources/src/scr_dgram.c +1182 -0
  425. package/dist/lib/runtime-sources/src/scr_dyn_handle.c +96 -0
  426. package/dist/lib/runtime-sources/src/scr_dyn_invoke.c +1759 -0
  427. package/dist/lib/runtime-sources/src/scr_error.c +419 -0
  428. package/dist/lib/runtime-sources/src/scr_events.c +1222 -0
  429. package/dist/lib/runtime-sources/src/scr_events_emitter.c +842 -0
  430. package/dist/lib/runtime-sources/src/scr_exception.c +484 -0
  431. package/dist/lib/runtime-sources/src/scr_fetch.c +7479 -0
  432. package/dist/lib/runtime-sources/src/scr_fetch_curl.c +666 -0
  433. package/dist/lib/runtime-sources/src/scr_ffi.c +143 -0
  434. package/dist/lib/runtime-sources/src/scr_ffi_queue.c +379 -0
  435. package/dist/lib/runtime-sources/src/scr_file_handle.c +562 -0
  436. package/dist/lib/runtime-sources/src/scr_grapheme.c +203 -0
  437. package/dist/lib/runtime-sources/src/scr_grapheme_data.h +842 -0
  438. package/dist/lib/runtime-sources/src/scr_http.c +5811 -0
  439. package/dist/lib/runtime-sources/src/scr_http2.c +3243 -0
  440. package/dist/lib/runtime-sources/src/scr_inspect.c +923 -0
  441. package/dist/lib/runtime-sources/src/scr_inspect_island.c +51 -0
  442. package/dist/lib/runtime-sources/src/scr_island.c +10012 -0
  443. package/dist/lib/runtime-sources/src/scr_island_manifest.h +153 -0
  444. package/dist/lib/runtime-sources/src/scr_json.c +8986 -0
  445. package/dist/lib/runtime-sources/src/scr_json.test.c +182 -0
  446. package/dist/lib/runtime-sources/src/scr_json.test.ts +33 -0
  447. package/dist/lib/runtime-sources/src/scr_lib.c +6304 -0
  448. package/dist/lib/runtime-sources/src/scr_library.c +444 -0
  449. package/dist/lib/runtime-sources/src/scr_loop_epoll.c +241 -0
  450. package/dist/lib/runtime-sources/src/scr_loop_kqueue.c +121 -0
  451. package/dist/lib/runtime-sources/src/scr_loop_wsapoll.c +208 -0
  452. package/dist/lib/runtime-sources/src/scr_map.c +752 -0
  453. package/dist/lib/runtime-sources/src/scr_musl.c +438 -0
  454. package/dist/lib/runtime-sources/src/scr_net.c +3708 -0
  455. package/dist/lib/runtime-sources/src/scr_net_island.c +458 -0
  456. package/dist/lib/runtime-sources/src/scr_node_builtin.c +291 -0
  457. package/dist/lib/runtime-sources/src/scr_number.c +192 -0
  458. package/dist/lib/runtime-sources/src/scr_object.c +91 -0
  459. package/dist/lib/runtime-sources/src/scr_path.c +1281 -0
  460. package/dist/lib/runtime-sources/src/scr_platform.h +119 -0
  461. package/dist/lib/runtime-sources/src/scr_qs.c +496 -0
  462. package/dist/lib/runtime-sources/src/scr_readline.c +288 -0
  463. package/dist/lib/runtime-sources/src/scr_regex.c +1313 -0
  464. package/dist/lib/runtime-sources/src/scr_runtime.h +7364 -0
  465. package/dist/lib/runtime-sources/src/scr_stream.c +3346 -0
  466. package/dist/lib/runtime-sources/src/scr_string.c +1864 -0
  467. package/dist/lib/runtime-sources/src/scr_symbol.c +239 -0
  468. package/dist/lib/runtime-sources/src/scr_test.c +662 -0
  469. package/dist/lib/runtime-sources/src/scr_text_decoder_data.h +7389 -0
  470. package/dist/lib/runtime-sources/src/scr_text_decoder_labels.h +225 -0
  471. package/dist/lib/runtime-sources/src/scr_tls.c +1806 -0
  472. package/dist/lib/runtime-sources/src/scr_tls_ca.c +433 -0
  473. package/dist/lib/runtime-sources/src/scr_union.c +105 -0
  474. package/dist/lib/runtime-sources/src/scr_url.c +1400 -0
  475. package/dist/lib/runtime-sources/src/scr_url_internal.h +29 -0
  476. package/dist/lib/runtime-sources/src/scr_url_params.c +526 -0
  477. package/dist/lib/runtime-sources/src/scr_util.c +984 -0
  478. package/dist/lib/runtime-sources/src/scr_watch.c +568 -0
  479. package/dist/lib/runtime-sources/src/scr_web.c +1854 -0
  480. package/dist/lib/runtime-sources/src/scr_win.c +231 -0
  481. package/dist/lib/runtime-sources/src/scr_win_stats.h +23 -0
  482. package/dist/lib/runtime-sources/src/scr_zlib.c +358 -0
  483. package/dist/lib/runtime-sources/src/scr_zlib_island.c +15 -0
  484. package/dist/lib/runtime-sources/vendor/README.md +60 -0
  485. package/dist/lib/runtime-sources/vendor/curl/COPYRIGHT +534 -0
  486. package/dist/lib/runtime-sources/vendor/curl/include/curl/curl.h +3214 -0
  487. package/dist/lib/runtime-sources/vendor/curl/include/curl/curlver.h +79 -0
  488. package/dist/lib/runtime-sources/vendor/curl/include/curl/easy.h +125 -0
  489. package/dist/lib/runtime-sources/vendor/curl/include/curl/header.h +74 -0
  490. package/dist/lib/runtime-sources/vendor/curl/include/curl/mprintf.h +52 -0
  491. package/dist/lib/runtime-sources/vendor/curl/include/curl/multi.h +460 -0
  492. package/dist/lib/runtime-sources/vendor/curl/include/curl/options.h +70 -0
  493. package/dist/lib/runtime-sources/vendor/curl/include/curl/stdcheaders.h +35 -0
  494. package/dist/lib/runtime-sources/vendor/curl/include/curl/system.h +508 -0
  495. package/dist/lib/runtime-sources/vendor/curl/include/curl/typecheck-gcc.h +716 -0
  496. package/dist/lib/runtime-sources/vendor/curl/include/curl/urlapi.h +149 -0
  497. package/dist/lib/runtime-sources/vendor/curl/include/curl/websockets.h +84 -0
  498. package/dist/lib/runtime-sources/vendor/mbedtls/LICENSE +553 -0
  499. package/dist/lib/runtime-sources/vendor/mbedtls/include/CMakeLists.txt +22 -0
  500. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/aes.h +631 -0
  501. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/aria.h +343 -0
  502. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/asn1.h +642 -0
  503. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/asn1write.h +390 -0
  504. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/base64.h +82 -0
  505. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/bignum.h +1088 -0
  506. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/block_cipher.h +76 -0
  507. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/build_info.h +194 -0
  508. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/camellia.h +305 -0
  509. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ccm.h +526 -0
  510. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/chacha20.h +209 -0
  511. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/chachapoly.h +351 -0
  512. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/check_config.h +1149 -0
  513. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/cipher.h +1250 -0
  514. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/cmac.h +246 -0
  515. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/compat-2.x.h +46 -0
  516. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_legacy_crypto.h +578 -0
  517. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_legacy_from_psa.h +873 -0
  518. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_psa_from_legacy.h +359 -0
  519. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_psa_superset_legacy.h +145 -0
  520. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_ssl.h +91 -0
  521. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_adjust_x509.h +35 -0
  522. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/config_psa.h +61 -0
  523. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/constant_time.h +36 -0
  524. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ctr_drbg.h +596 -0
  525. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/debug.h +156 -0
  526. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/des.h +385 -0
  527. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/dhm.h +972 -0
  528. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ecdh.h +455 -0
  529. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ecdsa.h +674 -0
  530. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ecjpake.h +298 -0
  531. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ecp.h +1517 -0
  532. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/entropy.h +274 -0
  533. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/error.h +201 -0
  534. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/gcm.h +387 -0
  535. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/hkdf.h +124 -0
  536. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/hmac_drbg.h +434 -0
  537. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/lms.h +440 -0
  538. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/mbedtls_config.h +4446 -0
  539. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/md.h +526 -0
  540. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/md5.h +190 -0
  541. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/memory_buffer_alloc.h +142 -0
  542. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/net_sockets.h +299 -0
  543. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/nist_kw.h +166 -0
  544. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/oid.h +727 -0
  545. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/pem.h +160 -0
  546. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/pk.h +1303 -0
  547. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/pkcs12.h +186 -0
  548. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/pkcs5.h +198 -0
  549. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/pkcs7.h +252 -0
  550. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/platform.h +516 -0
  551. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/platform_time.h +79 -0
  552. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/platform_util.h +247 -0
  553. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/poly1305.h +168 -0
  554. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/private_access.h +20 -0
  555. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/psa_util.h +207 -0
  556. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ripemd160.h +136 -0
  557. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/rsa.h +1170 -0
  558. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/sha1.h +219 -0
  559. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/sha256.h +200 -0
  560. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/sha3.h +172 -0
  561. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/sha512.h +208 -0
  562. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ssl.h +5887 -0
  563. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ssl_cache.h +187 -0
  564. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ssl_ciphersuites.h +482 -0
  565. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ssl_cookie.h +106 -0
  566. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/ssl_ticket.h +199 -0
  567. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/threading.h +167 -0
  568. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/timing.h +94 -0
  569. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/version.h +78 -0
  570. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/x509.h +500 -0
  571. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/x509_crl.h +184 -0
  572. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/x509_crt.h +1208 -0
  573. package/dist/lib/runtime-sources/vendor/mbedtls/include/mbedtls/x509_csr.h +382 -0
  574. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/build_info.h +20 -0
  575. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto.h +4998 -0
  576. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_adjust_auto_enabled.h +31 -0
  577. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_adjust_config_dependencies.h +51 -0
  578. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_adjust_config_key_pair_types.h +101 -0
  579. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_adjust_config_synonyms.h +49 -0
  580. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_builtin_composites.h +214 -0
  581. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_builtin_key_derivation.h +118 -0
  582. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_builtin_primitives.h +114 -0
  583. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_compat.h +230 -0
  584. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_config.h +145 -0
  585. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_driver_common.h +44 -0
  586. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_driver_contexts_composites.h +151 -0
  587. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_driver_contexts_key_derivation.h +52 -0
  588. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_driver_contexts_primitives.h +105 -0
  589. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_extra.h +2145 -0
  590. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_legacy.h +88 -0
  591. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_platform.h +102 -0
  592. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_se_driver.h +1383 -0
  593. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_sizes.h +1319 -0
  594. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_struct.h +527 -0
  595. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_types.h +508 -0
  596. package/dist/lib/runtime-sources/vendor/mbedtls/include/psa/crypto_values.h +2782 -0
  597. package/dist/lib/runtime-sources/vendor/mbedtls/library/aes.c +2294 -0
  598. package/dist/lib/runtime-sources/vendor/mbedtls/library/aesce.c +624 -0
  599. package/dist/lib/runtime-sources/vendor/mbedtls/library/aesce.h +136 -0
  600. package/dist/lib/runtime-sources/vendor/mbedtls/library/aesni.c +846 -0
  601. package/dist/lib/runtime-sources/vendor/mbedtls/library/aesni.h +162 -0
  602. package/dist/lib/runtime-sources/vendor/mbedtls/library/alignment.h +704 -0
  603. package/dist/lib/runtime-sources/vendor/mbedtls/library/aria.c +969 -0
  604. package/dist/lib/runtime-sources/vendor/mbedtls/library/asn1parse.c +468 -0
  605. package/dist/lib/runtime-sources/vendor/mbedtls/library/asn1write.c +440 -0
  606. package/dist/lib/runtime-sources/vendor/mbedtls/library/base64.c +322 -0
  607. package/dist/lib/runtime-sources/vendor/mbedtls/library/base64_internal.h +45 -0
  608. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum.c +2583 -0
  609. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_core.c +1240 -0
  610. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_core.h +872 -0
  611. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_core_invasive.h +38 -0
  612. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_internal.h +122 -0
  613. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_mod.c +394 -0
  614. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_mod.h +452 -0
  615. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_mod_raw.c +276 -0
  616. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_mod_raw.h +416 -0
  617. package/dist/lib/runtime-sources/vendor/mbedtls/library/bignum_mod_raw_invasive.h +34 -0
  618. package/dist/lib/runtime-sources/vendor/mbedtls/library/block_cipher.c +207 -0
  619. package/dist/lib/runtime-sources/vendor/mbedtls/library/block_cipher_internal.h +99 -0
  620. package/dist/lib/runtime-sources/vendor/mbedtls/library/bn_mul.h +1094 -0
  621. package/dist/lib/runtime-sources/vendor/mbedtls/library/camellia.c +1058 -0
  622. package/dist/lib/runtime-sources/vendor/mbedtls/library/ccm.c +777 -0
  623. package/dist/lib/runtime-sources/vendor/mbedtls/library/chacha20.c +563 -0
  624. package/dist/lib/runtime-sources/vendor/mbedtls/library/chacha20_internal.h +23 -0
  625. package/dist/lib/runtime-sources/vendor/mbedtls/library/chachapoly.c +487 -0
  626. package/dist/lib/runtime-sources/vendor/mbedtls/library/check_crypto_config.h +136 -0
  627. package/dist/lib/runtime-sources/vendor/mbedtls/library/cipher.c +1712 -0
  628. package/dist/lib/runtime-sources/vendor/mbedtls/library/cipher_invasive.h +28 -0
  629. package/dist/lib/runtime-sources/vendor/mbedtls/library/cipher_wrap.c +2482 -0
  630. package/dist/lib/runtime-sources/vendor/mbedtls/library/cipher_wrap.h +178 -0
  631. package/dist/lib/runtime-sources/vendor/mbedtls/library/cmac.c +1067 -0
  632. package/dist/lib/runtime-sources/vendor/mbedtls/library/common.h +487 -0
  633. package/dist/lib/runtime-sources/vendor/mbedtls/library/constant_time.c +247 -0
  634. package/dist/lib/runtime-sources/vendor/mbedtls/library/constant_time_impl.h +541 -0
  635. package/dist/lib/runtime-sources/vendor/mbedtls/library/constant_time_internal.h +579 -0
  636. package/dist/lib/runtime-sources/vendor/mbedtls/library/ctr.h +35 -0
  637. package/dist/lib/runtime-sources/vendor/mbedtls/library/ctr_drbg.c +1016 -0
  638. package/dist/lib/runtime-sources/vendor/mbedtls/library/debug.c +475 -0
  639. package/dist/lib/runtime-sources/vendor/mbedtls/library/debug_internal.h +185 -0
  640. package/dist/lib/runtime-sources/vendor/mbedtls/library/des.c +1042 -0
  641. package/dist/lib/runtime-sources/vendor/mbedtls/library/dhm.c +700 -0
  642. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecdh.c +696 -0
  643. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecdsa.c +858 -0
  644. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecjpake.c +1216 -0
  645. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecp.c +3674 -0
  646. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecp_curves.c +6125 -0
  647. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecp_curves_new.c +9 -0
  648. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecp_internal_alt.h +287 -0
  649. package/dist/lib/runtime-sources/vendor/mbedtls/library/ecp_invasive.h +305 -0
  650. package/dist/lib/runtime-sources/vendor/mbedtls/library/entropy.c +680 -0
  651. package/dist/lib/runtime-sources/vendor/mbedtls/library/entropy_poll.c +233 -0
  652. package/dist/lib/runtime-sources/vendor/mbedtls/library/entropy_poll.h +64 -0
  653. package/dist/lib/runtime-sources/vendor/mbedtls/library/error.c +878 -0
  654. package/dist/lib/runtime-sources/vendor/mbedtls/library/gcm.c +1330 -0
  655. package/dist/lib/runtime-sources/vendor/mbedtls/library/hkdf.c +161 -0
  656. package/dist/lib/runtime-sources/vendor/mbedtls/library/hmac_drbg.c +633 -0
  657. package/dist/lib/runtime-sources/vendor/mbedtls/library/lmots.c +789 -0
  658. package/dist/lib/runtime-sources/vendor/mbedtls/library/lmots.h +288 -0
  659. package/dist/lib/runtime-sources/vendor/mbedtls/library/lms.c +778 -0
  660. package/dist/lib/runtime-sources/vendor/mbedtls/library/md.c +1108 -0
  661. package/dist/lib/runtime-sources/vendor/mbedtls/library/md5.c +426 -0
  662. package/dist/lib/runtime-sources/vendor/mbedtls/library/md_psa.h +26 -0
  663. package/dist/lib/runtime-sources/vendor/mbedtls/library/md_wrap.h +46 -0
  664. package/dist/lib/runtime-sources/vendor/mbedtls/library/memory_buffer_alloc.c +751 -0
  665. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_common.h +181 -0
  666. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_error.h +89 -0
  667. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_reader.c +538 -0
  668. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_reader.h +366 -0
  669. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_trace.c +112 -0
  670. package/dist/lib/runtime-sources/vendor/mbedtls/library/mps_trace.h +154 -0
  671. package/dist/lib/runtime-sources/vendor/mbedtls/library/net_sockets.c +694 -0
  672. package/dist/lib/runtime-sources/vendor/mbedtls/library/nist_kw.c +729 -0
  673. package/dist/lib/runtime-sources/vendor/mbedtls/library/oid.c +1166 -0
  674. package/dist/lib/runtime-sources/vendor/mbedtls/library/padlock.c +157 -0
  675. package/dist/lib/runtime-sources/vendor/mbedtls/library/padlock.h +111 -0
  676. package/dist/lib/runtime-sources/vendor/mbedtls/library/pem.c +554 -0
  677. package/dist/lib/runtime-sources/vendor/mbedtls/library/pk.c +1602 -0
  678. package/dist/lib/runtime-sources/vendor/mbedtls/library/pk_ecc.c +261 -0
  679. package/dist/lib/runtime-sources/vendor/mbedtls/library/pk_internal.h +241 -0
  680. package/dist/lib/runtime-sources/vendor/mbedtls/library/pk_wrap.c +1618 -0
  681. package/dist/lib/runtime-sources/vendor/mbedtls/library/pk_wrap.h +138 -0
  682. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkcs12.c +437 -0
  683. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkcs5.c +500 -0
  684. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkcs7.c +787 -0
  685. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkparse.c +1392 -0
  686. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkwrite.c +631 -0
  687. package/dist/lib/runtime-sources/vendor/mbedtls/library/pkwrite.h +121 -0
  688. package/dist/lib/runtime-sources/vendor/mbedtls/library/platform.c +402 -0
  689. package/dist/lib/runtime-sources/vendor/mbedtls/library/platform_util.c +258 -0
  690. package/dist/lib/runtime-sources/vendor/mbedtls/library/poly1305.c +492 -0
  691. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto.c +9532 -0
  692. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_aead.c +646 -0
  693. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_aead.h +499 -0
  694. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_cipher.c +747 -0
  695. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_cipher.h +316 -0
  696. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_client.c +22 -0
  697. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_core.h +983 -0
  698. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_core_common.h +52 -0
  699. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_driver_wrappers.h +2896 -0
  700. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.c +256 -0
  701. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_driver_wrappers_no_static.h +31 -0
  702. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_ecp.c +594 -0
  703. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_ecp.h +267 -0
  704. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_ffdh.c +361 -0
  705. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_ffdh.h +131 -0
  706. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_hash.c +470 -0
  707. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_hash.h +211 -0
  708. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_invasive.h +92 -0
  709. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_its.h +131 -0
  710. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_mac.c +505 -0
  711. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_mac.h +264 -0
  712. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_pake.c +571 -0
  713. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_pake.h +159 -0
  714. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_random.c +181 -0
  715. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_random.h +72 -0
  716. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_random_impl.h +200 -0
  717. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_rsa.c +714 -0
  718. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_rsa.h +321 -0
  719. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_se.c +373 -0
  720. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_se.h +192 -0
  721. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_slot_management.c +1137 -0
  722. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_slot_management.h +344 -0
  723. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_storage.c +481 -0
  724. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_crypto_storage.h +392 -0
  725. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_its_file.c +254 -0
  726. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_util.c +614 -0
  727. package/dist/lib/runtime-sources/vendor/mbedtls/library/psa_util_internal.h +100 -0
  728. package/dist/lib/runtime-sources/vendor/mbedtls/library/ripemd160.c +490 -0
  729. package/dist/lib/runtime-sources/vendor/mbedtls/library/rsa.c +3121 -0
  730. package/dist/lib/runtime-sources/vendor/mbedtls/library/rsa_alt_helpers.c +455 -0
  731. package/dist/lib/runtime-sources/vendor/mbedtls/library/rsa_alt_helpers.h +209 -0
  732. package/dist/lib/runtime-sources/vendor/mbedtls/library/rsa_internal.h +188 -0
  733. package/dist/lib/runtime-sources/vendor/mbedtls/library/sha1.c +480 -0
  734. package/dist/lib/runtime-sources/vendor/mbedtls/library/sha256.c +983 -0
  735. package/dist/lib/runtime-sources/vendor/mbedtls/library/sha3.c +721 -0
  736. package/dist/lib/runtime-sources/vendor/mbedtls/library/sha512.c +1115 -0
  737. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_cache.c +410 -0
  738. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_ciphersuites.c +2050 -0
  739. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_ciphersuites_internal.h +154 -0
  740. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_client.c +1023 -0
  741. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_client.h +22 -0
  742. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_cookie.c +384 -0
  743. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_debug_helpers.h +85 -0
  744. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_debug_helpers_generated.c +251 -0
  745. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_misc.h +3198 -0
  746. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_msg.c +6619 -0
  747. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_ticket.c +556 -0
  748. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls.c +10234 -0
  749. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls12_client.c +3688 -0
  750. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls12_server.c +4311 -0
  751. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_client.c +3208 -0
  752. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_generic.c +1793 -0
  753. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_invasive.h +23 -0
  754. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_keys.c +1918 -0
  755. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_keys.h +668 -0
  756. package/dist/lib/runtime-sources/vendor/mbedtls/library/ssl_tls13_server.c +3624 -0
  757. package/dist/lib/runtime-sources/vendor/mbedtls/library/threading.c +193 -0
  758. package/dist/lib/runtime-sources/vendor/mbedtls/library/threading_internal.h +28 -0
  759. package/dist/lib/runtime-sources/vendor/mbedtls/library/timing.c +152 -0
  760. package/dist/lib/runtime-sources/vendor/mbedtls/library/version.c +32 -0
  761. package/dist/lib/runtime-sources/vendor/mbedtls/library/version_features.c +856 -0
  762. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509.c +1776 -0
  763. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509_create.c +570 -0
  764. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509_crl.c +708 -0
  765. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509_crt.c +3311 -0
  766. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509_csr.c +648 -0
  767. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509_internal.h +101 -0
  768. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509write.c +174 -0
  769. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509write_crt.c +688 -0
  770. package/dist/lib/runtime-sources/vendor/mbedtls/library/x509write_csr.c +336 -0
  771. package/dist/lib/runtime-sources/vendor/quickjs-ng/CMakeLists.txt +566 -0
  772. package/dist/lib/runtime-sources/vendor/quickjs-ng/LICENSE +24 -0
  773. package/dist/lib/runtime-sources/vendor/quickjs-ng/README.md +24 -0
  774. package/dist/lib/runtime-sources/vendor/quickjs-ng/api-test.c +1195 -0
  775. package/dist/lib/runtime-sources/vendor/quickjs-ng/builtin-array-fromasync.h +119 -0
  776. package/dist/lib/runtime-sources/vendor/quickjs-ng/builtin-iterator-zip-keyed.h +332 -0
  777. package/dist/lib/runtime-sources/vendor/quickjs-ng/builtin-iterator-zip.h +337 -0
  778. package/dist/lib/runtime-sources/vendor/quickjs-ng/cutils.h +1998 -0
  779. package/dist/lib/runtime-sources/vendor/quickjs-ng/dtoa.c +1619 -0
  780. package/dist/lib/runtime-sources/vendor/quickjs-ng/dtoa.h +87 -0
  781. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/function_source.c +81 -0
  782. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/hello.c +53 -0
  783. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/hello_module.c +106 -0
  784. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/repl.c +3036 -0
  785. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/standalone.c +323 -0
  786. package/dist/lib/runtime-sources/vendor/quickjs-ng/gen/test_fib.c +81 -0
  787. package/dist/lib/runtime-sources/vendor/quickjs-ng/libregexp-opcode.h +73 -0
  788. package/dist/lib/runtime-sources/vendor/quickjs-ng/libregexp.c +3474 -0
  789. package/dist/lib/runtime-sources/vendor/quickjs-ng/libregexp.h +101 -0
  790. package/dist/lib/runtime-sources/vendor/quickjs-ng/libunicode-table.h +5173 -0
  791. package/dist/lib/runtime-sources/vendor/quickjs-ng/libunicode.c +2069 -0
  792. package/dist/lib/runtime-sources/vendor/quickjs-ng/libunicode.h +172 -0
  793. package/dist/lib/runtime-sources/vendor/quickjs-ng/list.h +107 -0
  794. package/dist/lib/runtime-sources/vendor/quickjs-ng/lre-test.c +52 -0
  795. package/dist/lib/runtime-sources/vendor/quickjs-ng/qjs.c +762 -0
  796. package/dist/lib/runtime-sources/vendor/quickjs-ng/qjsc.c +673 -0
  797. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs-atom.h +280 -0
  798. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs-c-atomics.h +54 -0
  799. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs-libc.c +5037 -0
  800. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs-libc.h +87 -0
  801. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs-opcode.h +377 -0
  802. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs.c +64041 -0
  803. package/dist/lib/runtime-sources/vendor/quickjs-ng/quickjs.h +1447 -0
  804. package/dist/lib/runtime-sources/vendor/quickjs-ng/run-test262.c +2374 -0
  805. package/dist/lib/runtime-sources/vendor/quickjs-ng/unicode_gen.c +3121 -0
  806. package/dist/lib/runtime-sources/vendor/quickjs-ng/unicode_gen_def.h +310 -0
  807. package/dist/lib/runtime-sources/vendor/ryu/LICENSE-Boost +23 -0
  808. package/dist/lib/runtime-sources/vendor/ryu/common.h +114 -0
  809. package/dist/lib/runtime-sources/vendor/ryu/d2s.c +509 -0
  810. package/dist/lib/runtime-sources/vendor/ryu/d2s_full_table.h +367 -0
  811. package/dist/lib/runtime-sources/vendor/ryu/d2s_intrinsics.h +357 -0
  812. package/dist/lib/runtime-sources/vendor/ryu/d2s_small_table.h +186 -0
  813. package/dist/lib/runtime-sources/vendor/ryu/digit_table.h +35 -0
  814. package/dist/lib/runtime-sources/vendor/ryu/ryu.h +46 -0
  815. package/dist/lib/runtime-sources/vendor/unicode/LICENSE +39 -0
  816. package/dist/lib/runtime-sources/vendor/v8-number-radix/LICENSE +61 -0
  817. package/dist/lib/runtime-sources/vendor/zlib/LICENSE +22 -0
  818. package/dist/lib/runtime-sources/vendor/zlib/adler32.c +164 -0
  819. package/dist/lib/runtime-sources/vendor/zlib/compress.c +75 -0
  820. package/dist/lib/runtime-sources/vendor/zlib/crc32.c +1049 -0
  821. package/dist/lib/runtime-sources/vendor/zlib/crc32.h +9446 -0
  822. package/dist/lib/runtime-sources/vendor/zlib/deflate.c +2139 -0
  823. package/dist/lib/runtime-sources/vendor/zlib/deflate.h +377 -0
  824. package/dist/lib/runtime-sources/vendor/zlib/gzclose.c +23 -0
  825. package/dist/lib/runtime-sources/vendor/zlib/gzguts.h +214 -0
  826. package/dist/lib/runtime-sources/vendor/zlib/gzlib.c +582 -0
  827. package/dist/lib/runtime-sources/vendor/zlib/gzread.c +602 -0
  828. package/dist/lib/runtime-sources/vendor/zlib/gzwrite.c +631 -0
  829. package/dist/lib/runtime-sources/vendor/zlib/infback.c +628 -0
  830. package/dist/lib/runtime-sources/vendor/zlib/inffast.c +320 -0
  831. package/dist/lib/runtime-sources/vendor/zlib/inffast.h +11 -0
  832. package/dist/lib/runtime-sources/vendor/zlib/inffixed.h +94 -0
  833. package/dist/lib/runtime-sources/vendor/zlib/inflate.c +1526 -0
  834. package/dist/lib/runtime-sources/vendor/zlib/inflate.h +126 -0
  835. package/dist/lib/runtime-sources/vendor/zlib/inftrees.c +299 -0
  836. package/dist/lib/runtime-sources/vendor/zlib/inftrees.h +62 -0
  837. package/dist/lib/runtime-sources/vendor/zlib/trees.c +1117 -0
  838. package/dist/lib/runtime-sources/vendor/zlib/trees.h +128 -0
  839. package/dist/lib/runtime-sources/vendor/zlib/uncompr.c +85 -0
  840. package/dist/lib/runtime-sources/vendor/zlib/zconf.h +543 -0
  841. package/dist/lib/runtime-sources/vendor/zlib/zlib.h +1938 -0
  842. package/dist/lib/runtime-sources/vendor/zlib/zutil.c +299 -0
  843. package/dist/lib/runtime-sources/vendor/zlib/zutil.h +254 -0
  844. package/dist/lib/scriptc-comptime +0 -0
  845. package/dist/lib/typescript/LICENSE +55 -0
  846. package/dist/lib/typescript/NOTICE.txt +436 -0
  847. package/dist/lib/typescript/lib/lib.d.ts +20 -0
  848. package/dist/lib/typescript/lib/lib.decorators.d.ts +382 -0
  849. package/dist/lib/typescript/lib/lib.decorators.legacy.d.ts +20 -0
  850. package/dist/lib/typescript/lib/lib.dom.asynciterable.d.ts +18 -0
  851. package/dist/lib/typescript/lib/lib.dom.d.ts +45125 -0
  852. package/dist/lib/typescript/lib/lib.dom.iterable.d.ts +18 -0
  853. package/dist/lib/typescript/lib/lib.es2015.collection.d.ts +159 -0
  854. package/dist/lib/typescript/lib/lib.es2015.core.d.ts +595 -0
  855. package/dist/lib/typescript/lib/lib.es2015.d.ts +26 -0
  856. package/dist/lib/typescript/lib/lib.es2015.generator.d.ts +75 -0
  857. package/dist/lib/typescript/lib/lib.es2015.iterable.d.ts +603 -0
  858. package/dist/lib/typescript/lib/lib.es2015.promise.d.ts +79 -0
  859. package/dist/lib/typescript/lib/lib.es2015.proxy.d.ts +126 -0
  860. package/dist/lib/typescript/lib/lib.es2015.reflect.d.ts +142 -0
  861. package/dist/lib/typescript/lib/lib.es2015.symbol.d.ts +44 -0
  862. package/dist/lib/typescript/lib/lib.es2015.symbol.wellknown.d.ts +324 -0
  863. package/dist/lib/typescript/lib/lib.es2016.array.include.d.ts +114 -0
  864. package/dist/lib/typescript/lib/lib.es2016.d.ts +19 -0
  865. package/dist/lib/typescript/lib/lib.es2016.full.d.ts +21 -0
  866. package/dist/lib/typescript/lib/lib.es2016.intl.d.ts +29 -0
  867. package/dist/lib/typescript/lib/lib.es2017.arraybuffer.d.ts +19 -0
  868. package/dist/lib/typescript/lib/lib.es2017.d.ts +24 -0
  869. package/dist/lib/typescript/lib/lib.es2017.date.d.ts +29 -0
  870. package/dist/lib/typescript/lib/lib.es2017.full.d.ts +21 -0
  871. package/dist/lib/typescript/lib/lib.es2017.intl.d.ts +42 -0
  872. package/dist/lib/typescript/lib/lib.es2017.object.d.ts +47 -0
  873. package/dist/lib/typescript/lib/lib.es2017.sharedmemory.d.ts +133 -0
  874. package/dist/lib/typescript/lib/lib.es2017.string.d.ts +47 -0
  875. package/dist/lib/typescript/lib/lib.es2017.typedarrays.d.ts +51 -0
  876. package/dist/lib/typescript/lib/lib.es2018.asyncgenerator.d.ts +75 -0
  877. package/dist/lib/typescript/lib/lib.es2018.asynciterable.d.ts +51 -0
  878. package/dist/lib/typescript/lib/lib.es2018.d.ts +22 -0
  879. package/dist/lib/typescript/lib/lib.es2018.full.d.ts +22 -0
  880. package/dist/lib/typescript/lib/lib.es2018.intl.d.ts +81 -0
  881. package/dist/lib/typescript/lib/lib.es2018.promise.d.ts +28 -0
  882. package/dist/lib/typescript/lib/lib.es2018.regexp.d.ts +35 -0
  883. package/dist/lib/typescript/lib/lib.es2019.array.d.ts +77 -0
  884. package/dist/lib/typescript/lib/lib.es2019.d.ts +22 -0
  885. package/dist/lib/typescript/lib/lib.es2019.full.d.ts +22 -0
  886. package/dist/lib/typescript/lib/lib.es2019.intl.d.ts +21 -0
  887. package/dist/lib/typescript/lib/lib.es2019.object.d.ts +31 -0
  888. package/dist/lib/typescript/lib/lib.es2019.string.d.ts +35 -0
  889. package/dist/lib/typescript/lib/lib.es2019.symbol.d.ts +22 -0
  890. package/dist/lib/typescript/lib/lib.es2020.bigint.d.ts +763 -0
  891. package/dist/lib/typescript/lib/lib.es2020.d.ts +25 -0
  892. package/dist/lib/typescript/lib/lib.es2020.date.d.ts +40 -0
  893. package/dist/lib/typescript/lib/lib.es2020.full.d.ts +22 -0
  894. package/dist/lib/typescript/lib/lib.es2020.intl.d.ts +472 -0
  895. package/dist/lib/typescript/lib/lib.es2020.number.d.ts +26 -0
  896. package/dist/lib/typescript/lib/lib.es2020.promise.d.ts +45 -0
  897. package/dist/lib/typescript/lib/lib.es2020.sharedmemory.d.ts +97 -0
  898. package/dist/lib/typescript/lib/lib.es2020.string.d.ts +42 -0
  899. package/dist/lib/typescript/lib/lib.es2020.symbol.wellknown.d.ts +39 -0
  900. package/dist/lib/typescript/lib/lib.es2021.d.ts +21 -0
  901. package/dist/lib/typescript/lib/lib.es2021.full.d.ts +22 -0
  902. package/dist/lib/typescript/lib/lib.es2021.intl.d.ts +164 -0
  903. package/dist/lib/typescript/lib/lib.es2021.promise.d.ts +46 -0
  904. package/dist/lib/typescript/lib/lib.es2021.string.d.ts +31 -0
  905. package/dist/lib/typescript/lib/lib.es2021.weakref.d.ts +76 -0
  906. package/dist/lib/typescript/lib/lib.es2022.array.d.ts +119 -0
  907. package/dist/lib/typescript/lib/lib.es2022.d.ts +23 -0
  908. package/dist/lib/typescript/lib/lib.es2022.error.d.ts +73 -0
  909. package/dist/lib/typescript/lib/lib.es2022.full.d.ts +22 -0
  910. package/dist/lib/typescript/lib/lib.es2022.intl.d.ts +143 -0
  911. package/dist/lib/typescript/lib/lib.es2022.object.d.ts +24 -0
  912. package/dist/lib/typescript/lib/lib.es2022.regexp.d.ts +37 -0
  913. package/dist/lib/typescript/lib/lib.es2022.string.d.ts +23 -0
  914. package/dist/lib/typescript/lib/lib.es2023.array.d.ts +922 -0
  915. package/dist/lib/typescript/lib/lib.es2023.collection.d.ts +19 -0
  916. package/dist/lib/typescript/lib/lib.es2023.d.ts +20 -0
  917. package/dist/lib/typescript/lib/lib.es2023.full.d.ts +22 -0
  918. package/dist/lib/typescript/lib/lib.es2023.intl.d.ts +62 -0
  919. package/dist/lib/typescript/lib/lib.es2024.arraybuffer.d.ts +63 -0
  920. package/dist/lib/typescript/lib/lib.es2024.collection.d.ts +27 -0
  921. package/dist/lib/typescript/lib/lib.es2024.d.ts +24 -0
  922. package/dist/lib/typescript/lib/lib.es2024.full.d.ts +22 -0
  923. package/dist/lib/typescript/lib/lib.es2024.object.d.ts +27 -0
  924. package/dist/lib/typescript/lib/lib.es2024.promise.d.ts +33 -0
  925. package/dist/lib/typescript/lib/lib.es2024.regexp.d.ts +23 -0
  926. package/dist/lib/typescript/lib/lib.es2024.sharedmemory.d.ts +66 -0
  927. package/dist/lib/typescript/lib/lib.es2024.string.d.ts +27 -0
  928. package/dist/lib/typescript/lib/lib.es2025.collection.d.ts +94 -0
  929. package/dist/lib/typescript/lib/lib.es2025.d.ts +23 -0
  930. package/dist/lib/typescript/lib/lib.es2025.float16.d.ts +443 -0
  931. package/dist/lib/typescript/lib/lib.es2025.full.d.ts +22 -0
  932. package/dist/lib/typescript/lib/lib.es2025.intl.d.ts +200 -0
  933. package/dist/lib/typescript/lib/lib.es2025.iterator.d.ts +146 -0
  934. package/dist/lib/typescript/lib/lib.es2025.promise.d.ts +32 -0
  935. package/dist/lib/typescript/lib/lib.es2025.regexp.d.ts +30 -0
  936. package/dist/lib/typescript/lib/lib.es5.d.ts +4599 -0
  937. package/dist/lib/typescript/lib/lib.es6.d.ts +21 -0
  938. package/dist/lib/typescript/lib/lib.esnext.array.d.ts +33 -0
  939. package/dist/lib/typescript/lib/lib.esnext.collection.d.ts +47 -0
  940. package/dist/lib/typescript/lib/lib.esnext.d.ts +27 -0
  941. package/dist/lib/typescript/lib/lib.esnext.date.d.ts +21 -0
  942. package/dist/lib/typescript/lib/lib.esnext.decorators.d.ts +26 -0
  943. package/dist/lib/typescript/lib/lib.esnext.disposable.d.ts +191 -0
  944. package/dist/lib/typescript/lib/lib.esnext.error.d.ts +22 -0
  945. package/dist/lib/typescript/lib/lib.esnext.full.d.ts +22 -0
  946. package/dist/lib/typescript/lib/lib.esnext.intl.d.ts +107 -0
  947. package/dist/lib/typescript/lib/lib.esnext.sharedmemory.d.ts +23 -0
  948. package/dist/lib/typescript/lib/lib.esnext.temporal.d.ts +485 -0
  949. package/dist/lib/typescript/lib/lib.esnext.typedarrays.d.ts +90 -0
  950. package/dist/lib/typescript/lib/lib.scripthost.d.ts +320 -0
  951. package/dist/lib/typescript/lib/lib.webworker.asynciterable.d.ts +18 -0
  952. package/dist/lib/typescript/lib/lib.webworker.d.ts +15606 -0
  953. package/dist/lib/typescript/lib/lib.webworker.importscripts.d.ts +21 -0
  954. package/dist/lib/typescript/lib/lib.webworker.iterable.d.ts +18 -0
  955. package/dist/lib/typescript/lib/tsc +0 -0
  956. package/dist/lib/typescript/package.json +45 -0
  957. package/dist/lib/wasi/cli/wasi-paths.js +41 -0
  958. package/dist/lib/wasi/cli/wasi-runner.js +28 -0
  959. package/dist/lib/wasi/package.json +1 -0
  960. package/dist/lib/wasi/wasi-paths.js +25 -0
  961. package/package.json +22 -6
  962. package/README.md +0 -3
  963. package/index.js +0 -2
@@ -0,0 +1,2374 @@
1
+ /*
2
+ * ECMA Test 262 Runner for QuickJS
3
+ *
4
+ * Copyright (c) 2017-2021 Fabrice Bellard
5
+ * Copyright (c) 2017-2021 Charlie Gordon
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ */
25
+ #include <stdlib.h>
26
+ #include <stdio.h>
27
+ #include <stdarg.h>
28
+ #include <inttypes.h>
29
+ #include <string.h>
30
+ #include <assert.h>
31
+ #include <ctype.h>
32
+ #include <errno.h>
33
+ #include <time.h>
34
+
35
+ #ifdef _WIN32
36
+ #include <windows.h>
37
+ #include <process.h>
38
+ #else
39
+ #include <dirent.h>
40
+ #include <unistd.h>
41
+ #include <sys/stat.h>
42
+ #endif
43
+
44
+ #include "cutils.h"
45
+ #include "list.h"
46
+ #include "quickjs.h"
47
+ #include "quickjs-c-atomics.h"
48
+ #include "quickjs-libc.h"
49
+
50
+ #define CMD_NAME "run-test262"
51
+
52
+ // not quite correct because in theory someone could compile quickjs.c
53
+ // with a different compiler but in practice no one does that, right?
54
+ #ifdef __TINYC__
55
+ #define CC_IS_TCC 1
56
+ #else
57
+ #define CC_IS_TCC 0
58
+ #endif
59
+
60
+ typedef struct {
61
+ js_mutex_t agent_mutex;
62
+ js_cond_t agent_cond;
63
+ /* list of Test262Agent.link */
64
+ struct list_head agent_list;
65
+ js_mutex_t report_mutex;
66
+ /* list of AgentReport.link */
67
+ struct list_head report_list;
68
+ int async_done;
69
+ } ThreadLocalStorage;
70
+
71
+ typedef struct namelist_t {
72
+ char **array;
73
+ int count;
74
+ int size;
75
+ } namelist_t;
76
+
77
+ long nthreads; // invariant: 0 < nthreads < countof(threads)
78
+ js_thread_t threads[32];
79
+ js_thread_t progress_thread;
80
+ js_cond_t progress_cond;
81
+ js_mutex_t progress_mutex;
82
+
83
+ namelist_t test_list;
84
+ namelist_t exclude_list;
85
+ namelist_t exclude_dir_list;
86
+
87
+ FILE *outfile;
88
+ enum test_mode_t {
89
+ TEST_DEFAULT_NOSTRICT, /* run tests as nostrict unless test is flagged as strictonly */
90
+ TEST_DEFAULT_STRICT, /* run tests as strict unless test is flagged as nostrict */
91
+ TEST_NOSTRICT, /* run tests as nostrict, skip strictonly tests */
92
+ TEST_STRICT, /* run tests as strict, skip nostrict tests */
93
+ TEST_ALL, /* run tests in both strict and nostrict, unless restricted by spec */
94
+ } test_mode = TEST_DEFAULT_NOSTRICT;
95
+ int local;
96
+ int skip_async;
97
+ int skip_module;
98
+ int dump_memory;
99
+ int stats_count;
100
+ JSMemoryUsage stats_all, stats_avg, stats_min, stats_max;
101
+ char *stats_min_filename;
102
+ char *stats_max_filename;
103
+ js_mutex_t stats_mutex;
104
+ int verbose;
105
+ char *harness_dir;
106
+ char *harness_exclude;
107
+ char *harness_features;
108
+ char *harness_skip_features;
109
+ char *error_filename;
110
+ char *error_file;
111
+ FILE *error_out;
112
+ int update_errors;
113
+ int slow_test_threshold;
114
+ int start_index, stop_index;
115
+ int test_excluded;
116
+ _Atomic int test_count, test_failed, test_skipped;
117
+ _Atomic int new_errors, changed_errors, fixed_errors;
118
+
119
+ void warning(const char *, ...) __attribute__((__format__(__printf__, 1, 2)));
120
+ void fatal(int, const char *, ...) __attribute__((__format__(__printf__, 2, 3)));
121
+
122
+ void atomic_inc(volatile _Atomic int *p)
123
+ {
124
+ atomic_fetch_add(p, 1);
125
+ }
126
+
127
+ void warning(const char *fmt, ...)
128
+ {
129
+ va_list ap;
130
+
131
+ fflush(stdout);
132
+ fprintf(stderr, "%s: ", CMD_NAME);
133
+ va_start(ap, fmt);
134
+ vfprintf(stderr, fmt, ap);
135
+ va_end(ap);
136
+ fputc('\n', stderr);
137
+ }
138
+
139
+ void fatal(int errcode, const char *fmt, ...)
140
+ {
141
+ va_list ap;
142
+
143
+ fflush(stdout);
144
+ fprintf(stderr, "%s: ", CMD_NAME);
145
+ va_start(ap, fmt);
146
+ vfprintf(stderr, fmt, ap);
147
+ va_end(ap);
148
+ fputc('\n', stderr);
149
+
150
+ exit(errcode);
151
+ }
152
+
153
+ void perror_exit(int errcode, const char *s)
154
+ {
155
+ fflush(stdout);
156
+ fprintf(stderr, "%s: ", CMD_NAME);
157
+ perror(s);
158
+ exit(errcode);
159
+ }
160
+
161
+ char *strdup_len(const char *str, int len)
162
+ {
163
+ char *p = malloc(len + 1);
164
+ memcpy(p, str, len);
165
+ p[len] = '\0';
166
+ return p;
167
+ }
168
+
169
+ static inline int str_equal(const char *a, const char *b) {
170
+ return !strcmp(a, b);
171
+ }
172
+
173
+ static inline int str_count(const char *a, const char *b) {
174
+ int count = 0;
175
+ while ((a = strstr(a, b))) {
176
+ a += strlen(b);
177
+ count++;
178
+ }
179
+ return count;
180
+ }
181
+
182
+ char *str_append(char **pp, const char *sep, const char *str) {
183
+ char *res, *p;
184
+ size_t len = 0;
185
+ p = *pp;
186
+ if (p) {
187
+ len = strlen(p) + strlen(sep);
188
+ }
189
+ res = malloc(len + strlen(str) + 1);
190
+ if (p) {
191
+ strcpy(res, p);
192
+ strcat(res, sep);
193
+ }
194
+ strcpy(res + len, str);
195
+ free(p);
196
+ return *pp = res;
197
+ }
198
+
199
+ char *str_strip(char *p)
200
+ {
201
+ size_t len = strlen(p);
202
+ while (len > 0 && isspace((unsigned char)p[len - 1]))
203
+ p[--len] = '\0';
204
+ while (isspace((unsigned char)*p))
205
+ p++;
206
+ return p;
207
+ }
208
+
209
+ int has_prefix(const char *str, const char *prefix)
210
+ {
211
+ return !strncmp(str, prefix, strlen(prefix));
212
+ }
213
+
214
+ char *skip_prefix(const char *str, const char *prefix)
215
+ {
216
+ int i;
217
+ for (i = 0;; i++) {
218
+ if (prefix[i] == '\0') { /* skip the prefix */
219
+ str += i;
220
+ break;
221
+ }
222
+ if (str[i] != prefix[i])
223
+ break;
224
+ }
225
+ return (char *)str;
226
+ }
227
+
228
+ char *get_basename(const char *filename)
229
+ {
230
+ const char *p = strrchr(filename, '/');
231
+ if (!p)
232
+ return NULL;
233
+ return strdup_len(filename, p - filename);
234
+ }
235
+
236
+ char *compose_path(const char *path, const char *name)
237
+ {
238
+ int path_len, name_len;
239
+ char *d, *q;
240
+
241
+ if (!path || path[0] == '\0' || *name == '/') {
242
+ d = strdup(name);
243
+ } else {
244
+ path_len = strlen(path);
245
+ name_len = strlen(name);
246
+ d = malloc(path_len + 1 + name_len + 1);
247
+ if (d) {
248
+ q = d;
249
+ memcpy(q, path, path_len);
250
+ q += path_len;
251
+ if (path[path_len - 1] != '/')
252
+ *q++ = '/';
253
+ memcpy(q, name, name_len + 1);
254
+ }
255
+ }
256
+ return d;
257
+ }
258
+
259
+ int namelist_cmp(const char *a, const char *b)
260
+ {
261
+ /* compare strings in modified lexicographical order */
262
+ for (;;) {
263
+ int ca = (unsigned char)*a++;
264
+ int cb = (unsigned char)*b++;
265
+ if (isdigit(ca) && isdigit(cb)) {
266
+ int na = ca - '0';
267
+ int nb = cb - '0';
268
+ while (isdigit(ca = (unsigned char)*a++))
269
+ na = na * 10 + ca - '0';
270
+ while (isdigit(cb = (unsigned char)*b++))
271
+ nb = nb * 10 + cb - '0';
272
+ if (na < nb)
273
+ return -1;
274
+ if (na > nb)
275
+ return +1;
276
+ }
277
+ if (ca < cb)
278
+ return -1;
279
+ if (ca > cb)
280
+ return +1;
281
+ if (ca == '\0')
282
+ return 0;
283
+ }
284
+ }
285
+
286
+ int namelist_cmp_indirect(const void *a, const void *b)
287
+ {
288
+ return namelist_cmp(*(const char **)a, *(const char **)b);
289
+ }
290
+
291
+ void namelist_sort(namelist_t *lp)
292
+ {
293
+ int i, count;
294
+ if (lp->count > 1) {
295
+ qsort(lp->array, lp->count, sizeof(*lp->array), namelist_cmp_indirect);
296
+ /* remove duplicates */
297
+ for (count = i = 1; i < lp->count; i++) {
298
+ if (namelist_cmp(lp->array[count - 1], lp->array[i]) == 0) {
299
+ free(lp->array[i]);
300
+ } else {
301
+ lp->array[count++] = lp->array[i];
302
+ }
303
+ }
304
+ lp->count = count;
305
+ }
306
+ }
307
+
308
+ int namelist_find(const namelist_t *lp, const char *name)
309
+ {
310
+ int a, b, m, cmp;
311
+
312
+ for (a = 0, b = lp->count; a < b;) {
313
+ m = a + (b - a) / 2;
314
+ cmp = namelist_cmp(lp->array[m], name);
315
+ if (cmp < 0)
316
+ a = m + 1;
317
+ else if (cmp > 0)
318
+ b = m;
319
+ else
320
+ return m;
321
+ }
322
+ return -1;
323
+ }
324
+
325
+ void namelist_add(namelist_t *lp, const char *base, const char *name)
326
+ {
327
+ char *s;
328
+
329
+ s = compose_path(base, name);
330
+ if (!s)
331
+ goto fail;
332
+ if (lp->count == lp->size) {
333
+ size_t newsize = lp->size + (lp->size >> 1) + 4;
334
+ char **a = realloc(lp->array, sizeof(lp->array[0]) * newsize);
335
+ if (!a)
336
+ goto fail;
337
+ lp->array = a;
338
+ lp->size = newsize;
339
+ }
340
+ lp->array[lp->count] = s;
341
+ lp->count++;
342
+ return;
343
+ fail:
344
+ fatal(1, "allocation failure\n");
345
+ }
346
+
347
+ void namelist_load(namelist_t *lp, const char *filename)
348
+ {
349
+ char buf[1024];
350
+ char *base_name;
351
+ FILE *f;
352
+
353
+ f = fopen(filename, "r");
354
+ if (!f) {
355
+ perror_exit(1, filename);
356
+ }
357
+ base_name = get_basename(filename);
358
+
359
+ while (fgets(buf, sizeof(buf), f) != NULL) {
360
+ char *p = str_strip(buf);
361
+ if (*p == '#' || *p == ';' || *p == '\0')
362
+ continue; /* line comment */
363
+
364
+ namelist_add(lp, base_name, p);
365
+ }
366
+ free(base_name);
367
+ fclose(f);
368
+ }
369
+
370
+ void namelist_add_from_error_file(namelist_t *lp, const char *file)
371
+ {
372
+ const char *p, *p0;
373
+ char *pp;
374
+
375
+ for (p = file; (p = strstr(p, ".js:")) != NULL; p++) {
376
+ for (p0 = p; p0 > file && p0[-1] != '\n'; p0--)
377
+ continue;
378
+ pp = strdup_len(p0, p + 3 - p0);
379
+ namelist_add(lp, NULL, pp);
380
+ free(pp);
381
+ }
382
+ }
383
+
384
+ void namelist_free(namelist_t *lp)
385
+ {
386
+ while (lp->count > 0) {
387
+ free(lp->array[--lp->count]);
388
+ }
389
+ free(lp->array);
390
+ lp->array = NULL;
391
+ lp->size = 0;
392
+ }
393
+
394
+ static int add_test_file(const char *filename)
395
+ {
396
+ namelist_t *lp = &test_list;
397
+ if (js__has_suffix(filename, ".js") && !js__has_suffix(filename, "_FIXTURE.js"))
398
+ namelist_add(lp, NULL, filename);
399
+ return 0;
400
+ }
401
+
402
+ static void find_test_files(const char *path);
403
+
404
+ static bool ispathsep(int c)
405
+ {
406
+ return c == '/' || c == '\\';
407
+ }
408
+
409
+ static void consider_test_file(const char *path, const char *name, int is_dir)
410
+ {
411
+ size_t pathlen;
412
+ char s[1024];
413
+
414
+ if (str_equal(name, ".") || str_equal(name, ".."))
415
+ return;
416
+ pathlen = strlen(path);
417
+ while (pathlen > 0 && ispathsep(path[pathlen-1]))
418
+ pathlen--;
419
+ snprintf(s, sizeof(s), "%.*s/%s", (int)pathlen, path, name);
420
+ #if !defined(_WIN32) && !defined(DT_DIR)
421
+ struct stat st;
422
+ if (is_dir < 0)
423
+ is_dir = !stat(s, &st) && S_ISDIR(st.st_mode);
424
+ #endif
425
+ if (is_dir)
426
+ find_test_files(s);
427
+ else
428
+ add_test_file(s);
429
+ }
430
+
431
+ static void find_test_files(const char *path)
432
+ {
433
+ #ifdef _WIN32
434
+ WIN32_FIND_DATAA d;
435
+ HANDLE h;
436
+ char s[1024];
437
+
438
+ snprintf(s, sizeof(s), "%s/*", path);
439
+ h = FindFirstFileA(s, &d);
440
+ if (h != INVALID_HANDLE_VALUE) {
441
+ do {
442
+ consider_test_file(path,
443
+ d.cFileName,
444
+ d.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
445
+ } while (FindNextFileA(h, &d));
446
+ FindClose(h);
447
+ }
448
+ #else
449
+ struct dirent *d, **ds = NULL;
450
+ int i, n;
451
+
452
+ n = scandir(path, &ds, NULL, alphasort);
453
+ for (i = 0; i < n; i++) {
454
+ d = ds[i];
455
+ #ifdef DT_DIR
456
+ consider_test_file(path, d->d_name, d->d_type == DT_DIR);
457
+ #else
458
+ consider_test_file(path, d->d_name, -1);
459
+ #endif
460
+ free(d);
461
+ }
462
+ free(ds);
463
+ #endif
464
+ }
465
+
466
+ /* find js files from the directory tree and sort the list */
467
+ static void enumerate_tests(const char *path)
468
+ {
469
+ namelist_t *lp = &test_list;
470
+ int start = lp->count;
471
+ find_test_files(path);
472
+ qsort(lp->array + start, lp->count - start, sizeof(*lp->array),
473
+ namelist_cmp_indirect);
474
+ }
475
+
476
+ static JSValue js_print_262(JSContext *ctx, JSValueConst this_val,
477
+ int argc, JSValueConst *argv)
478
+ {
479
+ ThreadLocalStorage *tls = JS_GetRuntimeOpaque(JS_GetRuntime(ctx));
480
+ const char *s;
481
+ JSValueConst v;
482
+ int i;
483
+
484
+ for (i = 0; i < argc; i++) {
485
+ v = argv[i];
486
+ s = JS_ToCString(ctx, v);
487
+ // same logic as js_print in quickjs-libc.c
488
+ if (local && !s && JS_IsObject(v)) {
489
+ JS_FreeValue(ctx, JS_GetException(ctx));
490
+ JSValue t = JS_ToObjectString(ctx, v);
491
+ s = JS_ToCString(ctx, t);
492
+ JS_FreeValue(ctx, t);
493
+ }
494
+ if (!s)
495
+ return JS_EXCEPTION;
496
+ if (!strcmp(s, "Test262:AsyncTestComplete")) {
497
+ tls->async_done++;
498
+ } else if (js__strstart(s, "Test262:AsyncTestFailure", NULL)) {
499
+ tls->async_done = 2; /* force an error */
500
+ }
501
+ if (outfile) {
502
+ if (i != 0)
503
+ fputc(' ', outfile);
504
+ fputs(s, outfile);
505
+ }
506
+ if (verbose > 1)
507
+ printf("%s%s", &" "[i < 1], s);
508
+ JS_FreeCString(ctx, s);
509
+ if (verbose > 2 && JS_IsError(v)) {
510
+ JSValue stack = JS_GetPropertyStr(ctx, v, "stack");
511
+ s = JS_ToCString(ctx, stack);
512
+ JS_FreeValue(ctx, stack);
513
+ if (s) {
514
+ printf("\n%s", s);
515
+ JS_FreeCString(ctx, s);
516
+ }
517
+ }
518
+ }
519
+ if (outfile)
520
+ fputc('\n', outfile);
521
+ if (verbose > 1)
522
+ printf("\n");
523
+ return JS_UNDEFINED;
524
+ }
525
+
526
+ static JSValue js_detachArrayBuffer(JSContext *ctx, JSValueConst this_val,
527
+ int argc, JSValueConst *argv)
528
+ {
529
+ JS_DetachArrayBuffer(ctx, argv[0]);
530
+ return JS_UNDEFINED;
531
+ }
532
+
533
+ static JSValue js_evalScript_262(JSContext *ctx, JSValueConst this_val,
534
+ int argc, JSValueConst *argv)
535
+ {
536
+ const char *str;
537
+ size_t len;
538
+ JSValue ret;
539
+ str = JS_ToCStringLen(ctx, &len, argv[0]);
540
+ if (!str)
541
+ return JS_EXCEPTION;
542
+ ret = JS_Eval(ctx, str, len, "<evalScript>", JS_EVAL_TYPE_GLOBAL);
543
+ JS_FreeCString(ctx, str);
544
+ return ret;
545
+ }
546
+
547
+ static long cpu_count(void)
548
+ {
549
+ #ifdef _WIN32
550
+ DWORD_PTR procmask, sysmask;
551
+ long count;
552
+ int i;
553
+
554
+ count = 0;
555
+ if (GetProcessAffinityMask(GetCurrentProcess(), &procmask, &sysmask))
556
+ for (i = 0; i < 8 * sizeof(procmask); i++)
557
+ count += 1 & (procmask >> i);
558
+ return count;
559
+ #else
560
+ return sysconf(_SC_NPROCESSORS_ONLN);
561
+ #endif
562
+ }
563
+
564
+ static void init_thread_local_storage(ThreadLocalStorage *p)
565
+ {
566
+ js_mutex_init(&p->agent_mutex);
567
+ js_cond_init(&p->agent_cond);
568
+ init_list_head(&p->agent_list);
569
+ js_mutex_init(&p->report_mutex);
570
+ init_list_head(&p->report_list);
571
+ p->async_done = 0;
572
+ }
573
+
574
+ typedef struct {
575
+ struct list_head link;
576
+ js_thread_t tid;
577
+ char *script;
578
+ JSValue broadcast_func;
579
+ bool broadcast_pending;
580
+ JSValue broadcast_sab; /* in the main context */
581
+ uint8_t *broadcast_sab_buf;
582
+ size_t broadcast_sab_size;
583
+ int32_t broadcast_val;
584
+ ThreadLocalStorage *tls;
585
+ } Test262Agent;
586
+
587
+ typedef struct {
588
+ struct list_head link;
589
+ char *str;
590
+ } AgentReport;
591
+
592
+ static JSValue add_helpers1(JSContext *ctx);
593
+ static void add_helpers(JSContext *ctx);
594
+
595
+ static void agent_start(void *arg)
596
+ {
597
+ ThreadLocalStorage *tls;
598
+ Test262Agent *agent;
599
+ JSRuntime *rt;
600
+ JSContext *ctx;
601
+ JSValue ret_val;
602
+ int ret;
603
+
604
+ agent = arg;
605
+ tls = agent->tls; // shares thread-local storage with parent thread
606
+ rt = JS_NewRuntime();
607
+ if (rt == NULL) {
608
+ fatal(1, "JS_NewRuntime failure");
609
+ }
610
+ JS_SetRuntimeOpaque(rt, tls);
611
+ ctx = JS_NewContext(rt);
612
+ if (ctx == NULL) {
613
+ JS_FreeRuntime(rt);
614
+ fatal(1, "JS_NewContext failure");
615
+ }
616
+ JS_SetContextOpaque(ctx, agent);
617
+ JS_SetRuntimeInfo(rt, "agent");
618
+ JS_SetCanBlock(rt, true);
619
+
620
+ add_helpers(ctx);
621
+ ret_val = JS_Eval(ctx, agent->script, strlen(agent->script),
622
+ "<evalScript>", JS_EVAL_TYPE_GLOBAL);
623
+ free(agent->script);
624
+ agent->script = NULL;
625
+ if (JS_IsException(ret_val))
626
+ js_std_dump_error(ctx);
627
+ JS_FreeValue(ctx, ret_val);
628
+
629
+ for(;;) {
630
+ JSContext *ctx1;
631
+ ret = JS_ExecutePendingJob(JS_GetRuntime(ctx), &ctx1);
632
+ if (ret < 0) {
633
+ js_std_dump_error(ctx);
634
+ break;
635
+ } else if (ret == 0) {
636
+ if (JS_IsUndefined(agent->broadcast_func)) {
637
+ break;
638
+ } else {
639
+ JSValue args[2];
640
+
641
+ js_mutex_lock(&tls->agent_mutex);
642
+ while (!agent->broadcast_pending) {
643
+ js_cond_wait(&tls->agent_cond, &tls->agent_mutex);
644
+ }
645
+
646
+ agent->broadcast_pending = false;
647
+ js_cond_signal(&tls->agent_cond);
648
+
649
+ js_mutex_unlock(&tls->agent_mutex);
650
+
651
+ args[0] = JS_NewArrayBuffer(ctx, agent->broadcast_sab_buf,
652
+ agent->broadcast_sab_size,
653
+ NULL, NULL, true);
654
+ args[1] = JS_NewInt32(ctx, agent->broadcast_val);
655
+ ret_val = JS_Call(ctx, agent->broadcast_func, JS_UNDEFINED,
656
+ 2, (JSValueConst *)args);
657
+ JS_FreeValue(ctx, args[0]);
658
+ JS_FreeValue(ctx, args[1]);
659
+ if (JS_IsException(ret_val))
660
+ js_std_dump_error(ctx);
661
+ JS_FreeValue(ctx, ret_val);
662
+ JS_FreeValue(ctx, agent->broadcast_func);
663
+ agent->broadcast_func = JS_UNDEFINED;
664
+ }
665
+ }
666
+ }
667
+ JS_FreeValue(ctx, agent->broadcast_func);
668
+
669
+ JS_FreeContext(ctx);
670
+ JS_FreeRuntime(rt);
671
+ }
672
+
673
+ static JSValue js_agent_start(JSContext *ctx, JSValueConst this_val,
674
+ int argc, JSValueConst *argv)
675
+ {
676
+ ThreadLocalStorage *tls = JS_GetRuntimeOpaque(JS_GetRuntime(ctx));
677
+ const char *script;
678
+ Test262Agent *agent;
679
+
680
+ if (JS_GetContextOpaque(ctx) != NULL)
681
+ return JS_ThrowTypeError(ctx, "cannot be called inside an agent");
682
+
683
+ script = JS_ToCString(ctx, argv[0]);
684
+ if (!script)
685
+ return JS_EXCEPTION;
686
+ agent = malloc(sizeof(*agent));
687
+ memset(agent, 0, sizeof(*agent));
688
+ agent->broadcast_func = JS_UNDEFINED;
689
+ agent->broadcast_sab = JS_UNDEFINED;
690
+ agent->script = strdup(script);
691
+ agent->tls = tls;
692
+ JS_FreeCString(ctx, script);
693
+ list_add_tail(&agent->link, &tls->agent_list);
694
+ js_thread_create(&agent->tid, agent_start, agent, /*flags*/0);
695
+ return JS_UNDEFINED;
696
+ }
697
+
698
+ static void js_agent_free(JSContext *ctx)
699
+ {
700
+ ThreadLocalStorage *tls = JS_GetRuntimeOpaque(JS_GetRuntime(ctx));
701
+ struct list_head *el, *el1;
702
+ Test262Agent *agent;
703
+
704
+ list_for_each_safe(el, el1, &tls->agent_list) {
705
+ agent = list_entry(el, Test262Agent, link);
706
+ js_thread_join(agent->tid);
707
+ JS_FreeValue(ctx, agent->broadcast_sab);
708
+ list_del(&agent->link);
709
+ free(agent);
710
+ }
711
+ }
712
+
713
+ static JSValue js_agent_leaving(JSContext *ctx, JSValueConst this_val,
714
+ int argc, JSValueConst *argv)
715
+ {
716
+ Test262Agent *agent = JS_GetContextOpaque(ctx);
717
+ if (!agent)
718
+ return JS_ThrowTypeError(ctx, "must be called inside an agent");
719
+ /* nothing to do */
720
+ return JS_UNDEFINED;
721
+ }
722
+
723
+ static bool is_broadcast_pending(ThreadLocalStorage *tls)
724
+ {
725
+ struct list_head *el;
726
+ Test262Agent *agent;
727
+ list_for_each(el, &tls->agent_list) {
728
+ agent = list_entry(el, Test262Agent, link);
729
+ if (agent->broadcast_pending)
730
+ return true;
731
+ }
732
+ return false;
733
+ }
734
+
735
+ static JSValue js_agent_broadcast(JSContext *ctx, JSValueConst this_val,
736
+ int argc, JSValueConst *argv)
737
+ {
738
+ ThreadLocalStorage *tls = JS_GetRuntimeOpaque(JS_GetRuntime(ctx));
739
+ JSValueConst sab = argv[0];
740
+ struct list_head *el;
741
+ Test262Agent *agent;
742
+ uint8_t *buf;
743
+ size_t buf_size;
744
+ int32_t val;
745
+
746
+ if (JS_GetContextOpaque(ctx) != NULL)
747
+ return JS_ThrowTypeError(ctx, "cannot be called inside an agent");
748
+
749
+ buf = JS_GetArrayBuffer(ctx, &buf_size, sab);
750
+ if (!buf)
751
+ return JS_EXCEPTION;
752
+ if (JS_ToInt32(ctx, &val, argv[1]))
753
+ return JS_EXCEPTION;
754
+
755
+ /* broadcast the values and wait until all agents have started
756
+ calling their callbacks */
757
+ js_mutex_lock(&tls->agent_mutex);
758
+ list_for_each(el, &tls->agent_list) {
759
+ agent = list_entry(el, Test262Agent, link);
760
+ agent->broadcast_pending = true;
761
+ /* the shared array buffer is used by the thread, so increment
762
+ its refcount */
763
+ agent->broadcast_sab = JS_DupValue(ctx, sab);
764
+ agent->broadcast_sab_buf = buf;
765
+ agent->broadcast_sab_size = buf_size;
766
+ agent->broadcast_val = val;
767
+ }
768
+ js_cond_broadcast(&tls->agent_cond);
769
+
770
+ while (is_broadcast_pending(tls)) {
771
+ js_cond_wait(&tls->agent_cond, &tls->agent_mutex);
772
+ }
773
+ js_mutex_unlock(&tls->agent_mutex);
774
+ return JS_UNDEFINED;
775
+ }
776
+
777
+ static JSValue js_agent_receiveBroadcast(JSContext *ctx, JSValueConst this_val,
778
+ int argc, JSValueConst *argv)
779
+ {
780
+ Test262Agent *agent = JS_GetContextOpaque(ctx);
781
+ if (!agent)
782
+ return JS_ThrowTypeError(ctx, "must be called inside an agent");
783
+ if (!JS_IsFunction(ctx, argv[0]))
784
+ return JS_ThrowTypeError(ctx, "expecting function");
785
+ JS_FreeValue(ctx, agent->broadcast_func);
786
+ agent->broadcast_func = JS_DupValue(ctx, argv[0]);
787
+ return JS_UNDEFINED;
788
+ }
789
+
790
+ static JSValue js_agent_sleep(JSContext *ctx, JSValueConst this_val,
791
+ int argc, JSValueConst *argv)
792
+ {
793
+ uint32_t duration;
794
+ if (JS_ToUint32(ctx, &duration, argv[0]))
795
+ return JS_EXCEPTION;
796
+ #ifdef _WIN32
797
+ Sleep(duration);
798
+ #else
799
+ usleep(duration * 1000);
800
+ #endif
801
+ return JS_UNDEFINED;
802
+ }
803
+
804
+ static int64_t get_clock_ms(void)
805
+ {
806
+ #ifdef _WIN32
807
+ return GetTickCount64();
808
+ #else
809
+ struct timespec ts;
810
+ clock_gettime(CLOCK_MONOTONIC, &ts);
811
+ return (uint64_t)ts.tv_sec * 1000 + (ts.tv_nsec / 1000000);
812
+ #endif
813
+ }
814
+
815
+ static JSValue js_agent_monotonicNow(JSContext *ctx, JSValueConst this_val,
816
+ int argc, JSValueConst *argv)
817
+ {
818
+ return JS_NewInt64(ctx, get_clock_ms());
819
+ }
820
+
821
+ static JSValue js_agent_getReport(JSContext *ctx, JSValueConst this_val,
822
+ int argc, JSValueConst *argv)
823
+ {
824
+ ThreadLocalStorage *tls = JS_GetRuntimeOpaque(JS_GetRuntime(ctx));
825
+ AgentReport *rep;
826
+ JSValue ret;
827
+
828
+ js_mutex_lock(&tls->report_mutex);
829
+ if (list_empty(&tls->report_list)) {
830
+ rep = NULL;
831
+ } else {
832
+ rep = list_entry(tls->report_list.next, AgentReport, link);
833
+ list_del(&rep->link);
834
+ }
835
+ js_mutex_unlock(&tls->report_mutex);
836
+ if (rep) {
837
+ ret = JS_NewString(ctx, rep->str);
838
+ free(rep->str);
839
+ free(rep);
840
+ } else {
841
+ ret = JS_NULL;
842
+ }
843
+ return ret;
844
+ }
845
+
846
+ static JSValue js_agent_report(JSContext *ctx, JSValueConst this_val,
847
+ int argc, JSValueConst *argv)
848
+ {
849
+ ThreadLocalStorage *tls = JS_GetRuntimeOpaque(JS_GetRuntime(ctx));
850
+ const char *str;
851
+ AgentReport *rep;
852
+
853
+ str = JS_ToCString(ctx, argv[0]);
854
+ if (!str)
855
+ return JS_EXCEPTION;
856
+ rep = malloc(sizeof(*rep));
857
+ rep->str = strdup(str);
858
+ JS_FreeCString(ctx, str);
859
+
860
+ js_mutex_lock(&tls->report_mutex);
861
+ list_add_tail(&rep->link, &tls->report_list);
862
+ js_mutex_unlock(&tls->report_mutex);
863
+ return JS_UNDEFINED;
864
+ }
865
+
866
+ static const JSCFunctionListEntry js_agent_funcs[] = {
867
+ /* only in main */
868
+ JS_CFUNC_DEF("start", 1, js_agent_start ),
869
+ JS_CFUNC_DEF("getReport", 0, js_agent_getReport ),
870
+ JS_CFUNC_DEF("broadcast", 2, js_agent_broadcast ),
871
+ /* only in agent */
872
+ JS_CFUNC_DEF("report", 1, js_agent_report ),
873
+ JS_CFUNC_DEF("leaving", 0, js_agent_leaving ),
874
+ JS_CFUNC_DEF("receiveBroadcast", 1, js_agent_receiveBroadcast ),
875
+ /* in both */
876
+ JS_CFUNC_DEF("sleep", 1, js_agent_sleep ),
877
+ JS_CFUNC_DEF("monotonicNow", 0, js_agent_monotonicNow ),
878
+ };
879
+
880
+ static JSValue js_new_agent(JSContext *ctx)
881
+ {
882
+ JSValue agent;
883
+ agent = JS_NewObject(ctx);
884
+ JS_SetPropertyFunctionList(ctx, agent, js_agent_funcs,
885
+ countof(js_agent_funcs));
886
+ return agent;
887
+ }
888
+
889
+ static JSValue js_createRealm(JSContext *ctx, JSValueConst this_val,
890
+ int argc, JSValueConst *argv)
891
+ {
892
+ JSContext *ctx1;
893
+ JSValue ret;
894
+
895
+ ctx1 = JS_NewContext(JS_GetRuntime(ctx));
896
+ if (!ctx1)
897
+ return JS_ThrowOutOfMemory(ctx);
898
+ ret = add_helpers1(ctx1);
899
+ /* ctx1 has a refcount so it stays alive */
900
+ JS_FreeContext(ctx1);
901
+ return ret;
902
+ }
903
+
904
+ static JSValue js_IsHTMLDDA(JSContext *ctx, JSValueConst this_val,
905
+ int argc, JSValueConst *argv)
906
+ {
907
+ return JS_NULL;
908
+ }
909
+
910
+ static JSValue js_gc(JSContext *ctx, JSValueConst this_val,
911
+ int argc, JSValueConst *argv)
912
+ {
913
+ JS_RunGC(JS_GetRuntime(ctx));
914
+ return JS_UNDEFINED;
915
+ }
916
+
917
+ static JSValue add_helpers1(JSContext *ctx)
918
+ {
919
+ JSValue global_obj;
920
+ JSValue obj262, is_html_dda;
921
+
922
+ global_obj = JS_GetGlobalObject(ctx);
923
+
924
+ JS_SetPropertyStr(ctx, global_obj, "print",
925
+ JS_NewCFunction(ctx, js_print_262, "print", 1));
926
+ JS_SetPropertyStr(ctx, global_obj, "gc",
927
+ JS_NewCFunction(ctx, js_gc, "gc", 0));
928
+
929
+ is_html_dda = JS_NewCFunction(ctx, js_IsHTMLDDA, "IsHTMLDDA", 0);
930
+ JS_SetIsHTMLDDA(ctx, is_html_dda);
931
+ #define N 7
932
+ static const char *props[N] = {
933
+ "detachArrayBuffer", "evalScript", "codePointRange",
934
+ "agent", "global", "createRealm", "IsHTMLDDA",
935
+ };
936
+ JSValue values[N] = {
937
+ JS_NewCFunction(ctx, js_detachArrayBuffer, "detachArrayBuffer", 1),
938
+ JS_NewCFunction(ctx, js_evalScript_262, "evalScript", 1),
939
+ JS_NewCFunction(ctx, js_string_codePointRange, "codePointRange", 2),
940
+ js_new_agent(ctx),
941
+ JS_DupValue(ctx, global_obj),
942
+ JS_NewCFunction(ctx, js_createRealm, "createRealm", 0),
943
+ is_html_dda,
944
+ };
945
+ /* $262 special object used by the tests */
946
+ obj262 = JS_NewObjectFromStr(ctx, N, props, values);
947
+ JS_SetPropertyStr(ctx, global_obj, "$262", JS_DupValue(ctx, obj262));
948
+ #undef N
949
+
950
+ JS_FreeValue(ctx, global_obj);
951
+ return obj262;
952
+ }
953
+
954
+ static void add_helpers(JSContext *ctx)
955
+ {
956
+ JS_FreeValue(ctx, add_helpers1(ctx));
957
+ }
958
+
959
+ static char *load_file(const char *filename, size_t *lenp)
960
+ {
961
+ char *buf;
962
+ size_t buf_len;
963
+ buf = (char *)js_load_file(NULL, &buf_len, filename);
964
+ if (!buf)
965
+ perror_exit(1, filename);
966
+ if (lenp)
967
+ *lenp = buf_len;
968
+ return buf;
969
+ }
970
+
971
+ static JSModuleDef *js_module_loader_test(JSContext *ctx,
972
+ const char *module_name, void *opaque,
973
+ JSValueConst attributes)
974
+ {
975
+ char *filename, *slash, path[1024];
976
+
977
+ // interpret import("bar.js") from path/to/foo.js as
978
+ // import("path/to/bar.js") but leave import("./bar.js") untouched
979
+ filename = opaque;
980
+ if (!strchr(module_name, '/')) {
981
+ slash = strrchr(filename, '/');
982
+ if (slash) {
983
+ snprintf(path, sizeof(path), "%.*s/%s",
984
+ (int) (slash - filename), filename, module_name);
985
+ module_name = path;
986
+ }
987
+ }
988
+ return js_module_load(ctx, module_name, opaque, attributes, js_load_file);
989
+ }
990
+
991
+ int is_line_sep(char c)
992
+ {
993
+ return (c == '\0' || c == '\n' || c == '\r');
994
+ }
995
+
996
+ char *find_line(const char *str, const char *line)
997
+ {
998
+ if (str) {
999
+ const char *p;
1000
+ int len = strlen(line);
1001
+ for (p = str; (p = strstr(p, line)) != NULL; p += len + 1) {
1002
+ if ((p == str || is_line_sep(p[-1])) && is_line_sep(p[len]))
1003
+ return (char *)p;
1004
+ }
1005
+ }
1006
+ return NULL;
1007
+ }
1008
+
1009
+ int is_word_sep(char c)
1010
+ {
1011
+ return (c == '\0' || isspace((unsigned char)c) || c == ',');
1012
+ }
1013
+
1014
+ char *find_word(const char *str, const char *word)
1015
+ {
1016
+ const char *p;
1017
+ int len = strlen(word);
1018
+ if (str && len) {
1019
+ for (p = str; (p = strstr(p, word)) != NULL; p += len) {
1020
+ if ((p == str || is_word_sep(p[-1])) && is_word_sep(p[len]))
1021
+ return (char *)p;
1022
+ }
1023
+ }
1024
+ return NULL;
1025
+ }
1026
+
1027
+ /* handle exclude directories */
1028
+ void update_exclude_dirs(void)
1029
+ {
1030
+ namelist_t *lp = &test_list;
1031
+ namelist_t *ep = &exclude_list;
1032
+ namelist_t *dp = &exclude_dir_list;
1033
+ char *name, *path;
1034
+ int i, j, count;
1035
+ size_t include, exclude;
1036
+
1037
+ /* split directpries from exclude_list */
1038
+ for (count = i = 0; i < ep->count; i++) {
1039
+ name = ep->array[i];
1040
+ if (js__has_suffix(name, "/")) {
1041
+ namelist_add(dp, NULL, name);
1042
+ free(name);
1043
+ } else {
1044
+ ep->array[count++] = name;
1045
+ }
1046
+ }
1047
+ ep->count = count;
1048
+
1049
+ namelist_sort(dp);
1050
+
1051
+ /* filter out excluded directories */
1052
+ for (count = i = 0; i < lp->count; i++) {
1053
+ name = lp->array[i];
1054
+ include = exclude = 0;
1055
+ for (j = 0; j < dp->count; j++) {
1056
+ path = dp->array[j];
1057
+ if (has_prefix(name, path))
1058
+ exclude = strlen(path);
1059
+ if (*path == '!' && has_prefix(name, &path[1]))
1060
+ include = strlen(&path[1]);
1061
+ }
1062
+ // most specific include/exclude wins
1063
+ if (exclude > include) {
1064
+ test_excluded++;
1065
+ free(name);
1066
+ } else {
1067
+ lp->array[count++] = name;
1068
+ }
1069
+ }
1070
+ lp->count = count;
1071
+ }
1072
+
1073
+ void load_config(const char *filename, const char *ignore)
1074
+ {
1075
+ char buf[1024];
1076
+ FILE *f;
1077
+ char *base_name;
1078
+ enum {
1079
+ SECTION_NONE = 0,
1080
+ SECTION_CONFIG,
1081
+ SECTION_EXCLUDE,
1082
+ SECTION_FEATURES,
1083
+ SECTION_TESTS,
1084
+ } section = SECTION_NONE;
1085
+ int lineno = 0;
1086
+
1087
+ f = fopen(filename, "r");
1088
+ if (!f) {
1089
+ perror_exit(1, filename);
1090
+ }
1091
+ base_name = get_basename(filename);
1092
+
1093
+ while (fgets(buf, sizeof(buf), f) != NULL) {
1094
+ char *p, *q;
1095
+ lineno++;
1096
+ p = str_strip(buf);
1097
+ if (*p == '#' || *p == ';' || *p == '\0')
1098
+ continue; /* line comment */
1099
+
1100
+ if (*p == "[]"[0]) {
1101
+ /* new section */
1102
+ p++;
1103
+ p[strcspn(p, "]")] = '\0';
1104
+ if (str_equal(p, "config"))
1105
+ section = SECTION_CONFIG;
1106
+ else if (str_equal(p, "exclude"))
1107
+ section = SECTION_EXCLUDE;
1108
+ else if (str_equal(p, "features"))
1109
+ section = SECTION_FEATURES;
1110
+ else if (str_equal(p, "tests"))
1111
+ section = SECTION_TESTS;
1112
+ else
1113
+ section = SECTION_NONE;
1114
+ continue;
1115
+ }
1116
+ q = strchr(p, '=');
1117
+ if (q) {
1118
+ /* setting: name=value */
1119
+ *q++ = '\0';
1120
+ q = str_strip(q);
1121
+ }
1122
+ switch (section) {
1123
+ case SECTION_CONFIG:
1124
+ if (!q) {
1125
+ printf("%s:%d: syntax error\n", filename, lineno);
1126
+ continue;
1127
+ }
1128
+ if (strstr(ignore, p)) {
1129
+ printf("%s:%d: ignoring %s=%s\n", filename, lineno, p, q);
1130
+ continue;
1131
+ }
1132
+ if (str_equal(p, "local")) {
1133
+ local = str_equal(q, "yes");
1134
+ continue;
1135
+ }
1136
+ if (str_equal(p, "testdir")) {
1137
+ char *testdir = compose_path(base_name, q);
1138
+ enumerate_tests(testdir);
1139
+ free(testdir);
1140
+ continue;
1141
+ }
1142
+ if (str_equal(p, "harnessdir")) {
1143
+ harness_dir = compose_path(base_name, q);
1144
+ continue;
1145
+ }
1146
+ if (str_equal(p, "harnessexclude")) {
1147
+ str_append(&harness_exclude, " ", q);
1148
+ continue;
1149
+ }
1150
+ if (str_equal(p, "features")) {
1151
+ str_append(&harness_features, " ", q);
1152
+ continue;
1153
+ }
1154
+ if (str_equal(p, "skip-features")) {
1155
+ str_append(&harness_skip_features, " ", q);
1156
+ continue;
1157
+ }
1158
+ if (str_equal(p, "mode")) {
1159
+ if (str_equal(q, "default") || str_equal(q, "default-nostrict"))
1160
+ test_mode = TEST_DEFAULT_NOSTRICT;
1161
+ else if (str_equal(q, "default-strict"))
1162
+ test_mode = TEST_DEFAULT_STRICT;
1163
+ else if (str_equal(q, "nostrict"))
1164
+ test_mode = TEST_NOSTRICT;
1165
+ else if (str_equal(q, "strict"))
1166
+ test_mode = TEST_STRICT;
1167
+ else if (str_equal(q, "all") || str_equal(q, "both"))
1168
+ test_mode = TEST_ALL;
1169
+ else
1170
+ fatal(2, "unknown test mode: %s", q);
1171
+ continue;
1172
+ }
1173
+ if (str_equal(p, "strict")) {
1174
+ if (str_equal(q, "skip") || str_equal(q, "no"))
1175
+ test_mode = TEST_NOSTRICT;
1176
+ continue;
1177
+ }
1178
+ if (str_equal(p, "nostrict")) {
1179
+ if (str_equal(q, "skip") || str_equal(q, "no"))
1180
+ test_mode = TEST_STRICT;
1181
+ continue;
1182
+ }
1183
+ if (str_equal(p, "async")) {
1184
+ skip_async = !str_equal(q, "yes");
1185
+ continue;
1186
+ }
1187
+ if (str_equal(p, "module")) {
1188
+ skip_module = !str_equal(q, "yes");
1189
+ continue;
1190
+ }
1191
+ if (str_equal(p, "verbose")) {
1192
+ int count = str_count(q, "yes");
1193
+ verbose = max_int(verbose, count);
1194
+ continue;
1195
+ }
1196
+ if (str_equal(p, "errorfile")) {
1197
+ error_filename = compose_path(base_name, q);
1198
+ continue;
1199
+ }
1200
+ if (str_equal(p, "excludefile")) {
1201
+ char *path = compose_path(base_name, q);
1202
+ namelist_load(&exclude_list, path);
1203
+ free(path);
1204
+ continue;
1205
+ }
1206
+ case SECTION_EXCLUDE:
1207
+ namelist_add(&exclude_list, base_name, p);
1208
+ break;
1209
+ case SECTION_FEATURES:
1210
+ if (!q || str_equal(q, "yes") || (!CC_IS_TCC && str_equal(q, "!tcc")))
1211
+ str_append(&harness_features, " ", p);
1212
+ else
1213
+ str_append(&harness_skip_features, " ", p);
1214
+ break;
1215
+ case SECTION_TESTS:
1216
+ namelist_add(&test_list, base_name, p);
1217
+ break;
1218
+ default:
1219
+ /* ignore settings in other sections */
1220
+ break;
1221
+ }
1222
+ }
1223
+ fclose(f);
1224
+ free(base_name);
1225
+ }
1226
+
1227
+ char *find_error(const char *filename, int *pline, int is_strict)
1228
+ {
1229
+ if (error_file) {
1230
+ size_t len = strlen(filename);
1231
+ const char *p, *q, *r;
1232
+ int line;
1233
+
1234
+ for (p = error_file; (p = strstr(p, filename)) != NULL; p += len) {
1235
+ if ((p == error_file || p[-1] == '\n' || p[-1] == '(') && p[len] == ':') {
1236
+ q = p + len;
1237
+ line = 1;
1238
+ if (*q == ':') {
1239
+ line = strtol(q + 1, (char**)&q, 10);
1240
+ if (*q == ':')
1241
+ q++;
1242
+ }
1243
+ while (*q == ' ') {
1244
+ q++;
1245
+ }
1246
+ /* check strict mode indicator */
1247
+ if (!js__strstart(q, "strict mode: ", &q) != !is_strict)
1248
+ continue;
1249
+ r = q = skip_prefix(q, "unexpected error: ");
1250
+ r += strcspn(r, "\n");
1251
+ while (r[0] == '\n' && r[1] && strncmp(r + 1, filename, 8)) {
1252
+ r++;
1253
+ r += strcspn(r, "\n");
1254
+ }
1255
+ if (pline)
1256
+ *pline = line;
1257
+ return strdup_len(q, r - q);
1258
+ }
1259
+ }
1260
+ }
1261
+ return NULL;
1262
+ }
1263
+
1264
+ int skip_comments(const char *str, int line, int *pline)
1265
+ {
1266
+ const char *p;
1267
+ int c;
1268
+
1269
+ p = str;
1270
+ while ((c = (unsigned char)*p++) != '\0') {
1271
+ if (isspace(c)) {
1272
+ if (c == '\n')
1273
+ line++;
1274
+ continue;
1275
+ }
1276
+ if (c == '/' && *p == '/') {
1277
+ while (*++p && *p != '\n')
1278
+ continue;
1279
+ continue;
1280
+ }
1281
+ if (c == '/' && *p == '*') {
1282
+ for (p += 1; *p; p++) {
1283
+ if (*p == '\n') {
1284
+ line++;
1285
+ continue;
1286
+ }
1287
+ if (*p == '*' && p[1] == '/') {
1288
+ p += 2;
1289
+ break;
1290
+ }
1291
+ }
1292
+ continue;
1293
+ }
1294
+ break;
1295
+ }
1296
+ if (pline)
1297
+ *pline = line;
1298
+
1299
+ return p - str;
1300
+ }
1301
+
1302
+ int longest_match(const char *str, const char *find, int pos, int *ppos, int line, int *pline)
1303
+ {
1304
+ int len, maxlen;
1305
+
1306
+ maxlen = 0;
1307
+
1308
+ if (*find) {
1309
+ const char *p;
1310
+ for (p = str + pos; *p; p++) {
1311
+ if (*p == *find) {
1312
+ for (len = 1; p[len] && p[len] == find[len]; len++)
1313
+ continue;
1314
+ if (len > maxlen) {
1315
+ maxlen = len;
1316
+ if (ppos)
1317
+ *ppos = p - str;
1318
+ if (pline)
1319
+ *pline = line;
1320
+ if (!find[len])
1321
+ break;
1322
+ }
1323
+ }
1324
+ if (*p == '\n')
1325
+ line++;
1326
+ }
1327
+ }
1328
+ return maxlen;
1329
+ }
1330
+
1331
+ static int eval_buf(JSContext *ctx, const char *buf, size_t buf_len,
1332
+ const char *filename, int is_test, int is_negative,
1333
+ const char *error_type, int eval_flags, int is_async,
1334
+ int *msec)
1335
+ {
1336
+ ThreadLocalStorage *tls = JS_GetRuntimeOpaque(JS_GetRuntime(ctx));
1337
+ JSValue res_val, exception_val;
1338
+ int ret, error_line, pos, pos_line;
1339
+ bool is_error, has_error_line, ret_promise;
1340
+ const char *error_name;
1341
+ int start, duration;
1342
+
1343
+ pos = skip_comments(buf, 1, &pos_line);
1344
+ error_line = pos_line;
1345
+ has_error_line = false;
1346
+ exception_val = JS_UNDEFINED;
1347
+ error_name = NULL;
1348
+
1349
+ /* a module evaluation returns a promise */
1350
+ ret_promise = ((eval_flags & JS_EVAL_TYPE_MODULE) != 0);
1351
+ tls->async_done = 0; /* counter of "Test262:AsyncTestComplete" messages */
1352
+
1353
+ start = get_clock_ms();
1354
+ res_val = JS_Eval(ctx, buf, buf_len, filename, eval_flags);
1355
+
1356
+ if ((is_async || ret_promise) && !JS_IsException(res_val)) {
1357
+ JSValue promise = JS_UNDEFINED;
1358
+ if (ret_promise) {
1359
+ promise = res_val;
1360
+ } else {
1361
+ JS_FreeValue(ctx, res_val);
1362
+ }
1363
+ for(;;) {
1364
+ JSContext *ctx1;
1365
+ ret = JS_ExecutePendingJob(JS_GetRuntime(ctx), &ctx1);
1366
+ if (ret < 0) {
1367
+ res_val = JS_EXCEPTION;
1368
+ break;
1369
+ } else if (ret == 0) {
1370
+ if (is_async) {
1371
+ /* test if the test called $DONE() once */
1372
+ if (tls->async_done != 1) {
1373
+ res_val = JS_ThrowTypeError(ctx, "$DONE() not called");
1374
+ } else {
1375
+ res_val = JS_UNDEFINED;
1376
+ }
1377
+ } else {
1378
+ /* check that the returned promise is fulfilled */
1379
+ JSPromiseStateEnum state = JS_PromiseState(ctx, promise);
1380
+ if (state == JS_PROMISE_FULFILLED)
1381
+ res_val = JS_UNDEFINED;
1382
+ else if (state == JS_PROMISE_REJECTED)
1383
+ res_val = JS_Throw(ctx, JS_PromiseResult(ctx, promise));
1384
+ else
1385
+ res_val = JS_ThrowTypeError(ctx, "promise is pending");
1386
+ }
1387
+ break;
1388
+ }
1389
+ }
1390
+ JS_FreeValue(ctx, promise);
1391
+ }
1392
+
1393
+ duration = get_clock_ms() - start;
1394
+ *msec += duration;
1395
+
1396
+ if (JS_IsException(res_val)) {
1397
+ exception_val = JS_GetException(ctx);
1398
+ is_error = JS_IsError(exception_val);
1399
+ js_print_262(ctx, JS_NULL, 1, (JSValueConst *)&exception_val);
1400
+ if (is_error) {
1401
+ JSValue name, stack;
1402
+ const char *stack_str;
1403
+
1404
+ name = JS_GetPropertyStr(ctx, exception_val, "name");
1405
+ error_name = JS_ToCString(ctx, name);
1406
+ stack = JS_GetPropertyStr(ctx, exception_val, "stack");
1407
+ if (!JS_IsUndefined(stack)) {
1408
+ stack_str = JS_ToCString(ctx, stack);
1409
+ if (stack_str) {
1410
+ const char *p;
1411
+ int len;
1412
+
1413
+ len = strlen(filename);
1414
+ p = strstr(stack_str, filename);
1415
+ if (p != NULL && p[len] == ':') {
1416
+ error_line = atoi(p + len + 1);
1417
+ has_error_line = true;
1418
+ }
1419
+ JS_FreeCString(ctx, stack_str);
1420
+ }
1421
+ }
1422
+ JS_FreeValue(ctx, stack);
1423
+ JS_FreeValue(ctx, name);
1424
+ }
1425
+ if (is_negative) {
1426
+ ret = 0;
1427
+ if (error_type) {
1428
+ char *error_class;
1429
+ const char *msg;
1430
+
1431
+ msg = JS_ToCString(ctx, exception_val);
1432
+ if (msg == NULL) {
1433
+ ret = -1;
1434
+ } else {
1435
+ error_class = strdup_len(msg, strcspn(msg, ":"));
1436
+ if (!str_equal(error_class, error_type))
1437
+ ret = -1;
1438
+ free(error_class);
1439
+ JS_FreeCString(ctx, msg);
1440
+ }
1441
+ }
1442
+ } else {
1443
+ ret = -1;
1444
+ }
1445
+ } else {
1446
+ if (is_negative)
1447
+ ret = -1;
1448
+ else
1449
+ ret = 0;
1450
+ }
1451
+
1452
+ if (verbose && is_test) {
1453
+ JSValue msg_val = JS_UNDEFINED;
1454
+ const char *msg = NULL;
1455
+ int s_line;
1456
+ char *s = find_error(filename, &s_line, eval_flags & JS_EVAL_FLAG_STRICT);
1457
+ const char *strict_mode = (eval_flags & JS_EVAL_FLAG_STRICT) ? "strict mode: " : "";
1458
+ bool is_unexpected_error = true;
1459
+
1460
+ if (!JS_IsUndefined(exception_val)) {
1461
+ msg_val = JS_ToString(ctx, exception_val);
1462
+ msg = JS_ToCString(ctx, msg_val);
1463
+ }
1464
+ if (is_negative) { // expect error
1465
+ if (ret == 0) {
1466
+ if (msg && s &&
1467
+ (str_equal(s, "expected error") ||
1468
+ js__strstart(s, "unexpected error type:", NULL) ||
1469
+ str_equal(s, msg))) { // did not have error yet
1470
+ if (!has_error_line) {
1471
+ longest_match(buf, msg, pos, &pos, pos_line, &error_line);
1472
+ }
1473
+ printf("%s:%d: %sOK, now has error %s\n",
1474
+ filename, error_line, strict_mode, msg);
1475
+ atomic_inc(&fixed_errors);
1476
+ is_unexpected_error = false;
1477
+ }
1478
+ } else {
1479
+ if (!s) { // not yet reported
1480
+ if (msg) {
1481
+ fprintf(error_out, "%s:%d: %sunexpected error type: %s\n",
1482
+ filename, error_line, strict_mode, msg);
1483
+ } else {
1484
+ fprintf(error_out, "%s:%d: %sexpected error\n",
1485
+ filename, error_line, strict_mode);
1486
+ }
1487
+ atomic_inc(&new_errors);
1488
+ }
1489
+ }
1490
+ } else { // should not have error
1491
+ if (msg) {
1492
+ if (!s || !str_equal(s, msg)) {
1493
+ if (!has_error_line) {
1494
+ char *p = skip_prefix(msg, "Test262 Error: ");
1495
+ if (strstr(p, "Test case returned non-true value!")) {
1496
+ longest_match(buf, "runTestCase", pos, &pos, pos_line, &error_line);
1497
+ } else {
1498
+ longest_match(buf, p, pos, &pos, pos_line, &error_line);
1499
+ }
1500
+ }
1501
+ fprintf(error_out, "%s:%d: %s%s%s\n", filename, error_line, strict_mode,
1502
+ error_file ? "unexpected error: " : "", msg);
1503
+
1504
+ if (s && (!str_equal(s, msg) || error_line != s_line)) {
1505
+ printf("%s:%d: %sprevious error: %s\n", filename, s_line, strict_mode, s);
1506
+ atomic_inc(&changed_errors);
1507
+ } else {
1508
+ atomic_inc(&new_errors);
1509
+ }
1510
+ }
1511
+ } else {
1512
+ if (s) {
1513
+ printf("%s:%d: %sOK, fixed error: %s\n", filename, s_line, strict_mode, s);
1514
+ atomic_inc(&fixed_errors);
1515
+ is_unexpected_error = false;
1516
+ }
1517
+ }
1518
+ }
1519
+ if (is_unexpected_error && verbose > 1 && JS_IsException(exception_val)) {
1520
+ JSValue val = JS_GetPropertyStr(ctx, exception_val, "stack");
1521
+ if (!JS_IsException(val) &&
1522
+ !JS_IsUndefined(val) &&
1523
+ !JS_IsNull(val)) {
1524
+ const char *str = JS_ToCString(ctx, val);
1525
+ if (str)
1526
+ printf("%s\n", str);
1527
+ JS_FreeCString(ctx, str);
1528
+ JS_FreeValue(ctx, val);
1529
+ }
1530
+ }
1531
+ JS_FreeValue(ctx, msg_val);
1532
+ JS_FreeCString(ctx, msg);
1533
+ free(s);
1534
+ }
1535
+
1536
+ if (local) {
1537
+ ret = js_std_loop(ctx);
1538
+ if (ret)
1539
+ js_std_dump_error(ctx);
1540
+ }
1541
+
1542
+ JS_FreeCString(ctx, error_name);
1543
+ JS_FreeValue(ctx, exception_val);
1544
+ JS_FreeValue(ctx, res_val);
1545
+ return ret;
1546
+ }
1547
+
1548
+ static int eval_file(JSContext *ctx, const char *base, const char *p,
1549
+ int eval_flags)
1550
+ {
1551
+ char *buf;
1552
+ size_t buf_len;
1553
+ char *filename = compose_path(base, p);
1554
+ int msec = 0;
1555
+
1556
+ buf = load_file(filename, &buf_len);
1557
+ if (!buf) {
1558
+ warning("cannot load %s", filename);
1559
+ goto fail;
1560
+ }
1561
+ if (eval_buf(ctx, buf, buf_len, filename, false, false, NULL,
1562
+ eval_flags, false, &msec)) {
1563
+ warning("error evaluating %s", filename);
1564
+ goto fail;
1565
+ }
1566
+ free(buf);
1567
+ free(filename);
1568
+ return 0;
1569
+
1570
+ fail:
1571
+ free(buf);
1572
+ free(filename);
1573
+ return 1;
1574
+ }
1575
+
1576
+ char *extract_desc(const char *buf)
1577
+ {
1578
+ const char *p, *desc_start;
1579
+ char *desc;
1580
+ int len;
1581
+
1582
+ p = buf;
1583
+ while (*p != '\0') {
1584
+ if (p[0] == '/' && p[1] == '*' && p[2] == '-' && p[3] != '/') {
1585
+ p += 3;
1586
+ desc_start = p;
1587
+ while (*p != '\0' && (p[0] != '*' || p[1] != '/'))
1588
+ p++;
1589
+ if (*p == '\0') {
1590
+ warning("Expecting end of desc comment");
1591
+ return NULL;
1592
+ }
1593
+ len = p - desc_start;
1594
+ desc = malloc(len + 1);
1595
+ memcpy(desc, desc_start, len);
1596
+ desc[len] = '\0';
1597
+ return desc;
1598
+ } else {
1599
+ p++;
1600
+ }
1601
+ }
1602
+ return NULL;
1603
+ }
1604
+
1605
+ static char *find_tag(char *desc, const char *tag, int *state)
1606
+ {
1607
+ char *p;
1608
+ p = strstr(desc, tag);
1609
+ if (p) {
1610
+ p += strlen(tag);
1611
+ *state = 0;
1612
+ }
1613
+ return p;
1614
+ }
1615
+
1616
+ static char *get_option(char **pp, int *state)
1617
+ {
1618
+ char *p, *p0, *option = NULL;
1619
+ if (*pp) {
1620
+ for (p = *pp;; p++) {
1621
+ switch (*p) {
1622
+ case '[':
1623
+ *state += 1;
1624
+ continue;
1625
+ case ']':
1626
+ *state -= 1;
1627
+ if (*state > 0)
1628
+ continue;
1629
+ p = NULL;
1630
+ break;
1631
+ case ' ':
1632
+ case '\t':
1633
+ case '\r':
1634
+ case ',':
1635
+ case '-':
1636
+ continue;
1637
+ case '\n':
1638
+ if (*state > 0 || p[1] == ' ')
1639
+ continue;
1640
+ p = NULL;
1641
+ break;
1642
+ case '\0':
1643
+ p = NULL;
1644
+ break;
1645
+ default:
1646
+ p0 = p;
1647
+ p += strcspn(p0, " \t\r\n,]");
1648
+ option = strdup_len(p0, p - p0);
1649
+ break;
1650
+ }
1651
+ break;
1652
+ }
1653
+ *pp = p;
1654
+ }
1655
+ return option;
1656
+ }
1657
+
1658
+ void update_stats(JSRuntime *rt, const char *filename) {
1659
+ JSMemoryUsage stats;
1660
+ JS_ComputeMemoryUsage(rt, &stats);
1661
+ js_mutex_lock(&stats_mutex);
1662
+ if (stats_count++ == 0) {
1663
+ stats_avg = stats_all = stats_min = stats_max = stats;
1664
+ free(stats_min_filename);
1665
+ stats_min_filename = strdup(filename);
1666
+ free(stats_max_filename);
1667
+ stats_max_filename = strdup(filename);
1668
+ } else {
1669
+ if (stats_max.malloc_size < stats.malloc_size) {
1670
+ stats_max = stats;
1671
+ free(stats_max_filename);
1672
+ stats_max_filename = strdup(filename);
1673
+ }
1674
+ if (stats_min.malloc_size > stats.malloc_size) {
1675
+ stats_min = stats;
1676
+ free(stats_min_filename);
1677
+ stats_min_filename = strdup(filename);
1678
+ }
1679
+
1680
+ #define update(f) stats_avg.f = (stats_all.f += stats.f) / stats_count
1681
+ update(malloc_count);
1682
+ update(malloc_size);
1683
+ update(memory_used_count);
1684
+ update(memory_used_size);
1685
+ update(atom_count);
1686
+ update(atom_size);
1687
+ update(str_count);
1688
+ update(str_size);
1689
+ update(obj_count);
1690
+ update(obj_size);
1691
+ update(prop_count);
1692
+ update(prop_size);
1693
+ update(shape_count);
1694
+ update(shape_size);
1695
+ update(js_func_count);
1696
+ update(js_func_size);
1697
+ update(js_func_code_size);
1698
+ update(js_func_pc2line_count);
1699
+ update(js_func_pc2line_size);
1700
+ update(c_func_count);
1701
+ update(array_count);
1702
+ update(fast_array_count);
1703
+ update(fast_array_elements);
1704
+ }
1705
+ #undef update
1706
+ js_mutex_unlock(&stats_mutex);
1707
+ }
1708
+
1709
+ static JSValue qjs_black_box(JSContext *ctx, JSValueConst this_val,
1710
+ int argc, JSValueConst argv[], int magic)
1711
+ {
1712
+ return JS_NewInt32(ctx, js_std_cmd(magic, ctx, &argv[0]));
1713
+ }
1714
+
1715
+ static const JSCFunctionListEntry qjs_methods[] = {
1716
+ JS_CFUNC_MAGIC_DEF("getStringKind", 1, qjs_black_box, /*GetStringKind*/3),
1717
+ };
1718
+
1719
+ static const JSCFunctionListEntry qjs_object =
1720
+ JS_OBJECT_DEF("qjs", qjs_methods, countof(qjs_methods), JS_PROP_C_W_E);
1721
+
1722
+ JSContext *JS_NewCustomContext(JSRuntime *rt)
1723
+ {
1724
+ JSContext *ctx;
1725
+ JSValue obj;
1726
+
1727
+ ctx = JS_NewContext(rt);
1728
+ if (ctx && local) {
1729
+ js_init_module_std(ctx, "qjs:std");
1730
+ js_init_module_os(ctx, "qjs:os");
1731
+ js_init_module_bjson(ctx, "qjs:bjson");
1732
+ obj = JS_GetGlobalObject(ctx);
1733
+ JS_SetPropertyFunctionList(ctx, obj, &qjs_object, 1);
1734
+ JS_FreeValue(ctx, obj);
1735
+ }
1736
+ return ctx;
1737
+ }
1738
+
1739
+ int run_test_buf(ThreadLocalStorage *tls, const char *filename, char *harness,
1740
+ namelist_t *ip, char *buf, size_t buf_len,
1741
+ const char* error_type, int eval_flags, bool is_negative,
1742
+ bool is_async, bool can_block, bool track_promise_rejections,
1743
+ int *msec)
1744
+ {
1745
+ JSRuntime *rt;
1746
+ JSContext *ctx;
1747
+ int i, ret;
1748
+
1749
+ rt = JS_NewRuntime();
1750
+ if (rt == NULL) {
1751
+ fatal(1, "JS_NewRuntime failure");
1752
+ }
1753
+ JS_SetDumpFlags(rt, JS_DUMP_LEAKS);
1754
+ JS_SetRuntimeOpaque(rt, tls);
1755
+ js_std_init_handlers(rt);
1756
+ ctx = JS_NewCustomContext(rt);
1757
+ if (ctx == NULL) {
1758
+ JS_FreeRuntime(rt);
1759
+ fatal(1, "JS_NewContext failure");
1760
+ }
1761
+ JS_SetRuntimeInfo(rt, filename);
1762
+
1763
+ JS_SetCanBlock(rt, can_block);
1764
+
1765
+ /* loader for ES6 modules */
1766
+ JS_SetModuleLoaderFunc2(rt, NULL, js_module_loader_test, NULL, (void *) filename);
1767
+
1768
+ if (track_promise_rejections)
1769
+ JS_SetHostPromiseRejectionTracker(rt, js_std_promise_rejection_tracker, NULL);
1770
+
1771
+ add_helpers(ctx);
1772
+
1773
+ for (i = 0; i < ip->count; i++) {
1774
+ if (eval_file(ctx, harness, ip->array[i], JS_EVAL_TYPE_GLOBAL)) {
1775
+ fatal(1, "error including %s for %s", ip->array[i], filename);
1776
+ }
1777
+ // hack to get useful stack traces from Test262Error exceptions
1778
+ if (verbose > 1 && str_equal(ip->array[i], "sta.js")) {
1779
+ static const char hack[] =
1780
+ ";(function(C){"
1781
+ "globalThis.Test262Error = class Test262Error extends Error {};"
1782
+ "globalThis.Test262Error.thrower = C.thrower;"
1783
+ "})(Test262Error)";
1784
+ JS_FreeValue(ctx, JS_Eval(ctx, hack, sizeof(hack)-1, "sta.js", JS_EVAL_TYPE_GLOBAL));
1785
+ }
1786
+ }
1787
+
1788
+ ret = eval_buf(ctx, buf, buf_len, filename, true, is_negative,
1789
+ error_type, eval_flags, is_async, msec);
1790
+ ret = (ret != 0);
1791
+
1792
+ if (dump_memory) {
1793
+ update_stats(rt, filename);
1794
+ }
1795
+ js_agent_free(ctx);
1796
+ JS_FreeContext(ctx);
1797
+ js_std_free_handlers(rt);
1798
+ JS_FreeRuntime(rt);
1799
+
1800
+ atomic_inc(&test_count);
1801
+ if (ret)
1802
+ atomic_inc(&test_failed);
1803
+ return ret;
1804
+ }
1805
+
1806
+ int run_test(ThreadLocalStorage *tls, const char *filename, int *msec)
1807
+ {
1808
+ char harnessbuf[1024];
1809
+ char *harness;
1810
+ char *buf;
1811
+ size_t buf_len;
1812
+ char *desc, *p;
1813
+ char *error_type;
1814
+ int ret, eval_flags, use_strict, use_nostrict;
1815
+ bool is_negative, is_nostrict, is_onlystrict, is_async, is_module, skip;
1816
+ bool detect_module = true;
1817
+ bool track_promise_rejections = false;
1818
+ bool can_block;
1819
+ namelist_t include_list = { 0 }, *ip = &include_list;
1820
+
1821
+ is_nostrict = is_onlystrict = is_negative = is_async = is_module = skip = false;
1822
+ can_block = true;
1823
+ error_type = NULL;
1824
+ buf = load_file(filename, &buf_len);
1825
+
1826
+ harness = harness_dir;
1827
+
1828
+ if (!harness) {
1829
+ const char *p1 = strstr(filename, "test/");
1830
+ if (p1) {
1831
+ snprintf(harnessbuf, sizeof(harnessbuf), "%.*s%s",
1832
+ (int)(p1 - filename), filename, "harness");
1833
+ }
1834
+ harness = harnessbuf;
1835
+ }
1836
+ if (!local) {
1837
+ namelist_add(ip, NULL, "sta.js");
1838
+ namelist_add(ip, NULL, "assert.js");
1839
+ }
1840
+ /* extract the YAML frontmatter */
1841
+ desc = extract_desc(buf);
1842
+ if (desc) {
1843
+ char *ifile, *option;
1844
+ int state;
1845
+ p = find_tag(desc, "includes:", &state);
1846
+ if (p) {
1847
+ while ((ifile = get_option(&p, &state)) != NULL) {
1848
+ // skip unsupported harness files
1849
+ if (find_word(harness_exclude, ifile)) {
1850
+ skip |= 1;
1851
+ } else {
1852
+ namelist_add(ip, NULL, ifile);
1853
+ }
1854
+ free(ifile);
1855
+ }
1856
+ }
1857
+ p = find_tag(desc, "flags:", &state);
1858
+ if (p) {
1859
+ while ((option = get_option(&p, &state)) != NULL) {
1860
+ if (str_equal(option, "noStrict") ||
1861
+ str_equal(option, "raw")) {
1862
+ is_nostrict = true;
1863
+ skip |= (test_mode == TEST_STRICT);
1864
+ }
1865
+ else if (str_equal(option, "onlyStrict")) {
1866
+ is_onlystrict = true;
1867
+ skip |= (test_mode == TEST_NOSTRICT);
1868
+ }
1869
+ else if (str_equal(option, "async")) {
1870
+ is_async = true;
1871
+ skip |= skip_async;
1872
+ }
1873
+ else if (str_equal(option, "qjs:no-detect-module")) {
1874
+ detect_module = false;
1875
+ }
1876
+ else if (str_equal(option, "qjs:track-promise-rejections")) {
1877
+ track_promise_rejections = true;
1878
+ }
1879
+ else if (str_equal(option, "module")) {
1880
+ is_module = true;
1881
+ skip |= skip_module;
1882
+ }
1883
+ else if (str_equal(option, "CanBlockIsFalse")) {
1884
+ can_block = false;
1885
+ }
1886
+ free(option);
1887
+ }
1888
+ }
1889
+ p = find_tag(desc, "negative:", &state);
1890
+ if (p) {
1891
+ /* XXX: should extract the phase */
1892
+ char *q = find_tag(p, "type:", &state);
1893
+ if (q) {
1894
+ while (isspace((unsigned char)*q))
1895
+ q++;
1896
+ error_type = strdup_len(q, strcspn(q, " \r\n"));
1897
+ }
1898
+ is_negative = true;
1899
+ }
1900
+ p = find_tag(desc, "features:", &state);
1901
+ if (p) {
1902
+ while ((option = get_option(&p, &state)) != NULL) {
1903
+ if (find_word(harness_features, option)) {
1904
+ /* feature is enabled */
1905
+ } else if (find_word(harness_skip_features, option)) {
1906
+ /* skip disabled feature */
1907
+ skip |= 1;
1908
+ } else {
1909
+ /* feature is not listed: skip and warn */
1910
+ printf("%s:%d: unknown feature: %s\n", filename, 1, option);
1911
+ skip |= 1;
1912
+ }
1913
+ free(option);
1914
+ }
1915
+ }
1916
+ free(desc);
1917
+ }
1918
+ if (is_async)
1919
+ namelist_add(ip, NULL, "doneprintHandle.js");
1920
+
1921
+ use_strict = use_nostrict = 0;
1922
+ /* XXX: should remove 'test_mode' or simplify it just to force
1923
+ strict or non strict mode for single file tests */
1924
+ switch (test_mode) {
1925
+ case TEST_DEFAULT_NOSTRICT:
1926
+ if (is_onlystrict)
1927
+ use_strict = 1;
1928
+ else
1929
+ use_nostrict = 1;
1930
+ break;
1931
+ case TEST_DEFAULT_STRICT:
1932
+ if (is_nostrict)
1933
+ use_nostrict = 1;
1934
+ else
1935
+ use_strict = 1;
1936
+ break;
1937
+ case TEST_NOSTRICT:
1938
+ if (!is_onlystrict)
1939
+ use_nostrict = 1;
1940
+ break;
1941
+ case TEST_STRICT:
1942
+ if (!is_nostrict)
1943
+ use_strict = 1;
1944
+ break;
1945
+ case TEST_ALL:
1946
+ if (is_module) {
1947
+ use_nostrict = 1;
1948
+ } else {
1949
+ if (!is_nostrict)
1950
+ use_strict = 1;
1951
+ if (!is_onlystrict)
1952
+ use_nostrict = 1;
1953
+ }
1954
+ break;
1955
+ }
1956
+
1957
+ if (skip || use_strict + use_nostrict == 0) {
1958
+ atomic_inc(&test_skipped);
1959
+ ret = -2;
1960
+ } else {
1961
+ if (local && detect_module) {
1962
+ is_module = JS_DetectModule(buf, buf_len);
1963
+ }
1964
+ if (is_module) {
1965
+ eval_flags = JS_EVAL_TYPE_MODULE;
1966
+ } else {
1967
+ eval_flags = JS_EVAL_TYPE_GLOBAL;
1968
+ }
1969
+ ret = 0;
1970
+ if (use_nostrict) {
1971
+ ret = run_test_buf(tls, filename, harness, ip, buf, buf_len,
1972
+ error_type, eval_flags, is_negative, is_async,
1973
+ can_block, track_promise_rejections, msec);
1974
+ }
1975
+ if (use_strict) {
1976
+ ret |= run_test_buf(tls, filename, harness, ip, buf, buf_len,
1977
+ error_type, eval_flags | JS_EVAL_FLAG_STRICT,
1978
+ is_negative, is_async, can_block,
1979
+ track_promise_rejections, msec);
1980
+ }
1981
+ }
1982
+ namelist_free(&include_list);
1983
+ free(error_type);
1984
+ free(buf);
1985
+
1986
+ return ret;
1987
+ }
1988
+
1989
+ /* run a test when called by test262-harness+eshost */
1990
+ int run_test262_harness_test(ThreadLocalStorage *tls, const char *filename,
1991
+ bool is_module, bool can_block)
1992
+ {
1993
+ JSRuntime *rt;
1994
+ JSContext *ctx;
1995
+ char *buf;
1996
+ size_t buf_len;
1997
+ int eval_flags, ret_code, ret;
1998
+ JSValue res_val;
1999
+
2000
+ outfile = stdout; /* for js_print_262 */
2001
+
2002
+ rt = JS_NewRuntime();
2003
+ if (rt == NULL) {
2004
+ fatal(1, "JS_NewRuntime failure");
2005
+ }
2006
+ JS_SetDumpFlags(rt, JS_DUMP_LEAKS);
2007
+ JS_SetRuntimeOpaque(rt, tls);
2008
+ ctx = JS_NewContext(rt);
2009
+ if (ctx == NULL) {
2010
+ JS_FreeRuntime(rt);
2011
+ fatal(1, "JS_NewContext failure");
2012
+ }
2013
+ JS_SetRuntimeInfo(rt, filename);
2014
+
2015
+ JS_SetCanBlock(rt, can_block);
2016
+
2017
+ /* loader for ES6 modules */
2018
+ JS_SetModuleLoaderFunc2(rt, NULL, js_module_loader_test, NULL, (void *) filename);
2019
+
2020
+ add_helpers(ctx);
2021
+
2022
+ buf = load_file(filename, &buf_len);
2023
+
2024
+ if (is_module) {
2025
+ eval_flags = JS_EVAL_TYPE_MODULE;
2026
+ } else {
2027
+ eval_flags = JS_EVAL_TYPE_GLOBAL;
2028
+ }
2029
+ res_val = JS_Eval(ctx, buf, buf_len, filename, eval_flags);
2030
+ ret_code = 0;
2031
+ if (JS_IsException(res_val)) {
2032
+ js_std_dump_error(ctx);
2033
+ ret_code = 1;
2034
+ } else {
2035
+ JSValue promise = JS_UNDEFINED;
2036
+ if (is_module) {
2037
+ promise = res_val;
2038
+ } else {
2039
+ JS_FreeValue(ctx, res_val);
2040
+ }
2041
+ for(;;) {
2042
+ JSContext *ctx1;
2043
+ ret = JS_ExecutePendingJob(JS_GetRuntime(ctx), &ctx1);
2044
+ if (ret < 0) {
2045
+ js_std_dump_error(ctx1);
2046
+ ret_code = 1;
2047
+ } else if (ret == 0) {
2048
+ break;
2049
+ }
2050
+ }
2051
+ /* dump the error if the module returned an error. */
2052
+ if (is_module) {
2053
+ JSPromiseStateEnum state = JS_PromiseState(ctx, promise);
2054
+ if (state == JS_PROMISE_REJECTED) {
2055
+ JS_Throw(ctx, JS_PromiseResult(ctx, promise));
2056
+ js_std_dump_error(ctx);
2057
+ ret_code = 1;
2058
+ }
2059
+ }
2060
+ JS_FreeValue(ctx, promise);
2061
+ }
2062
+ free(buf);
2063
+ js_agent_free(ctx);
2064
+ JS_FreeContext(ctx);
2065
+ JS_FreeRuntime(rt);
2066
+ return ret_code;
2067
+ }
2068
+
2069
+ clock_t last_clock;
2070
+
2071
+ void show_progress(void *unused) {
2072
+ int interval = 1000*1000*1000 / 4; // 250 ms
2073
+
2074
+ js_mutex_lock(&progress_mutex);
2075
+ while (js_cond_timedwait(&progress_cond, &progress_mutex, interval)) {
2076
+ /* output progress indicator: erase end of line and return to col 0 */
2077
+ fprintf(stderr, "%d/%d/%d \r",
2078
+ atomic_load(&test_failed),
2079
+ atomic_load(&test_count),
2080
+ atomic_load(&test_skipped));
2081
+ fflush(stderr);
2082
+ }
2083
+ js_mutex_unlock(&progress_mutex);
2084
+ }
2085
+
2086
+ enum { INCLUDE, EXCLUDE, SKIP };
2087
+
2088
+ int include_exclude_or_skip(int i) // naming is hard...
2089
+ {
2090
+ if (namelist_find(&exclude_list, test_list.array[i]) >= 0)
2091
+ return EXCLUDE;
2092
+ if (i < start_index)
2093
+ return SKIP;
2094
+ if (stop_index >= 0 && i > stop_index)
2095
+ return SKIP;
2096
+ return INCLUDE;
2097
+ }
2098
+
2099
+ void run_test_dir_list(void *arg)
2100
+ {
2101
+ ThreadLocalStorage tls_s, *tls = &tls_s;
2102
+ const char *p;
2103
+ int i, msec;
2104
+
2105
+ init_thread_local_storage(tls);
2106
+
2107
+ for (i = (uintptr_t)arg; i < test_list.count; i += nthreads) {
2108
+ if (INCLUDE != include_exclude_or_skip(i))
2109
+ continue;
2110
+ p = test_list.array[i];
2111
+ msec = 0;
2112
+ run_test(tls, p, &msec);
2113
+ if (verbose > 1 || (slow_test_threshold && msec >= slow_test_threshold))
2114
+ fprintf(stderr, "%s (%d ms)\n", p, msec);
2115
+ }
2116
+ }
2117
+
2118
+ void help(void)
2119
+ {
2120
+ printf("run-test262 version %s\n"
2121
+ "usage: run-test262 [options] {-f file ... | [dir_list] [index range]}\n"
2122
+ "-h help\n"
2123
+ "-a run tests in strict and nostrict modes\n"
2124
+ "-m print memory usage summary\n"
2125
+ "-N run test prepared by test262-harness+eshost\n"
2126
+ "-s run tests in strict mode, skip @nostrict tests\n"
2127
+ "-E only run tests from the error file\n"
2128
+ "-u update error file\n"
2129
+ "-v verbose: output error messages\n"
2130
+ "-vv like -v but also print test name and running time\n"
2131
+ "-T duration display tests taking more than 'duration' ms\n"
2132
+ "-t threads number of parallel threads; default: numcpus - 1\n"
2133
+ "-c file read configuration from 'file'\n"
2134
+ "-d dir run all test files in directory tree 'dir'\n"
2135
+ "-e file load the known errors from 'file'\n"
2136
+ "-f file execute single test from 'file'\n"
2137
+ "-x file exclude tests listed in 'file'\n"
2138
+ "--no-can-block set [[CanBlock]] to false (Atomics.wait will throw)\n",
2139
+ JS_GetVersion());
2140
+ exit(1);
2141
+ }
2142
+
2143
+ char *get_opt_arg(const char *option, char *arg)
2144
+ {
2145
+ if (!arg) {
2146
+ fatal(2, "missing argument for option %s", option);
2147
+ }
2148
+ return arg;
2149
+ }
2150
+
2151
+ int main(int argc, char **argv)
2152
+ {
2153
+ ThreadLocalStorage tls_s, *tls = &tls_s;
2154
+ int i, optind;
2155
+ bool is_dir_list;
2156
+ bool only_check_errors = false;
2157
+ const char *filename;
2158
+ const char *ignore = "";
2159
+ bool is_test262_harness = false;
2160
+ bool is_module = false;
2161
+ bool can_block = true;
2162
+ bool enable_progress = true;
2163
+
2164
+ js_std_set_worker_new_context_func(JS_NewCustomContext);
2165
+
2166
+ init_thread_local_storage(tls);
2167
+ js_mutex_init(&stats_mutex);
2168
+
2169
+ #ifndef _WIN32
2170
+ /* Date tests assume California local time */
2171
+ setenv("TZ", "America/Los_Angeles", 1);
2172
+ #endif
2173
+
2174
+ // minus one to not (over)commit the system completely
2175
+ nthreads = cpu_count() - 1;
2176
+
2177
+ optind = 1;
2178
+ while (optind < argc) {
2179
+ char *arg = argv[optind];
2180
+ if (*arg != '-')
2181
+ break;
2182
+ optind++;
2183
+ if (strstr("-c -d -e -x -f -E -T -t", arg))
2184
+ optind++;
2185
+ if (strstr("-d -f", arg))
2186
+ ignore = "testdir"; // run only the tests from -d or -f
2187
+ }
2188
+
2189
+ /* cannot use getopt because we want to pass the command line to
2190
+ the script */
2191
+ optind = 1;
2192
+ is_dir_list = true;
2193
+ while (optind < argc) {
2194
+ char *arg = argv[optind];
2195
+ if (*arg != '-')
2196
+ break;
2197
+ optind++;
2198
+ if (str_equal(arg, "-h")) {
2199
+ help();
2200
+ } else if (str_equal(arg, "-m")) {
2201
+ dump_memory++;
2202
+ } else if (str_equal(arg, "-s")) {
2203
+ test_mode = TEST_STRICT;
2204
+ } else if (str_equal(arg, "-a")) {
2205
+ test_mode = TEST_ALL;
2206
+ } else if (str_equal(arg, "-u")) {
2207
+ update_errors++;
2208
+ } else if (arg == strstr(arg, "-v")) {
2209
+ verbose += str_count(arg, "v");
2210
+ } else if (str_equal(arg, "-c")) {
2211
+ load_config(get_opt_arg(arg, argv[optind++]), ignore);
2212
+ } else if (str_equal(arg, "-d")) {
2213
+ enumerate_tests(get_opt_arg(arg, argv[optind++]));
2214
+ } else if (str_equal(arg, "-e")) {
2215
+ error_filename = get_opt_arg(arg, argv[optind++]);
2216
+ } else if (str_equal(arg, "-x")) {
2217
+ namelist_load(&exclude_list, get_opt_arg(arg, argv[optind++]));
2218
+ } else if (str_equal(arg, "-f")) {
2219
+ is_dir_list = false;
2220
+ } else if (str_equal(arg, "-E")) {
2221
+ only_check_errors = true;
2222
+ } else if (str_equal(arg, "-T")) {
2223
+ slow_test_threshold = atoi(get_opt_arg(arg, argv[optind++]));
2224
+ } else if (str_equal(arg, "-t")) {
2225
+ nthreads = atoi(get_opt_arg(arg, argv[optind++]));
2226
+ } else if (str_equal(arg, "-N")) {
2227
+ is_test262_harness = true;
2228
+ } else if (str_equal(arg, "--module")) {
2229
+ is_module = true;
2230
+ } else if (str_equal(arg, "--no-can-block")) {
2231
+ can_block = false;
2232
+ } else {
2233
+ fatal(1, "unknown option: %s", arg);
2234
+ break;
2235
+ }
2236
+ }
2237
+
2238
+ if (optind >= argc && !test_list.count)
2239
+ help();
2240
+
2241
+ if (is_test262_harness) {
2242
+ return run_test262_harness_test(tls, argv[optind], is_module, can_block);
2243
+ }
2244
+
2245
+ nthreads = max_int(nthreads, 1);
2246
+ nthreads = min_int(nthreads, countof(threads));
2247
+
2248
+ error_out = stdout;
2249
+ if (error_filename) {
2250
+ error_file = load_file(error_filename, NULL);
2251
+ if (only_check_errors && error_file) {
2252
+ namelist_free(&test_list);
2253
+ namelist_add_from_error_file(&test_list, error_file);
2254
+ }
2255
+ if (update_errors) {
2256
+ free(error_file);
2257
+ error_file = NULL;
2258
+ error_out = fopen(error_filename, "w");
2259
+ if (!error_out) {
2260
+ perror_exit(1, error_filename);
2261
+ }
2262
+ }
2263
+ }
2264
+
2265
+ update_exclude_dirs();
2266
+
2267
+ #ifndef _WIN32
2268
+ if (!isatty(STDOUT_FILENO)) {
2269
+ enable_progress = false;
2270
+ }
2271
+ #endif
2272
+
2273
+ if (is_dir_list) {
2274
+ if (optind < argc && !isdigit((unsigned char)argv[optind][0])) {
2275
+ filename = argv[optind++];
2276
+ namelist_load(&test_list, filename);
2277
+ }
2278
+ start_index = 0;
2279
+ stop_index = -1;
2280
+ if (optind < argc) {
2281
+ start_index = atoi(argv[optind++]);
2282
+ if (optind < argc) {
2283
+ stop_index = atoi(argv[optind++]);
2284
+ }
2285
+ }
2286
+ // exclude_dir_list has already been sorted by update_exclude_dirs()
2287
+ namelist_sort(&test_list);
2288
+ namelist_sort(&exclude_list);
2289
+ for (i = 0; i < test_list.count; i++) {
2290
+ switch (include_exclude_or_skip(i)) {
2291
+ case EXCLUDE:
2292
+ test_excluded++;
2293
+ break;
2294
+ case SKIP:
2295
+ test_skipped++;
2296
+ break;
2297
+ }
2298
+ }
2299
+ js_cond_init(&progress_cond);
2300
+ js_mutex_init(&progress_mutex);
2301
+ if (enable_progress) {
2302
+ js_thread_create(&progress_thread, show_progress, NULL, /*flags*/0);
2303
+ }
2304
+ for (i = 0; i < nthreads; i++) {
2305
+ js_thread_create(&threads[i], run_test_dir_list,
2306
+ (void *)(uintptr_t)i, /*flags*/0);
2307
+ }
2308
+ for (i = 0; i < nthreads; i++)
2309
+ js_thread_join(threads[i]);
2310
+ js_mutex_lock(&progress_mutex);
2311
+ js_cond_signal(&progress_cond);
2312
+ js_mutex_unlock(&progress_mutex);
2313
+ if (enable_progress) {
2314
+ js_thread_join(progress_thread);
2315
+ }
2316
+ js_mutex_destroy(&progress_mutex);
2317
+ js_cond_destroy(&progress_cond);
2318
+ } else {
2319
+ while (optind < argc) {
2320
+ int msec = 0;
2321
+ run_test(tls, argv[optind++], &msec);
2322
+ }
2323
+ }
2324
+
2325
+ if (dump_memory) {
2326
+ if (dump_memory > 1 && stats_count > 1) {
2327
+ printf("\nMininum memory statistics for %s:\n\n", stats_min_filename);
2328
+ JS_DumpMemoryUsage(stdout, &stats_min, NULL);
2329
+ printf("\nMaximum memory statistics for %s:\n\n", stats_max_filename);
2330
+ JS_DumpMemoryUsage(stdout, &stats_max, NULL);
2331
+ }
2332
+ printf("\nAverage memory statistics for %d tests:\n\n", stats_count);
2333
+ JS_DumpMemoryUsage(stdout, &stats_avg, NULL);
2334
+ printf("\n");
2335
+ }
2336
+
2337
+ if (is_dir_list) {
2338
+ fprintf(stderr, "Result: %d/%d error%s",
2339
+ test_failed, test_count, test_count != 1 ? "s" : "");
2340
+ if (test_excluded)
2341
+ fprintf(stderr, ", %d excluded", test_excluded);
2342
+ if (test_skipped)
2343
+ fprintf(stderr, ", %d skipped", test_skipped);
2344
+ if (error_file) {
2345
+ if (new_errors)
2346
+ fprintf(stderr, ", %d new", new_errors);
2347
+ if (changed_errors)
2348
+ fprintf(stderr, ", %d changed", changed_errors);
2349
+ if (fixed_errors)
2350
+ fprintf(stderr, ", %d fixed", fixed_errors);
2351
+ }
2352
+ fprintf(stderr, "\n");
2353
+ }
2354
+
2355
+ if (error_out && error_out != stdout) {
2356
+ fclose(error_out);
2357
+ error_out = NULL;
2358
+ }
2359
+
2360
+ namelist_free(&test_list);
2361
+ namelist_free(&exclude_list);
2362
+ namelist_free(&exclude_dir_list);
2363
+ free(harness_dir);
2364
+ free(harness_features);
2365
+ free(harness_exclude);
2366
+ free(harness_skip_features);
2367
+ free(error_file);
2368
+ free(error_filename);
2369
+ free(stats_min_filename);
2370
+ free(stats_max_filename);
2371
+
2372
+ /* Signal that the error file is out of date. */
2373
+ return new_errors || changed_errors || fixed_errors;
2374
+ }