%prep if ! zmodload zsh/rlimits 2>/dev/null then ZTST_unimplemented="the zsh/rlimits module was disabled by configure (see config.modules)" return 0 fi zmodload zsh/rlimits %test limit | grep UNKNOWN || print OK 0:Check if there is unknown resouce(s) in the system >OK F:A failure here does not indicate any error in zsh. It just means there F:is a resource in your system that is unknown to zsh developers. Please F:report this to zsh-workers mailing list. () { set -- ${(f)"$(ulimit -a)"} set -- ${@%%:*} typeset -aU unique_options=( "$@" ) # The value of $unique_options is, e.g., ( -t -f '-N 2' -s ... ). (( $# == $#unique_options )) } 0:check if limit option letters are unique if sh -c 'ulimit -f 2048' > /dev/null 2>&1; then ( set -o braceccl -o pipefail list=(1b 1{kmgtpe}{,b,ib}) for cmd in "limit filesize" ulimit; do for l in $list $list:u; do $=cmd $l && limit filesize && ulimit || exit done done | sed 'N;s/\n/ /;s/ */ /g' ) else ZTST_skip='Cannot set the filesize limit on this system' fi 0:filesize suffixes with limit and ulimit >filesize 1B 0 >filesize 1EiB 2251799813685248 >filesize 976562500000000KiB 1953125000000000 >filesize 1EiB 2251799813685248 >filesize 1GiB 2097152 >filesize 1000000000B 1953125 >filesize 1GiB 2097152 >filesize 1KiB 2 >filesize 1000B 1 >filesize 1KiB 2 >filesize 1MiB 2048 >filesize 1000000B 1953 >filesize 1MiB 2048 >filesize 1PiB 2199023255552 >filesize 976562500000KiB 1953125000000 >filesize 1PiB 2199023255552 >filesize 1TiB 2147483648 >filesize 976562500KiB 1953125000 >filesize 1TiB 2147483648 >filesize 1B 0 >filesize 1EiB 2251799813685248 >filesize 976562500000000KiB 1953125000000000 >filesize 1EiB 2251799813685248 >filesize 1GiB 2097152 >filesize 1000000000B 1953125 >filesize 1GiB 2097152 >filesize 1KiB 2 >filesize 1000B 1 >filesize 1KiB 2 >filesize 1MiB 2048 >filesize 1000000B 1953 >filesize 1MiB 2048 >filesize 1PiB 2199023255552 >filesize 976562500000KiB 1953125000000 >filesize 1PiB 2199023255552 >filesize 1TiB 2147483648 >filesize 976562500KiB 1953125000 >filesize 1TiB 2147483648 >filesize 1B 0 >filesize 1EiB 2251799813685248 >filesize 976562500000000KiB 1953125000000000 >filesize 1EiB 2251799813685248 >filesize 1GiB 2097152 >filesize 1000000000B 1953125 >filesize 1GiB 2097152 >filesize 1KiB 2 >filesize 1000B 1 >filesize 1KiB 2 >filesize 1MiB 2048 >filesize 1000000B 1953 >filesize 1MiB 2048 >filesize 1PiB 2199023255552 >filesize 976562500000KiB 1953125000000 >filesize 1PiB 2199023255552 >filesize 1TiB 2147483648 >filesize 976562500KiB 1953125000 >filesize 1TiB 2147483648 >filesize 1B 0 >filesize 1EiB 2251799813685248 >filesize 976562500000000KiB 1953125000000000 >filesize 1EiB 2251799813685248 >filesize 1GiB 2097152 >filesize 1000000000B 1953125 >filesize 1GiB 2097152 >filesize 1KiB 2 >filesize 1000B 1 >filesize 1KiB 2 >filesize 1MiB 2048 >filesize 1000000B 1953 >filesize 1MiB 2048 >filesize 1PiB 2199023255552 >filesize 976562500000KiB 1953125000000 >filesize 1PiB 2199023255552 >filesize 1TiB 2147483648 >filesize 976562500KiB 1953125000 >filesize 1TiB 2147483648 if sh -c 'ulimit -t 3600' > /dev/null 2>&1; then ( set -o pipefail list=(1h 30m 20s 30 1:23:45.123456 2:23 56.4) for cmd in "limit cputime" "ulimit -t"; do for l in $list ${(MU)list:#*[a-z]*}; do $=cmd $l && limit cputime && ulimit -t || exit done done | sed 'N;s/\n/ /;s/ */ /g' ) else ZTST_skip='Cannot set the cputime limit on this system' fi 0:time limit formats >cputime 1:00:00 3600 >cputime 0:30:00 1800 >cputime 0:00:20 20 >cputime 0:00:30 30 >cputime 1:23:45 5025 >cputime 0:02:23 143 >cputime 0:00:56 56 >cputime 1:00:00 3600 >cputime 0:30:00 1800 >cputime 0:00:20 20 >cputime 1:00:00 3600 >cputime 0:30:00 1800 >cputime 0:00:20 20 >cputime 0:00:30 30 >cputime 1:23:45 5025 >cputime 0:02:23 143 >cputime 0:00:56 56 >cputime 1:00:00 3600 >cputime 0:30:00 1800 >cputime 0:00:20 20 ulimit 1Kite ulimit 1D ulimit 1s ulimit 1MBA limit cputime 1k limit cputime 1:0s limit cputime 1ss limit cputime 1msx limit cputime 1.0s limit cputime .1 limit descriptors 1k limit descriptors 1h limit descriptors 1:0 1:invalid limit input ?(eval):ulimit:1: 1Kite: invalid unit ?(eval):ulimit:2: 1D: invalid unit ?(eval):ulimit:3: 1s: invalid unit ?(eval):ulimit:4: 1MBA: invalid unit ?(eval):limit:5: invalid time specification ?(eval):limit:6: invalid time specification ?(eval):limit:7: invalid time specification ?(eval):limit:8: invalid time specification ?(eval):limit:9: invalid time specification ?(eval):limit:10: decimal integer expected ?(eval):limit:11: limit must be a decimal integer ?(eval):limit:12: limit must be a decimal integer ?(eval):limit:13: limit must be a decimal integer