SAP / project-foxhound

A web browser with dynamic data-flow tracking enabled in the Javascript engine and DOM, based on Mozilla Firefox (https://github.com/mozilla/gecko-dev). It can be used to identify insecure data flows or data privacy leaks in client-side web applications.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JS test failures

tmbrbr opened this issue · comments

There are some JavaScript tests which are currently unsuccessful with Foxhound, but successful with upstream Firefox.

To reproduce:

cp cp taintfox_mozconfig_spidermonkey .mozconfig
./mach build
./mach jstest

Currently gives error:

[44096|   10|    0| 8153] 100% ======================================>| 145.5s
REGRESSIONS
    non262/String/replace-rope-empty.js
    non262/String/thisv-error.js
    test262/built-ins/String/prototype/padStart/observable-operations.js
    test262/built-ins/String/prototype/replace/replaceValue-evaluation-order.js
    test262/built-ins/String/prototype/replace/replaceValue-evaluation-order-regexp-object.js
    test262/built-ins/String/prototype/repeat/return-abrupt-from-this-as-symbol.js
    test262/built-ins/String/prototype/repeat/return-abrupt-from-this.js
    test262/built-ins/String/prototype/padEnd/observable-operations.js
    test262/built-ins/Function/internals/Call/class-ctor-realm.js
    taint/json.js
FAIL

The json.js test is addressed in #145, but the others should be looked at.

Some tests failures addressed in #151, currently down to

[44178|    4|    0| 8138] 100% ======================================>| 118.3s
REGRESSIONS
    non262/String/replace-rope-empty.js
    test262/built-ins/String/prototype/repeat/return-abrupt-from-this.js
    test262/built-ins/String/prototype/repeat/return-abrupt-from-this-as-symbol.js
    test262/built-ins/Function/internals/Call/class-ctor-realm.js
FAIL

Some updates:

  • Commit beeea36 should fix the remaining tests.
  • Pull Request #158 adds scripts to publish test information to a junit-like XML
  • Pull Request #173 also adds runs tests automatically as a github action

More info:

  • Commit 48c020e actually fixes the last test (previously i had marked it as ignored)
  • Commit 57556fc adds skipped tests to the result (previously there were marked as passed)

All the JS tests are passing now! Foxhound is (almost) ECMA 262 compliant!