Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make sure that we always use the instrumentation listener #614

Conversation

Andarist
Copy link
Member

@Andarist Andarist commented Jul 9, 2024

No description provided.

@Andarist Andarist requested review from bvaughn and hbenl July 9, 2024 12:09
Copy link

changeset-bot bot commented Jul 9, 2024

🦋 Changeset detected

Latest commit: 8f26f52

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@replayio/playwright Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

// otherwise the reporter would get notified multiple times about the same steps
if (patchedTestInfos.has(testInfo)) {
return use();
Copy link
Member Author

@Andarist Andarist Jul 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Essentially, this PR ensures that we attach the instrumentation listener in this scenario while avoiding patching the test info twice.

To do that I introduced cached getFixtureState since we need to use the same expectSteps and ignoredSteps sets across doubled fixture runs like this.

And I made sure that we only create a single WS connection here to spare some resources and that both of those fixture runs await the connection properly. That said, the WS code will hopefully go away from this fixture soon - I'm working on that separately.

@Andarist
Copy link
Member Author

Andarist commented Jul 9, 2024

/release-pr

Copy link

replay-io bot commented Jul 9, 2024

Status Complete ↗︎
Commit c39e48e
Results
2 Failed
  • clicks a disappearing button
  • should fail on this test
  • 42 Passed
  • adds items
  • adds new items using a custom command
  • adds todos following the fixture
  • adds todos following the fixture
  • adds todos following the fixture
  • adds todos following the fixture
  • calls inform
  • complete all checkbox should update state when items are completed / cleared
  • gets a number
  • only gets a number
  • only gets a number
  • should allow me to add todo items
  • should allow me to clear the complete state of all items
  • should allow me to display active items
  • should allow me to display all items
  • should allow me to display completed items
  • should allow me to edit an item
  • should allow me to mark all items as completed
  • should allow me to mark items as complete
  • should allow me to un-mark items as complete
  • should append new items to the bottom of the list
  • should be hidden when there are no items that are completed
  • should cancel edits on escape
  • should clear text input field when an item is added
  • should display the correct text
  • should display the current number of todo items
  • should focus on the todo input field
  • should hide #main and #footer
  • should hide other controls when editing
  • should highlight the currently applied filter
  • should intercept postman
  • should invoke some commands that have exceptional option handling
  • should log
  • should persist its data
  • should remove completed items when clicked
  • should remove the item if an empty text string was entered
  • should respect the back button
  • should save edits on blur
  • should show #main and #footer when items added
  • should trim entered text
  • should trim text input
  • yields a number
  • Copy link
    Contributor

    @bvaughn bvaughn left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I just kind of skimmed this


    ws.on("open", () => deferred.resolve(ws));
    ws.on("error", error => deferred.reject(error));
    // TODO: close WS connections on test end
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    nit: I always assume that "TODO" comments without Linear tasks never be fixed (because I see so many of them in the code) – Prefer if we're going to add these that we add issues along with them

    Copy link
    Member Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    This just got moved from the old place in the code. It will hopefully be removed soon because I'm working on ditching the WS-based communication altogether from this fixture.

    @Andarist Andarist merged commit 0ee7425 into main Jul 9, 2024
    7 checks passed
    @Andarist Andarist deleted the andarist/pro-776-playwright-panel-does-not-show-proper-test-steps branch July 9, 2024 13:32
    @github-actions github-actions bot mentioned this pull request Jul 9, 2024
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    None yet
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    2 participants