On 10/6/25 05:22, Jonathan Wakely wrote:
This replaces the shouty and scary-looking warning:

   WARNING: Couldn't find the global config file.

with a more informational message (assuming site.exp for the global init
file):

   No site.exp file or $DEJAGNU environment variable found.

This could also be confusing, because there are two init files that default to site.exp in two different places.

I note that search_and_load_file, which is used for several other configuration files, produces the "Using FILE as WHAT." messages and I am leaning towards a similar model for the global config file, except also including a plain "No global configuration defined." message if there is neither a global init file (default: $libdir/site.exp) nor a global configuration file ($DEJAGNU).

Considering the history of this message, which seems to be a legacy of the old Cygnus testing lab setup, it probably does not need to say "WARNING" anymore, but it still needs to be there. According to Rob Savoye, at Cygnus, the global config file contained the configuration for remote targets, and most of the tests used remote targets, so testing would not work without that file, thus the warning.

The scenarios where DejaGnu needs a global configuration are advanced enough that users can be reasonably expected to examine the sources, locate the one place that can emit that message, and read the nearby comments.  I am thinking about what to put in those comments.

I was planning to make this change for 1.7, but I guess it could safely go on the 1.6 series.

This was discussed in the thread beginning at:
https://lists.gnu.org/archive/html/dejagnu/2020-12/msg00004.html
---

Tested with 'make all check'

Could this be changed, so that new users are intimidated by the WARNING
when it isn't actually a problem they need to care about?

For example, GCC's testsuites work perfectly well without any global
config, because they have sensible defaults for everything.

Actually, the reason that they work without a global configuration is that you are not running them on remote targets. DejaGnu has sensible defaults for testing on localhost, but sensible defaults for actual remote targets are not possible, thus the need for global configuration.


-- Jacob



Reply via email to