Skip to content

Generic cleanup for test/install/'s self-comparing pg_regress artifacts #104

Description

@jnasbyupgrade

Repos using the `test/install/` self-comparing pattern (a single installer script whose `pg_regress` result `.out` and expected-output path resolve to the same file, per pgxntool's own `../install/` schedule trick) each need to clean the `.out`/`.diff` cruft `pg_regress` leaves behind in `test/install/`. `base.mk` only auto-cleans the generated `schedule` file (`EXTRA_CLEAN += $(PGXNTOOL_INSTALL_SCHEDULE)`) -- not the self-comparing result files themselves.

Two consuming repos have independently landed the identical workaround, parsing `test/install/.gitignore` by hand to build `EXTRA_CLEAN`:

```makefile
extra_clean += $(addprefix test/install/,$(shell grep -v '^#' test/install/.gitignore 2>/dev/null))
```

Since both repos already commit a `test/install/.gitignore` listing exactly the files `pg_regress` leaves behind (`load.out`, `install.out.diff`, etc.), `base.mk` could derive this generically instead of requiring every consumer to duplicate the parsing logic -- e.g. auto-adding `test/install/*.gitignore`'s entries to `EXTRA_CLEAN` whenever the `test/install/` pattern is in use, the same way it already handles `PGXNTOOL_INSTALL_SCHEDULE`.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions