Re: [PATCH] Add tests for Bitmapset

David Rowley <dgrowleyml@gmail.com>

From: David Rowley <dgrowleyml@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Greg Burd <greg@burd.me>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-10-01T05:00:59Z
Lists: pgsql-hackers
On Wed, 1 Oct 2025 at 16:41, Michael Paquier <michael@paquier.xyz> wrote:
> Okay.  Let's just remove as much code as possible, then.  This is
> roughly what you have sent, minus the hardcoded empty set and the free
> calls.  I'll just go do that in a bit.

Thanks.  Just for reference, you may not need it if you're mostly done
already, but I had to finish this off in my head before moving on.
Feel free to ignore, but there are a couple of typos fixed at the very
least "varrying" should be "varying".

I didn't fully rationalise the tests in test_bitmapset.sql.  There are
still a few which are duplicates due to '(b)' and NULL meaning the
same thing.

git diff --stat
 .../test_bitmapset/expected/test_bitmapset.out     | 400 ++------------
 .../modules/test_bitmapset/sql/test_bitmapset.sql  | 101 +---
 .../modules/test_bitmapset/test_bitmapset--1.0.sql |   2 +-
 src/test/modules/test_bitmapset/test_bitmapset.c   | 605 +++++----------------
 4 files changed, 222 insertions(+), 886 deletions(-)

I didn't look at the coverage report, but on thinking about it,
test_bitmapset.c's "PG_RETURN_NULL(); /* invalid input */" won't be
covered as I stripped out all the tests which purposefully pass
invalid input. You may not want it that way if you're keen to keep the
coverage of the test module high as well as bitmapset.c

David



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