tree: 6f6059d5bb2211f4ea1f8a260cb6c3e2c7faa616 [path history] [tgz]
  1. regress/
  2. arrow-bare-rest-param.js
  3. arrow-bare-rest-param.out
  4. arrow-formal-parameters.js
  5. arrow-formal-parameters.out
  6. arrow-invalid-rest-2.js
  7. arrow-invalid-rest-2.out
  8. arrow-invalid-rest.js
  9. arrow-invalid-rest.out
  10. arrow-missing.js
  11. arrow-missing.out
  12. arrow-param-after-rest-2.js
  13. arrow-param-after-rest-2.out
  14. arrow-param-after-rest.js
  15. arrow-param-after-rest.out
  16. arrow-strict-eval-bare-parameter.js
  17. arrow-strict-eval-bare-parameter.out
  18. arrow-two-rest-params.js
  19. arrow-two-rest-params.out
  20. asm-assignment-undeclared.js
  21. asm-assignment-undeclared.out
  22. asm-missing-parameter-annotation.js
  23. asm-missing-parameter-annotation.out
  24. asm-missing-return-annotation.js
  25. asm-missing-return-annotation.out
  26. call-non-constructable.js
  27. call-non-constructable.out
  28. call-primitive-constructor.js
  29. call-primitive-constructor.out
  30. call-primitive-function.js
  31. call-primitive-function.out
  32. call-undeclared-function.js
  33. call-undeclared-function.out
  34. class-constructor-accessor.js
  35. class-constructor-accessor.out
  36. class-constructor-generator.js
  37. class-constructor-generator.out
  38. const-decl-no-init-sloppy.out
  39. const-decl-no-init.js
  40. const-decl-no-init.out
  41. const-decl-no-init2.js
  42. const-decl-no-init2.out
  43. default-parameter-tdz-arrow.js
  44. default-parameter-tdz-arrow.out
  45. default-parameter-tdz.js
  46. default-parameter-tdz.out
  47. destructuring-decl-no-init-array.js
  48. destructuring-decl-no-init-array.out
  49. destructuring-decl-no-init-array2.js
  50. destructuring-decl-no-init-array2.out
  51. destructuring-decl-no-init-obj.js
  52. destructuring-decl-no-init-obj.out
  53. destructuring-decl-no-init-obj2.js
  54. destructuring-decl-no-init-obj2.out
  55. destructuring-modify-const.js
  56. destructuring-modify-const.out
  57. export-duplicate-as.js
  58. export-duplicate-as.out
  59. export-duplicate-default.js
  60. export-duplicate-default.out
  61. export-duplicate.js
  62. export-duplicate.out
  63. for-in-let-loop-initializers-strict.js
  64. for-in-let-loop-initializers-strict.out
  65. for-in-loop-initializers-destructuring.js
  66. for-in-loop-initializers-destructuring.out
  67. for-in-loop-initializers-strict.js
  68. for-in-loop-initializers-strict.out
  69. for-loop-invalid-lhs.js
  70. for-loop-invalid-lhs.out
  71. for-of-let-loop-initializers.js
  72. for-of-let-loop-initializers.out
  73. for-of-loop-initializers-sloppy.js
  74. for-of-loop-initializers-sloppy.out
  75. for-of-loop-initializers-strict.js
  76. for-of-loop-initializers-strict.out
  77. for-of-throw-in-body.js
  78. for-of-throw-in-body.out
  79. formal-parameters-bad-rest.js
  80. formal-parameters-bad-rest.out
  81. formal-parameters-strict-body.js
  82. formal-parameters-strict-body.out
  83. formal-parameters-trailing-comma.js
  84. formal-parameters-trailing-comma.out
  85. function-sent-escaped.js
  86. function-sent-escaped.out
  87. generators-throw1.js
  88. generators-throw1.out
  89. generators-throw2.js
  90. generators-throw2.out
  91. import-as-eval.js
  92. import-as-eval.out
  93. import-as-redeclaration.js
  94. import-as-redeclaration.out
  95. import-as-reserved-word.js
  96. import-as-reserved-word.out
  97. import-eval.js
  98. import-eval.out
  99. import-redeclaration.js
  100. import-redeclaration.out
  101. import-reserved-word.js
  102. import-reserved-word.out
  103. instanceof-noncallable.js
  104. instanceof-noncallable.out
  105. instanceof-nonobject.js
  106. instanceof-nonobject.out
  107. invalid-spread-2.js
  108. invalid-spread-2.out
  109. invalid-spread.js
  110. invalid-spread.out
  111. isvar.js
  112. isvar.out
  113. let-lexical-declaration-destructuring-brace-in-single-statement.js
  114. let-lexical-declaration-destructuring-brace-in-single-statement.out
  115. let-lexical-declaration-destructuring-in-single-statement.js
  116. let-lexical-declaration-destructuring-in-single-statement.out
  117. let-lexical-declaration-in-single-statement.js
  118. let-lexical-declaration-in-single-statement.out
  119. let-lexical-name-in-array-prohibited.js
  120. let-lexical-name-in-array-prohibited.out
  121. let-lexical-name-in-object-prohibited.js
  122. let-lexical-name-in-object-prohibited.out
  123. let-lexical-name-prohibited.js
  124. let-lexical-name-prohibited.out
  125. message.gyp
  126. message.isolate
  127. message.status
  128. modules-cycle1.js
  129. modules-cycle1.out
  130. modules-cycle2.js
  131. modules-cycle2.out
  132. modules-cycle3.js
  133. modules-cycle3.out
  134. modules-cycle4.js
  135. modules-cycle4.out
  136. modules-cycle5.js
  137. modules-cycle5.out
  138. modules-cycle6.js
  139. modules-cycle6.out
  140. modules-duplicate-export1.js
  141. modules-duplicate-export1.out
  142. modules-duplicate-export2.js
  143. modules-duplicate-export2.out
  144. modules-duplicate-export3.js
  145. modules-duplicate-export3.out
  146. modules-duplicate-export4.js
  147. modules-duplicate-export4.out
  148. modules-import-redeclare1.js
  149. modules-import-redeclare1.out
  150. modules-import-redeclare2.js
  151. modules-import-redeclare2.out
  152. modules-import-redeclare3.js
  153. modules-import-redeclare3.out
  154. modules-import1.js
  155. modules-import1.out
  156. modules-import2.js
  157. modules-import2.out
  158. modules-import3.js
  159. modules-import3.out
  160. modules-import4.js
  161. modules-import4.out
  162. modules-import5.js
  163. modules-import5.out
  164. modules-import6.js
  165. modules-import6.out
  166. modules-skip-cycle2.js
  167. modules-skip-cycle3.js
  168. modules-skip-cycle5.js
  169. modules-skip-cycle6.js
  170. modules-star-conflict1.js
  171. modules-star-conflict1.out
  172. modules-star-conflict2.js
  173. modules-star-conflict2.out
  174. modules-star-default.js
  175. modules-star-default.out
  176. modules-undefined-export1.js
  177. modules-undefined-export1.out
  178. modules-undefined-export2.js
  179. modules-undefined-export2.out
  180. new-target-assignment.js
  181. new-target-assignment.out
  182. new-target-escaped.js
  183. new-target-escaped.out
  184. new-target-for-loop.js
  185. new-target-for-loop.out
  186. new-target-postfix-op.js
  187. new-target-postfix-op.out
  188. new-target-prefix-op.js
  189. new-target-prefix-op.out
  190. nf-yield-in-generator.js
  191. nf-yield-in-generator.out
  192. nf-yield-strict-in-generator.js
  193. nf-yield-strict-in-generator.out
  194. nf-yield-strict.js
  195. nf-yield-strict.out
  196. nfe-yield-generator.js
  197. nfe-yield-generator.out
  198. nfe-yield-strict.js
  199. nfe-yield-strict.out
  200. non-alphanum.js
  201. non-alphanum.out
  202. non-use-strict-hex-escape.js
  203. non-use-strict-hex-escape.out
  204. non-use-strict-octal-escape.js
  205. non-use-strict-octal-escape.out
  206. non-use-strict-uhex-escape.js
  207. non-use-strict-uhex-escape.out
  208. nonstrict-arguments.js
  209. nonstrict-arguments.out
  210. nonstrict-eval.js
  211. nonstrict-eval.out
  212. nonstrict-with.js
  213. nonstrict-with.out
  214. overwritten-builtins.js
  215. overwritten-builtins.out
  216. paren_in_arg_string.js
  217. paren_in_arg_string.out
  218. README.md
  219. redeclaration1.js
  220. redeclaration1.out
  221. redeclaration2.js
  222. redeclaration2.out
  223. redeclaration3.js
  224. redeclaration3.out
  225. replacement-marker-as-argument.js
  226. replacement-marker-as-argument.out
  227. rest-param-class-setter-strict.js
  228. rest-param-class-setter-strict.out
  229. rest-param-object-setter-sloppy.js
  230. rest-param-object-setter-sloppy.out
  231. rest-param-object-setter-strict.js
  232. rest-param-object-setter-strict.out
  233. simple-throw.js
  234. simple-throw.out
  235. strict-formal-parameters.js
  236. strict-formal-parameters.out
  237. strict-octal-indirect-regexp.js
  238. strict-octal-indirect-regexp.out
  239. strict-octal-number.js
  240. strict-octal-number.out
  241. strict-octal-regexp.js
  242. strict-octal-regexp.out
  243. strict-octal-string.js
  244. strict-octal-string.out
  245. strict-octal-use-strict-after.js
  246. strict-octal-use-strict-after.out
  247. strict-octal-use-strict-before.js
  248. strict-octal-use-strict-before.out
  249. strict-with.js
  250. strict-with.out
  251. super-constructor-extra-statement.js
  252. super-constructor-extra-statement.out
  253. super-constructor.js
  254. super-constructor.out
  255. super-in-function.js
  256. super-in-function.out
  257. testcfg.py
  258. tonumber-symbol.js
  259. tonumber-symbol.out
  260. try-catch-finally-no-message.js
  261. try-catch-finally-no-message.out
  262. try-catch-finally-return-in-finally.js
  263. try-catch-finally-return-in-finally.out
  264. try-catch-finally-throw-in-catch-and-finally.js
  265. try-catch-finally-throw-in-catch-and-finally.out
  266. try-catch-finally-throw-in-catch.js
  267. try-catch-finally-throw-in-catch.out
  268. try-catch-finally-throw-in-finally.js
  269. try-catch-finally-throw-in-finally.out
  270. try-catch-lexical-conflict.js
  271. try-catch-lexical-conflict.out
  272. try-catch-variable-conflict.js
  273. try-catch-variable-conflict.out
  274. try-finally-return-in-finally.js
  275. try-finally-return-in-finally.out
  276. try-finally-throw-in-finally.js
  277. try-finally-throw-in-finally.out
  278. try-finally-throw-in-try-and-finally.js
  279. try-finally-throw-in-try-and-finally.out
  280. try-finally-throw-in-try.js
  281. try-finally-throw-in-try.out
  282. unicode-escape-invalid-2.js
  283. unicode-escape-invalid-2.out
  284. unicode-escape-invalid.js
  285. unicode-escape-invalid.out
  286. unicode-escape-undefined.js
  287. unicode-escape-undefined.out
  288. unterminated-arg-list.js
  289. unterminated-arg-list.out
  290. wasm-trap.js
  291. wasm-trap.out
  292. yield-in-arrow-param.js
  293. yield-in-arrow-param.out
  294. yield-in-generator-param.js
  295. yield-in-generator-param.out
test/message/README.md

JavaScript tests with expected output

Tests in test/message pass if the output matches the expected output. Message tests are particularly useful when checking for exact error messages.

Tests and their expected output must have the same filename, with the .js and .out extension.

foo.js
foo.out

All tests must end with an exception. The test runner does not handle output from multiple runs, e.g., --stress-opt. Without an exception, the output will be generated several times and the comparison will fail.

You can use a regex in the expected output. Instead of the exact path. use

*%(basename)s:7: SyntaxError: Detected cycle while resolving name 'a'

Empty lines are ignored in the comparison, but whitespaces are not.

Exact details of the test runner are in testcfg.py.