GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — convert relevant tests to use CLS · Issue #31978 · nodejs/node

convert relevant tests to use CLS #31978

New issue
Copy link
New issue
Copy link
Closed
Closed
convert relevant tests to use CLS#31978
Copy link
Labels
async_hooksIssues and PRs related to the async hooks subsystem.Issues and PRs related to the async hooks subsystem.

Description

@gireeshpunathil
gireeshpunathil
opened on Feb 27, 2020
Issue body actions

Outcome of discussion in diagnostics WG
ref: nodejs/diagnostics#361

Is your feature request related to a problem? Please describe.
async_storage API is landed, but may be a long way to go before large scale field adoption - in terms of API stability, interfaces, performance, ...

Describe the solution you'd like
One proven method is to consume it ourselves and allow things to refine and evolve.
We have good amount of client-server tests (net, http, http2...) and a sub-set of those may have opportunities to process data elements through async-storage mechanism. It is so possible that other types of tests have opportunities too.

So the proposal is to:

  • develop new tests based on existing qualifying tests (that which pass around contextual data) to use async_storage
  • allow those to run as part of regular CI
  • use the outcome as a feeder to the API enhancements
  • eventually when things stabilize, remove traditional tests and switch over to the new ones

cc @nodejs/testing @vdeturckheim @Qard

Activity

  1. vdeturckheim commented on Feb 27, 2020

    @vdeturckheim
    vdeturckheim
    on Feb 27, 2020
    Member
    More actions

    @gireeshpunathil I really like this plan. But I am unsure of how much work that is atm. Would you have an example of test you would like to see using this API? I guess, based on how many of them there are, we can ask for help around (with "help wanted" and "good first issue") :)

    Reacted by Gireesh Punathil
  2. gireeshpunathil commented on Feb 27, 2020

    @gireeshpunathil
    gireeshpunathil
    on Feb 27, 2020
    MemberAuthor
    More actions

    @vdeturckheim - I haven't look at the tests yet, but will try to look at and find out one, will let you know.

    Reacted by Vladimir de Turckheim
  3. jasnell commented on Feb 27, 2020

    @jasnell
    jasnell
    on Feb 27, 2020
    Member
    More actions

    While the mechanism is still experimental, I'd be reluctant to switch over to it wholescale so I think the plan to "develop new tests based on existing qualifying tests" is good. I would just be reluctant to require those be green to pass CI. Perhaps moving those into a separate tests/experimental bucket would be good?

    Reacted by Gireesh Punathil and Vladimir de Turckheim
    Reacted by Anna Henningsen
  4. mhdawson commented on Feb 27, 2020

    @mhdawson
    mhdawson
    on Feb 27, 2020
    Member
    More actions

    I'd suggested "develop new tests based on existing qualifying tests" due to the concern (ie changing existing tests to depend on an experimental feature) which I share, but I think that for new tests I think they should be green. If a test can't be green then we should not add it, or potentially mark it as flaky temporarily.

    I don't think we've said tests for other experimental features don't have to be green.

    Reacted by Gireesh Punathil
  5. sam-github commented on Mar 2, 2020

    @sam-github
    sam-github
    on Mar 2, 2020
    Contributor
    More actions

    I agree, experimental gives us a certain amount of discretion in making breaking changes, or removing the feature, or even having the feature be incomplete in some sense, but we don't knowingly ship bugs in experimental features, or ignore test failures related to them.

    Reacted by Gireesh Punathil
  6. HarshithaKP commented on Mar 4, 2020

    @HarshithaKP
    HarshithaKP
    on Mar 4, 2020
    Member
    More actions

    I have attempted to port <test/paral/test-http-abort-stream-end.js> to a corresponding cls variant. My plan is to identify unique patterns in the existing bucket, and develop one cls variant test case per pattern.
    the general approach is:

    • replace deep passing of contextual data with cls store mechanism
    • replace closures with non-closure variants and cls stores
      please let me know if you have suggestions!
      I am also looking to see if there are benchmarks that I can work with to see if non-closure variants can bring-in improvements in terms of performance or footprint.
    Reacted by Vladimir de Turckheim and Michael Dawson
  7. HarshithaKP
    added 2 commits that reference this issue on Mar 11, 2020

    test: cls variant of test-http-abort-stream-end

    f732e6d

    test: als variant of test-timers-clearImmediate

    6803c25
  8. addaleax
    added 2 commits that reference this issue on Mar 30, 2020

    test: als variant of test-timers-clearImmediate

    bac401c

    test: als variant of test-timers-clearImmediate

    1905b9e
  9. targos
    added 2 commits that reference this issue on Apr 25, 2020

    test: als variant of test-timers-clearImmediate

    94dfc2d

    test: als variant of test-timers-clearImmediate

    3020798
  10. targos
    added
    async_hooksIssues and PRs related to the async hooks subsystem.Issues and PRs related to the async hooks subsystem.
    on Dec 27, 2020
  11. targos commented on Dec 27, 2020

    @targos
    targos
    on Dec 27, 2020
    Member
    More actions

    @gireeshpunathil do you want to keep this issue open?

  12. gireeshpunathil commented on Dec 27, 2020

    @gireeshpunathil
    gireeshpunathil
    on Dec 27, 2020
    MemberAuthor
    More actions

    we made some progress, but does not look like we will go further on this now. Closing this tentatively, can re-open when we decide to pursue this.

  13. gireeshpunathil
    closed this as completedon Dec 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    async_hooksIssues and PRs related to the async hooks subsystem.Issues and PRs related to the async hooks subsystem.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402520 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.