Re: [WebCryptoAPI-tests] Webcrypto encrypt and decrypt tests (#3110)

1. No, I didn't test having a CryptoKey that didn't match the algorithm.
That seems like a good idea to me, so I'll add it.

2. This didn't occur to me. I don't think that the recommendation addresses
what should happen in this case. Obviously, it's an error, but what kind of
error?

3. I'll add this.

4. Is this an error? Based on the description, if this happened before the
data was cloned, the operation should succeed, just with the changed data.
If it happened after the data was cloned, it should make no difference. But
which of those two situations occurs seems non-deterministic to me, so
untestable.

Regarding using a timeout for setup - I don't think the tests are doing
that. The only explicit timeout I use is to determine whether the worker
tests (not setup) have finished or not. That's because it seems that I must
call done() explicitly when tests are finished, or else the framework
always marks the tests as TIMEOUT. (The non-worker tests don't need this.)
I suppose I could add every Promise to an array and return that from
run_tests(), and then the worker code could use Promise.all to figure out
when to call done().

I'll think about that, but at first glance, I'm not in favor of it.

I'll make a comment when I think the revised tests are ready for your
review.

Thanks,

Charlie


On Mon, Jun 6, 2016 at 2:06 PM, Jim Schaad <notifications@github.com> wrote:

> Based on my review I think the following tests are missing:
> 1 the algorithm of the key and the algorithm of the function do not match
> 2. algorithms which do not support the encrypt/decrypt operation
> 3. missing aad for the GCM algorithm
> 4. Change of the input array after the function call has been made
>
> I am not overly happy with the idea of using a time out to decide if all
> of the tests have been setup. It might be better to break the tests up into
> two steps:
> Step 1 - Do the import of all of the keys.
> Step 2 - when that is finished (based on Promise.all) then start all of
> the tests and use a normal done. Note that this does mean that you need to
> mark the done as being deferred for the html tests.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/w3c/web-platform-tests/pull/3110#issuecomment-224039483>,
> or mute the thread
> <https://github.com/notifications/unsubscribe/AAE_Nz2h65UMREgyJu_OaOM-tDQY5WYhks5qJGGggaJpZM4ItxzV>
> .
>


View on GitHub: https://github.com/w3c/web-platform-tests/pull/3110#issuecomment-224044550

Received on Monday, 6 June 2016 18:24:24 UTC