Re: [PATCH] Add tests for Bitmapset

Greg Burd <greg@burd.me>

From: "Burd, Greg" <greg@burd.me>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-09-08T18:21:28Z
Lists: pgsql-hackers
> On Sep 5, 2025, at 2:43 PM, Nathan Bossart <nathandbossart@gmail.com> wrote:
> 
> On Fri, Sep 05, 2025 at 10:48:21AM -0400, Burd, Greg wrote:
>> I looked at both radix tree and binary heap and how they use random sets when
>> testing.  Binary heap uses it to create different random sets of numbers to
>> use across multiple tests while radix tree has a single function that focuses
>> on randomized data.  I decided not to add randomization into the tests of
>> Bitmapset simply because I like avoiding non-deterministic behavior.  But in
>> tests I guess that can be helpful finding future unknown corner cases.  I'm
>> on the fence as to the value, your call.  :)
> 
> I'm not too concerned about it.  We've lived without a dedicated test suite
> for Bitmapset for a very long time, so any amount of test coverage is an
> improvement.  Like you said, adding some randomization might be helpful for
> finding weird bugs we wouldn't have thought to test.  And, given the many,
> many machines that run the tests, IMHO it'd only help build even more
> confidence in the code.  If my suggestion inspires you to update the patch,
> great, but I'm fine with proceeding with what you already wrote, too.

Nathan, thanks for considering the patch.  Honestly, I'm fine with it as is.
We can revisit later if needed.  This does what I'd intended, test and document
in code the API and implementation making future changes to that more
transparent.

Thanks!

-greg

-- 
> nathan




Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Minor fixes for test_bitmapset.c

  2. test_bitmapset: Improve random function

  3. Add mem_exceeded_count column to pg_stat_replication_slots.

  4. Tidy-up unneeded NULL parameter checks from SQL function

  5. Remove check for NULL in STRICT function

  6. Fixes for comments in test_bitmapset

  7. Minor fixups of test_bitmapset.c

  8. test_bitmapset: Simplify code of the module

  9. test_bitmapset: Expand more the test coverage

  10. Fix compiler warnings in test_bitmapset

  11. Add a test module for Bitmapset