tc39 / tc39/test262

Reform tests for RegExp patterns

Open
#728 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
2.8k
Forks
564
Avg merge
3d 7h
Merged PRs (30d)
10

Description

This issue is particularly different from #705.

We currently maintain tests for RegExp patterns in test/built-ins/RegExp/S15.10*.js. I believe they belong to the language folder, probably a dedicated folder for patterns (maybe individual folders for each one).

Running a pet project I noticed NodeJS is crashing on some of these tests. I'm guessing it's due to high use of memory. While this is not an exclusive problem of test262, some of these tests could be updated/rewritten with a better assertions and better loops as the high memory/processing usage is not necessary.

Some of the files I found problems:

test/built-ins/RegExp/S15.10.1_A1_T13.js
test/built-ins/RegExp/S15.10.2.10_A5.1_T1.js
test/built-ins/RegExp/S15.10.2.11_A1_T9.js
test/built-ins/RegExp/S15.10.2.12_A1_T3.js
test/built-ins/RegExp/S15.10.2.12_A2_T3.js
test/built-ins/RegExp/S15.10.2.12_A2_T5.js
test/built-ins/RegExp/S15.10.2.12_A3_T1.js
test/built-ins/RegExp/S15.10.2.12_A3_T2.js

They are not the only thing crashing Node in that folder, but I stopped checking for each one I could solve with better loops (I've done an initial experimental work to replace these tests).

I observed NodeJS crashing using both test262-harness and the deprecated python runner.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the listed tests under test/built-ins/RegExp/, especially S15.10.1_A1_T13.js and the S15.10.2.* files, then reproduce the crashes with test262-harness or the deprecated Python runner. Review the existing experimental loop changes and reform the affected tests so they avoid unnecessary memory and processing use while preserving their RegExp coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
testing
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.