Don't build ttyemu and run tty I/O test if grantpt is not available.

* configure.ac (TAR_COND_GRANTPT): Define conditional depending
on whether grantpt is available.
* gnulib.modules: Remove grantpt. It relies upon a helper binary
pt_chown which it installs and which is useless in the testsuite.
* tests/Makefile.am [TAR_COND_GRANTPT]: Build ttyemu
* tests/iotty.at: Skip test if ttyemu is not build.
* tests/ttyemu.c (noecho): Fix error message
(main): Use TIOCSCTTY if it is defined.
This commit is contained in:
Sergey Poznyakoff
2014-07-22 04:24:35 +03:00
parent 20ab569dc3
commit a5db4ba5cb
5 changed files with 11 additions and 5 deletions

View File

@@ -204,7 +204,8 @@ fi
TAR_HEADERS_ATTR_XATTR_H
AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink])
AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink grantpt])
AM_CONDITIONAL([TAR_COND_GRANTPT], [test $ac_cv_func_grantpt = yes])
AC_CHECK_DECLS([getgrgid],,, [#include <grp.h>])
AC_CHECK_DECLS([getpwuid],,, [#include <pwd.h>])

View File

@@ -50,7 +50,6 @@ getpagesize
gettext
gettime
gitlog-to-changelog
grantpt
hash
human
inttostr

View File

@@ -263,7 +263,11 @@ installcheck-local:
## genfile ##
## ------------ ##
check_PROGRAMS = genfile ttyemu
check_PROGRAMS = genfile
if TAR_COND_GRANTPT
check_PROGRAMS += ttyemu
endif
genfile_SOURCES = genfile.c argcv.c argcv.h

View File

@@ -27,6 +27,7 @@ AT_SETUP([terminal input])
AT_KEYWORDS([options iotty])
AT_TAR_CHECK([
test -x $abs_builddir/ttyemu || AT_SKIP_TEST
TAPE=-
export TAPE
ttyemu -t5 -i/dev/null tar -x

View File

@@ -188,7 +188,7 @@ noecho (int fd)
to.c_cc[VEOF] = C_EOT;
if (tcsetattr (fd, TCSAFLUSH | TCSASOFT, &to))
{
perror ("tcgetattr");
perror ("tcsetattr");
exit (EX_ERR);
}
}
@@ -349,8 +349,9 @@ main (int argc, char **argv)
close (i);
setsid ();
#ifdef TIOCSCTTY
ioctl (0, TIOCSCTTY, 1);
#endif
execvp (argv[0], argv);
perror (argv[0]);
_exit (EX_EXEC);