Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

zpty-related testsuite failures if building in a chroot on a host running systemd 220 as init system



Hi,

while trying to prepare an official Debian package of zsh 5.0.8 I ran
into interesting test suite failures which only happen under very
specific circumstances:

The following test suite failures so far only happened to me if

* I try to build zsh inside a chroot (using pbuilder to setup that
  chroot -- the version of pbuilder seems not to matter and is the
  latest one which is from July 2014);

* the host system on which the chroot is installed runs systemd as
  init system (having any version of systemd installed but booting
  the classic sysvinit init system works fine, too); and

* systemd is at version 220. (The version of udev doesn't seem to
  matter and compiling under systemd 215 works fine.)

Aynone has an idea what goes wrong here? Is that zsh's fault or is
that a bug (or new "feature") in systemd 220?

I know that ArchLinux always uses quite new systemd, so it'd be nice
to know if anyone, who's building zsh on that distribution,
experienced similar issues.

../../Test/V08zpty.ztst: starting.
Running test: zpty with a process that does not set up the terminal: internal write
Test ../../Test/V08zpty.ztst failed: bad status 1, expected 0 from:
  zpty cat cat
  zpty -w cat a line of text
  var=
  zpty -r cat var && print -r -- ${var%%$'\r\n'}
  zpty -d cat
Error output:
(zpty):zpty:1: can't open pseudo terminal: no such file or directory
(eval):zpty:2: no such pty command: cat
(eval):zpty:4: no such pty command: cat
(eval):zpty:5: no such pty command: cat
Was testing: zpty with a process that does not set up the terminal: internal write
../../Test/V08zpty.ztst: test failed.
../../Test/W01history.ztst: starting.
Running test: History word references
Test successful.
Running test: History line numbering
Test successful.
Running test: History substitution
Test successful.
Running test: Regression test for history references in command substitution
Test successful.
../../Test/W01history.ztst: all tests successful.
../../Test/X02zlevi.ztst: starting.
(zpty):zpty:21: can't open pseudo terminal: no such file or directory
comptestinit:zpty:23: no such pty command: zsh
Test ../../Test/X02zlevi.ztst failed: non-zero status from preparation code:
  if [[ $OSTYPE = cygwin ]]; then
    ZTST_unimplemented="the zsh/zpty module does not work on Cygwin"
  elif ( zmodload -i zsh/zpty ) >/dev/null 2>&1; then
    . $ZTST_srcdir/comptest
    comptestinit -v -z $ZTST_testdir/../Src/zsh
  else
    ZTST_unimplemented="the zsh/zpty module is not available"
  fi
../../Test/X02zlevi.ztst: test failed.
Running test: change last character in buffer
Test ../../Test/X02zlevi.ztst failed: bad status 1, expected 0 from:
  zletest $'goox\ecld'
Error output:
zletest:zpty:6: no such pty command: zsh
zletest:zpty:8: no such pty command: zsh
zletest:zpty:9: no such pty command: zsh
Was testing: change last character in buffer
../../Test/X02zlevi.ztst: test failed.
../../Test/Y01completion.ztst: starting.
(zpty):zpty:21: can't open pseudo terminal: no such file or directory
comptestinit:zpty:23: no such pty command: zsh
Test ../../Test/Y01completion.ztst failed: non-zero status from preparation code:
  if [[ $OSTYPE = cygwin ]]; then
    ZTST_unimplemented="the zsh/zpty module does not work on Cygwin"
  elif ( zmodload -i zsh/zpty ) >/dev/null 2>&1; then
    . $ZTST_srcdir/comptest
    mkdir comp.tmp
    cd comp.tmp
    comptestinit -z $ZTST_testdir/../Src/zsh &&
    {
      mkdir dir1 &&
      mkdir dir2 &&
      touch file1 &&
      touch file2
    }
  else
    ZTST_unimplemented="the zsh/zpty module is not available"
  fi
../../Test/Y01completion.ztst: test failed.
Running test: directories and files
Test ../../Test/Y01completion.ztst failed: bad status 1, expected 0 from:
  comptest $': \t\t\t\t\t\t\t'
