On Fri, Jun 20, 2025 at 6:07 PM Karl Berry <k...@freefriends.org> wrote:

> Hi Frederic and all - I pushed the following tweaks to a few
> tests. With these changes, I was able to run make distcheck with
> SOURCE_DATE_EPOCH=86402 (among other values). Hope it suffices
> .. --thanks, karl. (And thanks Carlos for the info.)
>
>
Thanks, I'll make a mass rebuild during the weekend to see how it goes
with that.


>
> -----------------------------------------------------------------------------
> test: adapt tests for SOURCE_DATE_EPOCH.
>
> From https://lists.gnu.org/archive/html/automake/2025-06/msg00016.html.
>
> * t/mdate5.sh: allow years 19xx for old SOURCE_DATE_EPOCH.
> * t/txinfo-vtexi3.sh: likewise.
> * t/txinfo-vtexi4.sh: if SDE is set, use mdate-sh to parse it into
> the expected UPDATED and UPDATED-MONTH values.
> Report from Frederic Berat.
> * NEWS: mention this.
> diff --git a/NEWS b/NEWS
> index 02581e1d9..ac1930971 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -1,6 +1,11 @@
>  For planned incompatibilities in a possible future Automake 2.0 release,
>  please see NEWS-future and start following the advice there now.
>
> +* Bugs fixed
> +
> +  - Keep Automake tests working when SOURCE_DATE_EPOCH is set.
> +  (https://lists.gnu.org/archive/html/automake/2025-06/msg00016.html)
> +
>
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  New in 1.18 (2025-05-25):
>
> diff --git a/t/mdate5.sh b/t/mdate5.sh
> index 11be50f13..14c524e9b 100644
> --- a/t/mdate5.sh
> +++ b/t/mdate5.sh
> @@ -29,16 +29,22 @@ echo "$*" # For debugging.
>  test $# = 3
>  case $1$3 in *[!0-9]*) exit 1;; esac
>  test $1 -lt 32
> -# Hopefully automake will be obsolete in 80 years ;-)
> -case $3 in 20[0-9][0-9]) :;; *) exit 1;; esac
> +case $3 in
> +  19[0-9][0-9]) :;; # for old SOURCE_DATE_EPOCH.
> +  20[0-9][0-9]) :;; # Hopefully automake will be obsolete in 80 years ;-)
> +  *) exit 1;;
> +esac
>  case $2 in
>    January|February|March|April|May|June|July|August) ;;
>    September|October|November|December) ;;
>    *) exit 1
>  esac
>
> -# Stricter checks on the year required a POSIX date(1) command.
> -if year=$(date +%Y) && test $year -gt 2010; then
> +# Stricter checks on the year required a POSIX date(1) command,
> +# and that SOURCE_DATE_EPOCH is not set.
> +if year=$(date +%Y) \
> +   && test -z "$SOURCE_DATE_EPOCH" \
> +   && test $year -gt 2010; then
>    test $year = $3 || exit 1
>  fi
>
> diff --git a/t/txinfo-vtexi3.sh b/t/txinfo-vtexi3.sh
> index d5ca81679..1c91fc547 100644
> --- a/t/txinfo-vtexi3.sh
> +++ b/t/txinfo-vtexi3.sh
> @@ -73,7 +73,9 @@ $AUTOMAKE
>
>  day='([1-9]|1[0-9]|2[0-9]|3[01])'
>
>  
> month='(January|February|March|April|May|June|July|August|September|October|November|December)'
> -year='20[0-9][0-9]' # Hopefully automake will be obsolete in 80 years ;-)
> +year='(20|19)[0-9][0-9]' # Hopefully automake will be obsolete in 80
> years ;-)
> +                         # Allow 19xx for SOURCE_DATE_EPOCH possibilities.
> +#
>  date="$day $month $year"
>
>  do_check ()
> diff --git a/t/txinfo-vtexi4.sh b/t/txinfo-vtexi4.sh
> index 1c76abda7..a69cc46f2 100644
> --- a/t/txinfo-vtexi4.sh
> +++ b/t/txinfo-vtexi4.sh
> @@ -28,11 +28,22 @@ required='makeinfo tex texi2dvi grep-nonprint'
>  # differ depending on local time.
>  TZ=UTC0; export TZ
>
> -test $(LC_ALL=C date '+%u') -gt 0 && test $(LC_ALL=C date '+%u') -lt 8 \
> -  && day=$(LC_ALL=C date '+%d')   && test -n "$day" \
> -  && month=$(LC_ALL=C date '+%B') && test -n "$month" \
> -  && year=$(LC_ALL=C date '+%Y')  && test -n "$year" \
> -  || skip_ "'date' is not POSIX-compliant enough"
> +if test -n "$SOURCE_DATE_EPOCH"; then
> +  # use mdate-sh to parse SOURCE_DATE_EPOCH.
> +  get_shell_script mdate-sh
> +  result=`mdate-sh /irrelevant`
> +  echo "result of mdate-sh: $result"
> +  day=`echo $result | awk '{print $1}'`
> +  month=`echo $result | awk '{print $2}'`
> +  year=`echo $result | awk '{print $3}'`
> +else
> +  test $(LC_ALL=C date '+%u') -gt 0 && test $(LC_ALL=C date '+%u') -lt 8 \
> +    && day=$(LC_ALL=C date '+%d')   && test -n "$day" \
> +    && month=$(LC_ALL=C date '+%B') && test -n "$month" \
> +    && year=$(LC_ALL=C date '+%Y')  && test -n "$year" \
> +    || skip_ "'date' is not POSIX-compliant enough"
> +fi
> +#
>  day=$(echo "$day" | sed 's/^0//')
>
>  cat > configure.ac << END
>
> compile finished at Fri Jun 20 09:04:52 2025
>
>

Reply via email to