# -*- shell-script -*-
# Generated from t/ax/test-defs.in; do not edit by hand.
#
# Copyright (C) 1996-2025 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

# Defines and minimal setup for Automake testing environment.

# IMPORTANT NOTES AND REQUIREMENTS
#   - Multiple inclusions of this file should be idempotent.
#   - This code has to be 'set -e' clean.

# Ensure a consistent test environment by ignoring the system's Autoconf
# `configure` site defaults.
CONFIG_SITE=/dev/null; export CONFIG_SITE

# See whether the current test script is expected to use TAP or not.
# Use a sensible default, while allowing the scripts to override this check.
if test -z "$am_test_protocol"; then
  case $argv0 in
    *.tap) am_test_protocol=tap;;
        *) am_test_protocol=none;;
  esac
fi

am_rel_srcdir='.'
am_top_srcdir='/var/www/html/openwrt-packages/openwrt/build_dir/host/automake-1.18.1'
am_top_builddir='/var/www/html/openwrt-packages/openwrt/build_dir/host/automake-1.18.1'

# Where testsuite-related helper scripts, data files and shell libraries
# are placed.
am_testaux_srcdir=$am_top_srcdir/t/ax
am_testaux_builddir=$am_top_builddir/t/ax

# Support for the "installcheck" target.
case ${am_running_installcheck:=no} in
  yes)
    am_amdir='/var/www/html/openwrt-packages/openwrt/staging_dir/host/share/automake-1.18/am'
    am_automake_acdir='/var/www/html/openwrt-packages/openwrt/staging_dir/host/share/aclocal-1.18'
    am_bindir='/var/www/html/openwrt-packages/openwrt/staging_dir/host/bin'
    am_datadir='/var/www/html/openwrt-packages/openwrt/staging_dir/host/share'
    am_docdir='/var/www/html/openwrt-packages/openwrt/staging_dir/host/share/doc/automake'
    am_pkgvdatadir='/var/www/html/openwrt-packages/openwrt/staging_dir/host/share/automake-1.18'
    am_scriptdir='/var/www/html/openwrt-packages/openwrt/staging_dir/host/share/automake-1.18'
    am_system_acdir='/var/www/html/openwrt-packages/openwrt/staging_dir/host/share/aclocal'
    ;;
  no)
    am_amdir=$am_top_srcdir/lib/am
    am_automake_acdir=""
    am_bindir=$am_top_builddir/bin
    am_datadir=$am_top_srcdir
    am_docdir=$am_top_srcdir/doc
    am_pkgvdatadir=$am_top_srcdir/lib
    am_scriptdir=$am_top_srcdir/lib
    am_system_acdir=""
    ;;
  *)
    echo "$me: variable 'am_running_installcheck' has invalid" \
         "value '$am_running_installcheck'" >&2
    exit 99
    ;;
esac

APIVERSION='1.18'
PATH_SEPARATOR=':'

host_alias=${host_alias-'x86_64-pc-linux-gnu'}; export host_alias
build_alias=${build_alias-'x86_64-pc-linux-gnu'}; export build_alias

# Whether the testsuite is being run by faking the presence of a C
# compiler that doesn't grasp the '-c' and '-o' flags together.  By
# default, of course, it isn't.
: "${AM_TESTSUITE_SIMULATING_NO_CC_C_O:=no}"

# A concurrency-safe "mkdir -p" implementation.
MKDIR_P=${AM_TESTSUITE_MKDIR_P-'/usr/bin/mkdir -p'}

# The shell we use to run our own test scripts, determined at configure
# time.  It is required in the self tests, and most importantly for the
# automatic re-execution of test scripts.
AM_TEST_RUNNER_SHELL=${AM_TEST_RUNNER_SHELL-'bash'}

# Make sure we override the user shell.  And do not read the value of
# $SHELL from the environment (think to the non-uncommon situation where
# e.g., $SHELL=/bin/tcsh).
SHELL=${AM_TESTSUITE_SHELL-'/usr/bin/env bash'}; export SHELL

# User can override various tools used.  Prefer overriding specific for
# that automake testsuite, if they are available.
AWK=${AM_TESTSUITE_AWK-${AWK-'gawk'}}
PERL=${AM_TESTSUITE_PERL-${PERL-'/usr/bin/env perl'}}
MAKE=${AM_TESTSUITE_MAKE-${MAKE-'make'}}
YACC=${AM_TESTSUITE_YACC-${YACC-'yacc'}}
LEX=${AM_TESTSUITE_LEX-${LEX-'lex'}}
AUTOCONF=${AM_TESTSUITE_AUTOCONF-${AUTOCONF-'autoconf'}}
AUTOM4TE=${AM_TESTSUITE_AUTOM4TE-${AUTOM4TE-'autom4te'}}
AUTORECONF=${AM_TESTSUITE_AUTORECONF-${AUTORECONF-'autoreconf'}}
AUTOHEADER=${AM_TESTSUITE_AUTOHEADER-${AUTOHEADER-'autoheader'}}
AUTOUPDATE=${AM_TESTSUITE_AUTOUPDATE-${AUTOUPDATE-'autoupdate'}}

# Tests which want complete control over aclocal or automake command-line
# options should use $am_original_ACLOCAL or $am_original_AUTOMAKE.  The
# "test -z" tests take care not to re-initialize them if 'test-defs.sh'
# is re-sourced, as we want that file to remain really idempotent.
if test -z "$am_original_AUTOMAKE"; then
  am_original_AUTOMAKE=${AM_TESTSUITE_AUTOMAKE-${AUTOMAKE-"automake-$APIVERSION"}}
fi
if test -z "$am_original_ACLOCAL"; then
  am_original_ACLOCAL=${AM_TESTSUITE_ACLOCAL-${ACLOCAL-"aclocal-$APIVERSION"}}
fi

# Use -Werror by default.  Tests for which this is inappropriate should
# use -Wno-error.
# Tests which want complete control over aclocal command-line options
# should use $am_original_ACLOCAL instead.
ACLOCAL="$am_original_ACLOCAL -Werror"

# See how Automake should be run.  We put --foreign as the default
# strictness to avoid having to create lots and lots of files.  A test
# can override this by specifying a different strictness.  Use -Wall
# -Werror by default.  Tests for which this is inappropriate (e.g. when
# testing that a warning is enabled by a specific switch) should use
# -Wnone or/and -Wno-error.
# Tests who want complete control over automake command-line options
# should use $am_original_AUTOMAKE instead.
AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror -Wall"

# POSIX no longer requires 'egrep' and 'fgrep',
# but some hosts lack 'grep -E' and 'grep -F'.
EGREP=${AM_TESTSUITE_EGREP-'/usr/bin/grep -E'}
FGREP=${AM_TESTSUITE_FGREP-'/usr/bin/grep -F'}

# Compilers and their flags.  These can point to non-GNU compilers (and
# on non-Linux and non-BSD systems, they probably will).
if test $AM_TESTSUITE_SIMULATING_NO_CC_C_O = no; then
  CC=${AM_TESTSUITE_CC-${CC-'/var/www/html/openwrt-packages/openwrt/staging_dir/host/bin/gcc'}}
else
  CC=$am_testaux_builddir/cc-no-c-o
fi
CXX=${AM_TESTSUITE_CXX-${CXX-'/var/www/html/openwrt-packages/openwrt/staging_dir/host/bin/g++'}}
F77=${AM_TESTSUITE_F77-${F77-'false'}}
FC=${AM_TESTSUITE_FC-${FC-'false'}}
CFLAGS=${AM_TESTSUITE_CFLAGS-${CFLAGS-'-O2 -I/var/www/html/openwrt-packages/openwrt/staging_dir/host/include'}}
CXXFLAGS=${AM_TESTSUITE_CXXFLAGS-${CXXFLAGS-'-O2 -I/var/www/html/openwrt-packages/openwrt/staging_dir/host/include'}}
FCFLAGS=${AM_TESTSUITE_FCFLAGS-${FCFLAGS-''}}
FFLAGS=${AM_TESTSUITE_FFLAGS-${FFLAGS-''}}
CPPFLAGS=${AM_TESTSUITE_CPPFLAGS-${CPPFLAGS-'-I/var/www/html/openwrt-packages/openwrt/staging_dir/host/include'}}

# GNU compilers and their flags.
if test $AM_TESTSUITE_SIMULATING_NO_CC_C_O = no; then
  GNU_CC=${AM_TESTSUITE_GNU_CC-${GNU_CC-'/var/www/html/openwrt-packages/openwrt/staging_dir/host/bin/gcc'}}
else
  GNU_CC=$am_testaux_builddir/cc-no-c-o
fi
GNU_CC=${AM_TESTSUITE_GNU_CC-${GNU_CC-'/var/www/html/openwrt-packages/openwrt/staging_dir/host/bin/gcc'}}
GNU_CXX=${AM_TESTSUITE_GNU_CXX-${GNU_CXX-'/var/www/html/openwrt-packages/openwrt/staging_dir/host/bin/g++'}}
GNU_F77=${AM_TESTSUITE_GNU_F77-${GNU_F77-'false'}}
GNU_FC=${AM_TESTSUITE_GNU_FC-${GNU_FC-'false'}}
GNU_FFLAGS=${AM_TESTSUITE_GNU_FFLAGS-${GNU_FFLAGS-''}}
GNU_FCFLAGS=${AM_TESTSUITE_GNU_FCFLAGS-${GNU_FCFLAGS-''}}
GNU_CXXFLAGS=${AM_TESTSUITE_GNU_CXXFLAGS-${GNU_CXXFLAGS-'-O2 -I/var/www/html/openwrt-packages/openwrt/staging_dir/host/include'}}
GNU_CFLAGS=${AM_TESTSUITE_GNU_CFLAGS-${GNU_CFLAGS-'-O2 -I/var/www/html/openwrt-packages/openwrt/staging_dir/host/include'}}
GNU_GCJ=${AM_TESTSUITE_GNU_GCJ-${GNU_GCJ-'false'}}
GNU_GCJFLAGS=${AM_TESTSUITE_GNU_GCJFLAGS-${GNU_GCJFLAGS-''}}

