Skip to content

test runner: async callbacks passed to describe are note awaited #48845

@alcuadrado

Description

@alcuadrado

Version

v20.4.0

Platform

Darwin lucille.lan 22.5.0 Darwin Kernel Version 22.5.0: Thu Jun 8 22:22:23 PDT 2023; root:xnu-8796.121.3~7/RELEASE_ARM64_T6020 arm64

Subsystem

test runner

What steps will reproduce the bug?

Running this with node --test leads to the error "test could not be started because its parent finished"

import { describe, it } from "node:test";

describe("describe", async () => {
  await new Promise((resolve) => setTimeout(resolve, 10));

  it("it inside describe", async () => {});
});

How often does it reproduce? Is there a required condition?

It's deterministic.

What is the expected behavior? Why is that the expected behavior?

describe's documentation indicates that an async function can be passed, so it should be awaited.

What do you see instead?

I get the error test could not be started because its parent finished.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    test_runnerIssues and PRs related to the test runner subsystem.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions