Skip to content

Test suite for user agents #622

@martenrichter

Description

@martenrichter

My node.js lib has a set of test for testing client and server behavior.
I have used it in the past to identify bugs in my implementation and to fix bugs in Chromium and Firefox.

The tests are part of the repo and branch:
https://github.com/fails-components/webtransport/tree/fixtestingaug24 ,
But they will eventually become part of the main branch.

You can change to the test directory (you may want to move it out of the workspace so that the web transport package loads precompiled binaries instead of requiring a local build).
If necessary, the local build can be started with "npm run build-debug" or "npm run rebuild-debug."

You can run with node index.js localserver the test webserver and access it via:
http://localhost:6060/index.html
before you may want to go to localserver.js and change

readdir(__dirname)
  .then(async (files) => {
    const scriptfiles = files.filter(
      (file) => file.endsWith('.spec.js') && file.startsWith('bi')
    )

Where the string in startsWith lets you select a certain set of tests.

It should work with any Webtransport supporting server and also supports http2.
Currently, however, only chromium-based browsers pass.
Current Firefox versions has trouble connecting with the server currently, but it worked a few months ago (I will investigate if it is the fault of my library, quiche, or gecko).
But I had to delay posting this information as these tests sometimes can trip something, which was a secret until a few weeks ago.

I hope it can be a helpful addition to the wpt tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions