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

Allow NodeSet to contain Nodes from multiple Documents (fix for #1952) #2186

Merged
merged 9 commits into from Feb 5, 2021

Commits on Feb 5, 2021

  1. test: default to a full GC mark phase after each test

    in an attempt to more reliably trigger memory bugs when they exist.
    
    This behavior can be changed by setting the env var
    NOKOGIRI_TEST_GC_SETTING to "none", "minor", or "stress"
    flavorjones committed Feb 5, 2021
    Configuration menu
    Copy the full SHA
    63aa9a0 View commit details
    Browse the repository at this point in the history
  2. test: rake test:gdb is now available again

    after being removed when I ripped out Hoe and Hoe::Debugging
    flavorjones committed Feb 5, 2021
    Configuration menu
    Copy the full SHA
    9a01a7f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    be6fde4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3d86c93 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    91f9739 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3014d6d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0ee6c5b View commit details
    Browse the repository at this point in the history
  8. fix: allow NodeSets to contain Nodes from multiple Documents

    Specifically, this means we've added a mark callback for the NodeSet
    which marks each of the contained objects.
    
    Previously we skipped explicitly marking the contained objects due to
    the assumption that all the nodes would be from the same document as
    the NodeSet itself.
    
    Fixes #1952.
    flavorjones committed Feb 5, 2021
    Configuration menu
    Copy the full SHA
    56c19db View commit details
    Browse the repository at this point in the history
  9. fix: simplify GC lifecycle for Nodes in a NodeSet

    Previously, we created Ruby objects for namespaces and used a
    @namespace_cache attribute (an Array) to maintain references to
    just those Ruby objects.
    
    Now that we have a real GC mark function for NodeSet, let's use that
    instead of the hacky array attribute.
    flavorjones committed Feb 5, 2021
    Configuration menu
    Copy the full SHA
    26872c9 View commit details
    Browse the repository at this point in the history