maint: refactor tests/misc/pr.pl into tests/pr/pr-tests.pl
[coreutils.git] / tests / rm / many-dir-entries-vs-OOM.sh
blobd2ee152c77236f9763e4be2eeaf37e60358cd9fc
1 #!/bin/sh
2 # In coreutils-8.12, rm,du,chmod, etc. would use too much memory
3 # when processing a directory with many entries (as in > 100,000).
5 # Copyright (C) 2011-2012 Free Software Foundation, Inc.
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
20 . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
21 print_ver_ rm du chmod
23 expensive_
25 # With many files in a single directory...
26 mkdir d && cd d || framework_failure_
27 seq 200000|xargs touch || framework_failure_
29 cd ..
31 # Restricted to 40MB, each of these coreutils-8.12 programs would fail
32 # with a diagnostic like "rm: fts_read failed: Cannot allocate memory".
33 ulimit -v 40000
34 du -sh d || fail=1
35 chmod -R 700 d || fail=1
36 rm -rf d || fail=1
38 Exit $fail