diff options
author | Bruno Haible <bruno@clisp.org> | 2020-12-26 14:19:29 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2020-12-26 14:19:29 +0100 |
commit | c24b5cc4a8ff7e858ad7bc019a6e112a292fe468 (patch) | |
tree | bb1018253818533a364ebaacdbc728152479f8e2 /tests/test-execve.sh | |
parent | e8f57867dc5c05e7354576df19f1151ae9cb9fbb (diff) | |
download | gnulib-c24b5cc4a8ff7e858ad7bc019a6e112a292fe468.tar.gz |
execve: Add tests.
* tests/test-exec-child.c: New file.
* tests/test-execve-main.c: New file.
* tests/test-execve.sh: New file.
* modules/execve-tests: New file.
Diffstat (limited to 'tests/test-execve.sh')
-rwxr-xr-x | tests/test-execve.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/test-execve.sh b/tests/test-execve.sh new file mode 100755 index 0000000000..3d7ac1cda3 --- /dev/null +++ b/tests/test-execve.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +# Test of execve(). +# +# Copyright (C) 2020 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 3 of the License, 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, see <https://www.gnu.org/licenses/>. */ +# +# Written by Bruno Haible <bruno@clisp.org>, 2020. + +${CHECKER} ./test-execve-main${EXEEXT} > test-execve.tmp +result=$? +test $result = 49 || exit 1 +LC_ALL=C tr -d '\r' < test-execve.tmp > test-execve.out || exit 1 + +cat > test-execve.ok <<\EOF +argc = 11 +argv[1] = |abc def| +argv[2] = |abc"def"ghi| +argv[3] = |xyz"| +argv[4] = |abc\def\ghi| +argv[5] = |xyz\| +argv[6] = |???| +argv[7] = |***| +argv[8] = || +argv[9] = |foo| +argv[10] = || +Hommingberg = |Gepardenforelle| +EOF + +: ${DIFF=diff} +${DIFF} test-execve.ok test-execve.out +result=$? + +rm -f test-execve.tmp test-execve.out test-execve.ok + +exit $result |