Re: tweak to a few index tests to hits ambuildempty() routine.

a.kozhemyakin <a.kozhemyakin@postgrespro.ru>

From: a.kozhemyakin@postgrespro.ru
To: Amul Sul <sulamul@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, thomas.munro@gmail.com, tgl@sss.pgh.pa.us, alvherre@alvh.no-ip.org, sulamul@gmail.com, noah@leadboat.com
Date: 2022-09-21T07:10:42Z
Lists: pgsql-hackers
After analyzing this, I found out why we don't reach that Assert but we 
have coverage shown - firstly, it reached via another test, vacuum; 
secondly, it depends on the gcc optimization flag. We reach that Assert 
only when using -O0.
If we build with -O2 or -Og that function is not reached (due to 
different results of the heap_prune_satisfies_vacuum() check inside 
heap_page_prune()).
But as  the make checks mostly (including the buildfarm testing) 
performed  with -O2/-Og, it looks like that after 4fb5c794e5 we have 
lost the coverage provided by the 4c51a2d1e4.

Amul Sul писал 2022-09-14 14:28:
> On Wed, Sep 14, 2022 at 12:16 PM <a.kozhemyakin@postgrespro.ru> wrote:
>> 
>> I still wonder, if assert doesn't catch why that place is marked as
>> covered here?
>> https://coverage.postgresql.org/src/backend/access/gin/ginvacuum.c.gcov.html
>> 
> 
> Probably other tests cover that.
> 
> Regards,
> Amul



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Avoid loss of code coverage with unlogged-index test cases.

  2. Use --no-unlogged-table-data in t/027_stream_regress.pl.

  3. Cover brin/gin/gist/spgist ambuildempty routines in regression tests

  4. Improve test coverage of ginvacuum.c.