From a5207bb1391cb8e169bc6036eb036bb1a89cde89 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 28 Nov 2010 12:59:38 +0100 Subject: tests: add test for parallel sort -u segfault bug * tests/misc/sort-unique-segv: New file. * tests/Makefile.am (TESTS): Add it. --- tests/Makefile.am | 1 + tests/misc/sort-unique-segv | 47 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100755 tests/misc/sort-unique-segv (limited to 'tests') diff --git a/tests/Makefile.am b/tests/Makefile.am index b3be4dfe5..d52f67737 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -239,6 +239,7 @@ TESTS = \ misc/sort-rand \ misc/sort-spinlock-abuse \ misc/sort-unique \ + misc/sort-unique-segv \ misc/sort-version \ misc/split-a \ misc/split-bchunk \ diff --git a/tests/misc/sort-unique-segv b/tests/misc/sort-unique-segv new file mode 100755 index 000000000..55a74147f --- /dev/null +++ b/tests/misc/sort-unique-segv @@ -0,0 +1,47 @@ +#!/bin/sh +# parallel sort with --unique (-u) would segfault + +# Copyright (C) 2010 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 . + +. "${srcdir=.}/init.sh"; path_prepend_ ../src +print_ver_ sort + +test "$(nproc)" = 1 && skip_ "requires a multi-core system" + +cat <<\EOF > in || framework_failure_ + + + + + + + +z +zzzzzz +zzzzzzz +zzzzzzz +zzzzzzz +zzzzzzzzz +zzzzzzzzzzz +zzzzzzzzzzzz +EOF + +sort --parallel=1 -u in > exp || fail=1 + +sort --parallel=2 -u -S 10b < in > out || fail=1 +compare out exp || fail=1 + +Exit $fail -- cgit v1.2.3-54-g00ecf