PHPackages                             oru/harness262 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. oru/harness262

ActiveLibrary[Testing &amp; Quality](/categories/testing)

oru/harness262
==============

PHP based ECMAScript test262 harness

0.2.1(2y ago)055[10 issues](https://github.com/oruborus/harness262/issues)BSD-3-ClausePHPPHP ^8.2

Since Nov 2Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/oruborus/harness262)[ Packagist](https://packagist.org/packages/oru/harness262)[ RSS](/packages/oru-harness262/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (9)Versions (6)Used By (0)

PHP ECMAScript testing harness
==============================

[](#php-ecmascript-testing-harness)

This library aims to test ecma262 implementations.

Usage
-----

[](#usage)

The supplied testing harness can be used to execute the [Test262](https://github.com/tc39/test262) described in [ECMA TR/104](http://ecma-international.org/publications/techreports/E-TR-104.htm).

Run the following command to execute the complete test suite. Using the jit is advised.

```
$ harness ./vendor/tc39/test262/test
```

### Command-line options

[](#command-line-options)

#### `--debug`

[](#--debug)

Runs the testsuite in sequence and allows for step-debugging using xdebug or similar solutions.
Caching and test timeouts are disabled for this setting.

#### `--no-cache`, `-n`

[](#--no-cache--n)

Disables caching of test results.

#### `--silent`, `-s`

[](#--silent--s)

Runs the testsuite without output.

#### `--verbose`, `-v`

[](#--verbose--v)

Runs the testsuite with extended output.

#### `--concurrency `, `-c `

[](#--concurrency-number-of-concurrent-tests--c-number-of-concurrent-tests)

Sets the desired number of concurrent test cases to be run. The set value is clamped between one and the number of available logical cores on the host machine. This option has no effect if the `--debug` option is set.

#### `--strict`

[](#--strict)

Execute only tests that are implicitly strict.

#### `--loose`

[](#--loose)

Execute only tests that are implicitly non-strict.

#### `--include `

[](#--include-pattern)

Includes matching paths from the provided paths using the regular expression ``.

#### `--exclude `

[](#--exclude-pattern)

Excludes matching paths from the provided paths using the regular expression ``.

#### `--stop-on-error`

[](#--stop-on-error)

Stops the execution of the test suite after the first occurring error.

#### `--stop-on-failure`

[](#--stop-on-failure)

Stops the execution of the test suite after the first occurring failure.

#### `--stop-on-defect`

[](#--stop-on-defect)

Stops the execution of the test suite after the first occurring error or failure.

#### `--only-strict`, `--no-strict`, `--module`, `--async` and `--raw`

[](#--only-strict---no-strict---module---async-and---raw)

Providing one of these options will only execute test cases with the corresponding frontmatter flag. The `onlyStrict` and `noStrict` might be set implicitly (see [Interpreting Test262 Tests - strict mode](https://github.com/tc39/test262/blob/main/INTERPRETING.md#strict-mode)). The options are mutually exclusive - providing two of those options will result in an empty test suite!

#### `--timeout `

[](#--timeout-seconds)

Changes the maximum execution time to ``. The default value is 10 seconds. This option has no effect if the `--debug` option is set.

### Testing

[](#testing)

```
$ phpunit
$ infection
$ psalm
```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance50

Moderate activity, may be stable

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~17 days

Total

3

Last Release

892d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a7e092a1677f2b53f6ac910d975cb3bbce0a7ca75da14f20ffe994f76a451045?d=identicon)[Oru](/maintainers/Oru)

---

Top Contributors

[![oruborus](https://avatars.githubusercontent.com/u/17663?v=4)](https://github.com/oruborus "oruborus (253 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/oru-harness262/health.svg)

```
[![Health](https://phpackages.com/badges/oru-harness262/health.svg)](https://phpackages.com/packages/oru-harness262)
```

###  Alternatives

[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[behat/behat

Scenario-oriented BDD framework for PHP

4.0k96.8M2.0k](/packages/behat-behat)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k26.2M1.8k](/packages/infection-infection)[mglaman/phpstan-drupal

Drupal extension and rules for PHPStan

20829.0M124](/packages/mglaman-phpstan-drupal)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
