tests/test-check-execute.t
author Manuel Jacob <me@manueljacob.de>
Tue, 07 Jul 2020 11:06:37 +0200
changeset 45069 8cd18aba5e6c
parent 33204 ddd65b4f3ae6
child 51005 fb6593307e24
permissions -rw-r--r--
tests: proof test-stdio.py against buffer fill-up With the previous code, it could in theory happen that the pipe / PTY buffer of the child stdout / stderr fills up and the process never finishes. To prevent that, we read all of the stream before waiting for the end of the process. To ensure that the stream reaches EOF when the child finishes, we must close the parent "copy" of the child stdout / stderr.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27569
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
     1
#require test-repo execbit
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
     2
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 27569
diff changeset
     3
  $ . "$TESTDIR/helpers-testrepo.sh"
27569
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
     4
  $ cd "`dirname "$TESTDIR"`"
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
     5
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
     6
look for python scripts without the execute bit
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
     7
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33128
diff changeset
     8
  $ testrepohg files 'set:**.py and not exec() and grep(r"^#!.*?python")'
27569
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
     9
  [1]
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    10
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    11
look for python scripts with execute bit but not shebang
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    12
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33128
diff changeset
    13
  $ testrepohg files 'set:**.py and exec() and not grep(r"^#!.*?python")'
27569
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    14
  [1]
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    15
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    16
look for shell scripts with execute bit but not shebang
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    17
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33128
diff changeset
    18
  $ testrepohg files 'set:**.sh and exec() and not grep(r"^#!.*(ba)?sh")'
27569
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    19
  [1]
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    20
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    21
look for non scripts with no shebang
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    22
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33128
diff changeset
    23
  $ testrepohg files 'set:exec() and not **.sh and not **.py and not grep(r"^#!")'
27569
b3eba79b7e04 tests: add test-check-execute.t
timeless <timeless@mozdev.org>
parents:
diff changeset
    24
  [1]