On Dec 25, 2022, at 13:20, Robert L. Kirby <
kirb...@gmail.com> wrote:
> I'm surprised that you, a developer of test software, would not see the value of running tests. Perhaps your comment was more rhetorical than direct.
No, I think we misunderstand each other.
> - You mention "make test" on your documentation web page. If it was only part of the installation infrastructure, then I would expect it to be less prominent.
When I write tests in Go, I don’t first run all the tests that come with the package I depend on. When I run tests imperil, I don’t run all the tests for the test frameworks. Instead, I run those tests when I I install the modules/packages, but not thereafter. I only run the tests for my current project. I haven’t changed anything about those other frameworks, so their test outcomes would not change.
> - pgTAP may run in many different environments, including minor version releases. PostgreSQL (and Yugabyte and others) are open source software without necessarily strong quality control. It would seem up to the pgTAP user to ensure that they have a properly working version.
Yes, you should totally run them when you install pgTAP, but you don’t need to run the again until you upgrade.
> - Developers break working code creating regressions. Although unlikely, it's possible to inadvertently create naming conflicts or other breakage, particularly if any PostgreSQL infrastructure, like catalogs or system views, are involved. For example, as I mentioned earlier, PostgreSQL documentation suggests removing the public schema, which, at a minimum, breaks the "make test" part of pgTAP.
I expect developers (like myself) to test the code they’re working on, not some other code. Unless they’re hunting down an issue with that other code and trying to modify it, or to demonstrate a regression or bug.
Now, it may be that the pgTAP tests should not assume the public schema is present and that’s where it’s installed. You running `make && make installcheck` where there is no public schema would demonstrate that issue. Perhaps we should change that. If so, please open an issue:
https://github.com/theory/pgtap/issues
> - When debugging, eliminating all potential sources of the unexpected may be needed, including the infrastructure, which should be testable in situ.
But nothing about pgTAP should have been changed since installation. And it will work fine with no public schema (aside from the tests) as long as the schema in which it was installed is in the search path, or else by schema-qualifying calls to its functions.
Best,
David