diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 154e7692f0b0f1a3a141d9f966d0c7d119812dfa..ae3c8d3e6943424ed65fc2d4b97f8b82841a98c0 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -767,6 +767,19 @@ initialize_environment(void) doputenv("PGPORT", s); } + /* + * GNU make stores some flags in the MAKEFLAGS environment variable to + * pass arguments to its own children. If we are invoked by make, + * that causes the make invoked by us to think its part of the make + * task invoking us, and so it tries to communicate with the toplevel + * make. Which fails. + * + * Unset the variable to protect against such problems. We also reset + * MAKELEVEL to be certain the child doesn't notice the make above us. + */ + unsetenv("MAKEFLAGS"); + unsetenv("MAKELEVEL"); + /* * Adjust path variables to point into the temp-install tree */