Skip to content
This repository has been archived by the owner on Jul 31, 2018. It is now read-only.

Array Literal Syntax Test Failures #26

Closed
IgnoredAmbience opened this issue May 11, 2015 · 4 comments
Closed

Array Literal Syntax Test Failures #26

IgnoredAmbience opened this issue May 11, 2015 · 4 comments
Labels

Comments

@IgnoredAmbience
Copy link
Member

Philippa has asked me to quickly examine the test failures on the petar_array branch for ch8-14.

Good news: we're up from ~1873 passes to 2002 as a result. (I'm using an old-ish test run that I had readily available), down from 539 aborts to 388.

Important test case failures:

  • tests/test262/ch11/11.1/11.1.4/11.1.4_4-5-1.js
  • tests/test262/ch11/11.1/11.1.4/11.1.4_5-6-1.js
    Array.prototype with a non-writable index not properly handled when using the literal syntax.
  • tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.3.js
    A variable [$ERROR] is defined at global scope. Its value is:
    #4: var array = [1,2,3,4,5]; array.length === 5. Actual: 0 | #5: var array = [1,2,3,4,5]; array[0] === 1. Actual: undefined | #6: var array = [1,2,3,4,5]; array[1] === 2. Actual: undefined | #7: var array = [1,2,3,4,5]; array[2] === 3. Actual: undefined | #8: var array = [1,2,3,4,5]; array[3] === 4. Actual: undefined | #9: var array = [1,2,3,4,5]; array[4] === 5. Actual: undefined
  • tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.4.js
    A variable [$ERROR] is defined at global scope. Its value is:
    #4: var array = [,,,1,2]; array.length === 5. Actual: 3 | #8: var array = [,,,1,2]; array[3] === 1. Actual: undefined | #9: var array = [,,,1,2]; array[4] === 2. Actual: undefined
  • tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.5.js
    #4: var array = [4,5,,,,]; array.length === 5. Actual: 3 | #5: var array = [4,5,,,,]; array[0] === 4. Actual: undefined | #6: var array = [4,5,,,,]; array[1] === 5. Actual: undefined
  • tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.6.js
    #4: var array = [,,3,,,]; array.length === 5. Actual: 4 | #7: var array = [,,3,,,]; array[2] === 3. Actual: undefined
  • tests/test262/ch11/11.1/11.1.4/S11.1.4_A1.7.js
    #4: var array = [1,2,,4,5]; array.length === 5. Actual: 1 | #5: var array = [1,2,,4,5]; array[0] === 1. Actual: undefined | #6: var array = [1,2,,4,5]; array[1] === 2. Actual: undefined | #8: var array = [1,2,,4,5]; array[3] === 4. Actual: undefined | #9: var array = [1,2,,4,5]; array[4] === 5. Actual: undefined
  • tests/test262/ch11/11.1/11.1.4/S11.1.4_A2.js
    #4: var array = [[1,2], [3], []]; array.length === 3. Actual: 0 | #5: var array = [[1,2], [3], []]; var subarray = array[0]; typeof subarray === "object". Actual: undefined | #6: var array = [[1,2], [3], []]; var subarray = array[0]; subarray instanceof Array === true
  • tests/test262/ch11/11.4/11.4.1/11.4.1-4.a-12.js
    Delete of length property.
  • tests/test262/ch12/12.10/S12.10_A4_T5.js
    Uses eval, may be broken. (Need to double check whether the eval fixes got transferred from the conrad branch)
    #1: myObj.p1[2] === 1. Actual: myObj.p1[2] ===undefined
@PetarMax
Copy link
Contributor

The literal parsing is not completely implemented yet, so it can only deal
with elisions, it cannot assign the actual values and it will not modify
the length properly.

I'm currently on work/vacation in Serbia, hope to have the
defineOwnProperty by the time I get back to France. That should deal with
(most) of these failures, I believe.

Cheers,
Petar

On 11 May 2015 at 22:20, Thomas Wood [email protected] wrote:

Philippa has asked me to quickly examine the test failures on the
petar_array branch for ch8-14.

Good news: we're up from ~1873 passes to 2002 as a result. (I'm using an
old-ish test run that I had readily available), down from 539 aborts to 388.

Important test case failures:


Reply to this email directly or view it on GitHub
#26.

@IgnoredAmbience
Copy link
Member Author

Ah. That makes sense. Sorry for the spurious report.

On 11 May 2015 21:54:58 BST, "Petar Maksimović" [email protected] wrote:

The literal parsing is not completely implemented yet, so it can only
deal
with elisions, it cannot assign the actual values and it will not
modify
the length properly.

I'm currently on work/vacation in Serbia, hope to have the
defineOwnProperty by the time I get back to France. That should deal
with
(most) of these failures, I believe.

Cheers,
Petar

On 11 May 2015 at 22:20, Thomas Wood [email protected] wrote:

Philippa has asked me to quickly examine the test failures on the
petar_array branch for ch8-14.

Good news: we're up from ~1873 passes to 2002 as a result. (I'm using
an
old-ish test run that I had readily available), down from 539 aborts
to 388.

Important test case failures:


Reply to this email directly or view it on GitHub
#26.


Reply to this email directly or view it on GitHub:
#26 (comment)

Sent from my Android device with K-9 Mail. Please excuse my brevity.

@IgnoredAmbience
Copy link
Member Author

Although one thing that I should point out is that we already have a [[DefineOwnProperty]] JSRef implementation as implemented by our intern @Pasteuriser for arrays on his branch conrad_v8_merged here:
https://github.com/resource-reasoning/jscert_dev/blob/conrad_v8_merged/coq/JsInterpreter.v#L457

It was one of the things we were looking at merging back if/when it was amenable to proof. I'm not sure how well suited it is to the specification/proof though, given conflicting definitions of things like to_uint32 etc.

@PetarMax
Copy link
Contributor

That is excellent, I will take a look, thanks!

On 12 May 2015 at 13:56, Thomas Wood [email protected] wrote:

Although one thing that I should point out is that we already have a
[[DefineOwnProperty]] JSRef implementation as implemented by our intern
@Pasteuriser https://github.com/Pasteuriser for arrays here:

https://github.com/resource-reasoning/jscert_dev/blob/conrad_v8_merged/coq/JsInterpreter.v#L457

Not sure how well suited it is to the specification/proof though, given
conflicting definitions of things like to_uint32 etc.


Reply to this email directly or view it on GitHub
#26 (comment)
.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants