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-05T14:48:21Z
Lists: pgsql-hackers
> On Sep 4, 2025, at 10:00 PM, Nathan Bossart <nathandbossart@gmail.com> wrote: > > On Fri, Aug 15, 2025 at 11:39:23AM -0400, Greg Burd wrote: >> I noticed that there are no tests for Bitmapset in src/test/modules as >> is the case for other similar things like radixtree, rbtree, etc. so I >> created one. I realize that Bitmapset is already "tested" by all the >> other code that uses it, but I was able to find one minor oversight[1] >> in that code with these new tests. >> >> I hope I've covered all the bases, but if you have thoughts on other >> ways to test Bitmapset I'll happily add them to the patch. > > Adding some tests here seems like a good idea. I might look into some ways > to trim it down a bit, but that'd just be minor editorialization. One > other thing to consider is adding randomness to the tests (see > test_radixtree and test_binaryheap for examples). Nathan, Thank you for your interest in this patch, I appreciate that your time is limited and highly valuable to the community. This patch isn't "earth shattering", but I think it's valuable to have test coverage even in cases where the code being tested is already very well exercised. 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. :) Let me know if you'd like that or not. > > -- > Nathan best, and thanks again for the attention, -greg
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Minor fixes for test_bitmapset.c
- 5142f0093e64 19 (unreleased) landed
-
test_bitmapset: Improve random function
- 9d46b86529e8 19 (unreleased) landed
-
Add mem_exceeded_count column to pg_stat_replication_slots.
- d3b6183dd988 19 (unreleased) landed
-
Tidy-up unneeded NULL parameter checks from SQL function
- a69b55cd4727 19 (unreleased) landed
-
Remove check for NULL in STRICT function
- 381f5cffae00 19 (unreleased) landed
-
Fixes for comments in test_bitmapset
- a1b064e4b226 19 (unreleased) landed
-
Minor fixups of test_bitmapset.c
- 3a6615806859 19 (unreleased) landed
-
test_bitmapset: Simplify code of the module
- 9952f6c05a40 19 (unreleased) landed
-
test_bitmapset: Expand more the test coverage
- 5668fff3c512 19 (unreleased) landed
-
Fix compiler warnings in test_bitmapset
- f83fe65f3fc1 19 (unreleased) landed
-
Add a test module for Bitmapset
- 00c3d87a5cab 19 (unreleased) landed