⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m4sh.at

📁 autoconf 2.59版,可用于redhat系统.用于编译原码,编写makefile文件.
💻 AT
字号:
#							-*- Autotest -*-AT_BANNER([M4sh.])# Copyright (C) 2000, 2001, 2002, 2003 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, write to the Free Software# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA# 02111-1307, USA.## ---------------- #### LINENO support.  #### ---------------- ##AT_SETUP([LINENO])# We cannot unset LINENO with Zsh, yet this test case relies on# unsetting LINENO to compare its result when (i) LINENO is supported# and when (ii) it is not.# So just skip if the shell is ZSH.AT_CHECK([test -n "${ZSH_VERSION+set}" && exit 77], ignore)# AT_DATA_LINENO(FILENAME,#                UNSET-LINENO = true | false, COUNTER, COUNTER-RE)# ----------------------------------------------------------------# Produce the FILENAME M4sh script which uses the COUNTER LINENO or# _oline_, which we can recognized via COUNTER-RE.  Unset LINENO is# UNSET-LINENO.## Use COUNTER, COUNTER-RE = [__LINENO__], [LINENO]#  or                     = [__OLINE__],  [_oline__]## instead of the obvious $LINENO and __oline__, because they would# be replaced in the test suite itself, even before creating these# scripts.  For the same reason, grep for LINENO and _oline__ (sic).## UNSET-LINENO is a shell condition to make sure the scripts have the# same number of lines in the output, so that their outputs be identical.m4_define([AT_DATA_LINENO],[AT_DATA([$1.tas],[[AS@&t@_INITif $2; then  AS@&t@_UNSET([LINENO])fi_AS@&t@_PREPAREecho "Line: $3"grep 'Line: .*$4' $[0] >/dev/null ||  AS@&t@_ERROR([cannot find original script])exit 0]])# If occurrences of $LINENO or __oline__ were wanted, create them.sed 's/__LINENO__/$''LINENO/g;s/__OLINE__/__''oline__/g' $1.tas >$1.asAT_CHECK([autom4te -l m4sh $1.as -o $1])])# AT_DATA_LINENO# `_oline_', once processed and ran, produces our reference.# We check that we find ourselves by looking at a string which is# available only in the original script: `_oline_'.AT_DATA_LINENO([reference], [false], [__OLINE__], [_oline__])AT_CHECK([./reference], 0, [stdout])# The reference:mv stdout expout# Now using a maybe-functioning LINENO, with different call conventions.# Be sure to be out of the PATH.AT_CHECK([mkdir test || exit 77])AT_DATA_LINENO([test/test-1], [false], [__LINENO__], [LINENO])AT_CHECK([./test/test-1],                          0, [expout])AT_CHECK([(PATH=test$PATH_SEPARATOR$PATH; export PATH; exec test-1)],						   0, [expout])AT_CHECK([sh ./test/test-1],                       0, [expout])# Now using a disabled LINENO, with different call conventions.AT_DATA_LINENO([test/test-2], [true], [__LINENO__], [LINENO])AT_CHECK([./test/test-2],                          0, [expout])AT_CHECK([(PATH=test$PATH_SEPARATOR$PATH; export PATH; exec test-2)],						   0, [expout])AT_CHECK([sh ./test/test-2],                       0, [expout])AT_CLEANUP## ------------ #### AS_DIRNAME.  #### ------------ ### Build nested dirs.AT_SETUP([[AS@&t@_DIRNAME]])AT_DATA_M4SH([script.as],[[AS_INIT# The EXPR variant is allowed to fail if `expr' was considered as too# weak for us, in which case `as_expr=false'.m4_define([DIRNAME_TEST],[dir=`AS_DIRNAME([$1])`test "$dir" = "$2" || (test -n "$3" && test "$dir" = "$3") ||  echo "dirname($1) = $dir instead of $2" >&2if test "$as_expr" != false; then  dir=`AS_DIRNAME_EXPR([$1])`  test "$dir" = "$2" || (test -n "$3" && test "$dir" = "$3") ||    echo "dirname_expr($1) = $dir instead of $2" >&2fidir=`AS_DIRNAME_SED([$1])`test "$dir" = "$2" ||test "$dir" = "$2" || (test -n "$3" && test "$dir" = "$3") ||  echo "dirname_sed($1) = $dir instead of $2" >&2])DIRNAME_TEST([/],		[/])DIRNAME_TEST([//],		[//],	[/])DIRNAME_TEST([///],		[/])DIRNAME_TEST([//1],		[//],	[/])DIRNAME_TEST([/1],		[/])DIRNAME_TEST([./1],		[.])DIRNAME_TEST([../../2],		[../..])DIRNAME_TEST([//1/],		[//],	[/])DIRNAME_TEST([/1/],		[/])DIRNAME_TEST([./1/],		[.])DIRNAME_TEST([../../2],		[../..])DIRNAME_TEST([//1/3],		[//1])DIRNAME_TEST([/1/3],		[/1])DIRNAME_TEST([./1/3],		[./1])DIRNAME_TEST([../../2/3],	[../../2])DIRNAME_TEST([//1/3///],	[//1])DIRNAME_TEST([/1/3///],		[/1])DIRNAME_TEST([./1/3///],	[./1])DIRNAME_TEST([../../2/3///],	[../../2])DIRNAME_TEST([//1//3/],		[//1])DIRNAME_TEST([/1//3/],		[/1])DIRNAME_TEST([./1//3/],		[./1])DIRNAME_TEST([../../2//3/],	[../../2])AS_EXIT(0)]])AT_CHECK_M4SHAT_CHECK([./script])AT_CLEANUP## ------------- #### AS_BASENAME.  #### ------------- ### Build nested dirs.AT_SETUP([[AS@&t@_BASENAME]])AT_DATA_M4SH([script.as],[[AS_INITm4_define([BASENAME_TEST],[base=`AS_BASENAME([$1])`test "$base" = "$2" ||  echo "basename($1) = $base instead of $2" >&2base=`AS_BASENAME_SED([$1])`test "$base" = "$2" ||  echo "basename_sed($1) = $base instead of $2" >&2])BASENAME_TEST([//1],             [1])BASENAME_TEST([/1],              [1])BASENAME_TEST([./1],             [1])BASENAME_TEST([../../2],         [2])BASENAME_TEST([//1/],            [1])BASENAME_TEST([/1/],             [1])BASENAME_TEST([./1/],            [1])BASENAME_TEST([../../2],         [2])BASENAME_TEST([//1/3],           [3])BASENAME_TEST([/1/3],            [3])BASENAME_TEST([./1/3],           [3])BASENAME_TEST([../../2/3],       [3])BASENAME_TEST([//1/3///],        [3])BASENAME_TEST([/1/3///],         [3])BASENAME_TEST([./1/3///],        [3])BASENAME_TEST([../../2/3///],    [3])BASENAME_TEST([//1//3/],         [3])BASENAME_TEST([/1//3/],          [3])BASENAME_TEST([./1//3/],         [3])BASENAME_TEST([a.c],             [a.c])BASENAME_TEST([a.c/],            [a.c])BASENAME_TEST([/a.c/],           [a.c])BASENAME_TEST([/1/a.c],          [a.c])BASENAME_TEST([/1/a.c/],         [a.c])BASENAME_TEST([/1/../a.c],       [a.c])BASENAME_TEST([/1/../a.c/],      [a.c])BASENAME_TEST([./1/a.c],         [a.c])BASENAME_TEST([./1/a.c/],        [a.c])AS_EXIT(0)]])AT_CHECK_M4SHAT_CHECK([./script])AT_CLEANUP## ------------ #### AS_MKDIR_P.  #### ------------ ### Build nested dirs.AT_SETUP([[AS@&t@_MKDIR_P]])AT_DATA_M4SH([script.as],[[AS_INITpwd=`pwd`set -e# AbsoluteAS_MKDIR_P(["$pwd/1/2/3/4/5/6"])test -d "$pwd/1/2/3/4/5/6" ||  AS_ERROR([$pwd/1/2/3/4/5/6 has not been properly created])# RelativeAS_MKDIR_P(["a/b/c/d/e/f"])test -d a/b/c/d/e/f ||  AS_ERROR([a/b/c/d/e/f has not been properly created])AS_EXIT(0)]])AT_CHECK_M4SHAT_CHECK([./script])AT_CLEANUP## ----------------------------- #### Negated classes in globbing.  #### ----------------------------- ### It is known that `[^...]' is not universally supported, but it is# unknown for `[!...]'.AT_SETUP([Negated classes in globbing])AT_DATA_M4SH([script.as],[[AS_INITcase 'with!two!bangs' in  *[[!a-z]]*) ;;           *) AS_ERROR([[`*[!a-z]*' didn't match `with!two!bangs']]);;esaccase without in  *[[!a-z]]*) AS_ERROR([[`*[!a-z]*' matched `without']]);;esac]])AT_CHECK_M4SHAT_CHECK([./script])AT_CLEANUP## ------------------- #### Functions Support.  #### ------------------- ### Hypothesis: the shell we are running, after having checked for# $LINENO support, supports functions.AT_SETUP([Functions Support])AT_DATA_M4SH([script.as],[[AS_INIT_AS_LINENO_PREPAREfunc_return () {  (exit $1)}func_success () {  func_return 0}func_failure () {  func_return 1}if func_success; then  if func_failure; then    AS_ERROR([func_failure passed])  fielse  AS_ERROR([func_success failed])fi]])AT_CHECK_M4SHAT_CHECK([./script])AT_CLEANUP## ------------------------------ #### Functions and return Support.  #### ------------------------------ ### Hypothesis: the shell we are running, after having checked for# $LINENO support, supports functions, and the `return' keyword.AT_SETUP([Functions and return Support])AT_DATA_M4SH([script.as],[[AS_INIT_AS_LINENO_PREPAREfunc_success () {  return 0}func_failure () {  return 1}if func_success; then  if func_failure; then    AS_ERROR([func_failure passed])  fielse  AS_ERROR([func_success failed])fi]])AT_CHECK_M4SHAT_CHECK([./script])AT_CLEANUP## -------------- #### AS_HELP_STRING #### -------------- ### I'm not totally certain that we want to enforce the defaults here,# but at least it is being tested.AT_SETUP([[AS@&t@_HELP_STRING]])AT_DATA_M4SH([script.as],[[AS_INIT_AS_LINENO_PREPAREecho "AS_HELP_STRING([--an-option],[some text])"echo "AS_HELP_STRING([--another-much-longer-option],[some other text which should wrap at our default of 80 characters.])"]])AT_CHECK_M4SHAT_CHECK([./script], [0],[  --an-option             some text  --another-much-longer-option                          some other text which should wrap at our default of                          80 characters.])AT_CLEANUP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -