On 2022-08-15 Mo 22:25, Bharath Rupireddy wrote: > Hi, > > It seems like find_in_log() and advance_wal() functions (which are now > being used in at least 2 places). find_in_log() is defined and being > used in 2 places 019_replslot_limit.pl and 033_replay_tsp_drops.pl. > The functionality of advancing WAL is implemented in > 019_replslot_limit.pl with advance_wal() and 001_stream_repl.pl with > the same logic as advance_wal() but no function there and an > in-progress feature [1] needs advance_wal() as-is for tests. > > Do these functions qualify to be added to the core test framework in > Cluster.pm? Or do we need more usages of these functions before we > generalize and add to the core test framework? If added, a bit of > duplicate code can be reduced and they become more usable across the > entire tests for future use. > > Thoughts? > > [1] > https://www.postgresql.org/message-id/calj2acuyz1z6qpdugn5gguckfd-ko44j4hkcomtp6fzv9xe...@mail.gmail.com >
I don't think there's a hard and fast rule about it. Certainly the case would be more compelling if the functions were used across different TAP suites. The SSL suite has suite-specific modules. That's a pattern also worth considering. e.g something like. use FindBin qw($Bin); use lib $Bin; use MySuite; and then you put your common routines in MySuite.pm in the same directory as the TAP test files. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com