Error output:
comptest:zpty:2: no such pty command: zsh
comptest:zpty:3: no such pty command: zsh
Was testing: directories and files
../../Test/Y01completion.ztst: test failed.
../../Test/Y02compmatch.ztst: starting.
(zpty):zpty:21: can't open pseudo terminal: no such file or directory
comptestinit:zpty:23: no such pty command: zsh
Test ../../Test/Y02compmatch.ztst failed: non-zero status from preparation code:
  if [[ $OSTYPE = cygwin ]]; then
    ZTST_unimplemented="the zsh/zpty module does not work on Cygwin"
  elif ( zmodload -i zsh/zpty ) >/dev/null 2>&1; then
    . $ZTST_srcdir/comptest
    mkdir match.tmp
    cd match.tmp
    comptestinit -z $ZTST_testdir/../Src/zsh &&
    {
      list1=(IndianRed IndianRed2 IndianRed3 IndianRed4)
      test_code () {
    	matcher=$1;
    	list=$2;
    	code="compdef _tst tst ; _tst () { echo -n '<COMPADD>';compadd -M '"
    	code="$code$matcher"
    	code="$code'  - ${(P)list} ; echo  -n '</COMPADD>'"
          code="$code; $extra_cmd"
          code="$code; echo -n '<INSERT_POSITIONS>'"
          code="$code; echo \$compstate[insert_positions]"
          code="$code; echo -n '</INSERT_POSITIONS>'"
          code="$code}"
    	comptesteval "$code"
      }
    }
  else
    ZTST_unimplemented="the zsh/zpty module is not available"
  fi
../../Test/Y02compmatch.ztst: test failed.
Running test: Match Error for "z:"
Test ../../Test/Y02compmatch.ztst failed: bad status 1, expected 0 from:
 test_code z: list1
 comptest  $'tst \t'
Error output:
(eval):1: command not found: test_code
comptest:zpty:2: no such pty command: zsh
comptest:zpty:3: no such pty command: zsh
Was testing: Match Error for "z:"
../../Test/Y02compmatch.ztst: test failed.
../../Test/Y03arguments.ztst: starting.
(zpty):zpty:21: can't open pseudo terminal: no such file or directory
comptestinit:zpty:23: no such pty command: zsh
Test ../../Test/Y03arguments.ztst failed: non-zero status from preparation code:
  if [[ $OSTYPE = cygwin ]]; then
    ZTST_unimplemented="the zsh/zpty module does not work on Cygwin"
  elif ( zmodload -i zsh/zpty ) >/dev/null 2>&1; then
    . $ZTST_srcdir/comptest
    mkdir comp.tmp
    cd comp.tmp
    comptestinit -z $ZTST_testdir/../Src/zsh &&
    {
      comptesteval 'compdef _tst tst'
      tst_arguments () { comptesteval "_tst () { _arguments ${${(@qq)*}} }" }
    }
  else
    ZTST_unimplemented="the zsh/zpty module is not available"
  fi
../../Test/Y03arguments.ztst: test failed.
Running test: one non-option argument
Test ../../Test/Y03arguments.ztst failed: bad status 1, expected 0 from:
 tst_arguments ':desc1:(arg1)'
 comptest $'tst \t\C-wa\t\C-war\t\C-warg\t\C-warg1\t\C-wr\t\C-wx\t \ty \t'
Error output:
(eval):1: command not found: tst_arguments
comptest:zpty:2: no such pty command: zsh
comptest:zpty:3: no such pty command: zsh
Was testing: one non-option argument
../../Test/Y03arguments.ztst: test failed.
**************************************
39 successful test scripts, 5 failures, 0 skipped
**************************************
Makefile:189: recipe for target 'check' failed
make[2]: *** [check] Error 1
make[2]: Leaving directory '/tmp/buildd/zsh-5.0.8/obj/Test'
Makefile:265: recipe for target 'test' failed
make[1]: *** [test] Error 2
make[1]: Leaving directory '/tmp/buildd/zsh-5.0.8/obj'
dh_auto_test: make -j4 test returned exit code 2

		Kind regards, Axel
-- 
/~\  Plain Text Ribbon Campaign                   | Axel Beckert
\ /  Say No to HTML in E-Mail and News            | abe@xxxxxxxxxxxxxxx  (Mail)
 X   See http://www.nonhtmlmail.org/campaign.html | abe@xxxxxxxxx (Mail+Jabber)
/ \  I love long mails: http://email.is-not-s.ms/ | http://abe.noone.org/ (Web)



Messages sorted by: Reverse Date, Date, Thread, Author