# Not all versions of Tex support '--version', so we use a configure
# check to decide if tex is available.  This decision is embodied in
# this variable.
TEX=${AM_TESTSUITE_TEX-''}

# The time we should wait after modifying files depends on the platform, and
# also the capabilities of the 'automake' and 'autom4te' programs, which in
# turn depend on the capabilities of the Perl interpreter.  configure has
# detected the platform's resolution for file modification times; we still
# need to check automake and autom4te.
MTIME_RESOLUTION='0.01'
case $MTIME_RESOLUTION in
  1 | 2) ;; # Can assume these values are usable as is.
  *)
    if $AUTOMAKE --version 2>&1 |
         grep 'Features:.*subsecond-mtime' > /dev/null 2>&1 &&
       $AUTOM4TE --version 2>&1 |
         grep 'Features:.*subsecond-mtime' > /dev/null 2>&1; then
      # subsecond-mtime should be supported; use the timestamp
      # resolution that we determined.
      if test -n "$am_cv_filesystem_timestamp_resolution"; then
        #echo "$BASH_SOURCE: amftr=$am_cv_filesystem_timestamp_resolution" >&2
        MTIME_RESOLUTION=$am_cv_filesystem_timestamp_resolution
        
      elif test -n "$MTIME_RESOLUTION"; then
        #echo "$BASH_SOURCE: M_R=$MTIME_RESOLUTION" >&2
        # This is normal when running tests: the cache variable is
        # not set, but MTIME_RESOLUTION is, because config.status is sourced.
        # Its value should be usable, but because this was discovered
        # just before the 1.17 release, for safety, let's set it to 1,
        # and try it after the release.
        MTIME_RESOLUTION=1

      # If MTIME_RESOLUTION is empty too, that's weird.
      else
        # This message ends up in test-suite.log.
        echo "$me: subsecond-mtime supported per automake and auto4mte" \
             "--version, but neither am_cv_filesystem_timestamp_resolution;" \
             "nor MTIME_RESOLUTION are set; that's an error somewhere." \
             "Proceeding with value 1." >&2
        MTIME_RESOLUTION=1
      fi
    else
      #echo "$BASH_SOURCE: some --version doesn't support subsecond-mtime" >&2
      #$AUTOMAKE --version >&2
      #$AUTOM4TE --version >&2
      #
      MTIME_RESOLUTION=1
      #
      # we must not sleep for fractional seconds when autom4te does not
      # support subsecond-mtimes, even when sleep supports it. See bug#67670.
      am_cv_sleep_fractional_seconds=no
      export am_cv_sleep_fractional_seconds
    fi
  ;;
esac

# This sleep variable is used explicitly in tests when AC_OUTPUT is not
# used, hence config.status is not created, hence AC_CONFIG_COMMANDS_*
# is not evaluated. Originally set up here:
#   https://lists.gnu.org/archive/html/bug-automake/2010-10/msg00000.html
# Discovered again in this review of the "sleep" history:
#   https://lists.gnu.org/archive/html/automake/2024-06/msg00054.html
# It seems a better fix would be to have Automake (in sanity.m4) figure
# out the need for sleep even when AC_OUTPUT is not used.
# 
# In general, the problem is when the mtime resolution is 1 second (or
# more) and the configure file is created less than 1 second ago, which
# happens routinely in the tests, and for many fast-enough configure
# scripts in other packages, too.
# 
# At any rate, with this set to "sleep 1", there were still random
# parallelization failures; setting am_cv_sleep_fractional_seconds=no
# as above was still needed.
#
sleep="sleep $MTIME_RESOLUTION"

# An old timestamp that can be given to a file, in "touch -t" format.
# The time stamp should be portable to all file systems of interest.
# Just for fun, choose the exact time of the announcement of the GNU project
# in UTC; see <https://www.gnu.org/gnu/initial-announcement.html>.
old_timestamp=198309271735.59

# We need this in multiple tests and the wording is subject to change.
# Don't include the ${br} lines since br is not defined at this point.
#
failure_footer_text="\
See ./test-suite.log for debugging.
Some test(s) failed.  Please report this to bug-automake@gnu.org,
together with the test-suite.log file (gzipped) and your system
information.  Thanks."
#
# And with color.
red='[0;31m'
std='[m';
failure_footer_text_colorized="`echo \"$failure_footer_text\" | sed -e "s/^/${red}/" -e s/'$'/"${std}"/`"

# Make our wrapper script (or installed scripts, if running under
# "installcheck") accessible by default.  And avoid uselessly
# extending $PATH multiple times if this file is sourced multiple times.
case $PATH in
  $am_bindir$PATH_SEPARATOR*) ;;
  *) PATH=$am_bindir$PATH_SEPARATOR$PATH;;
esac

export PATH
