fish-shell/tests/checks/job-ids.fish
ridiculousfish 1da09f2c52 Ensure new job IDs are never smaller than existing running jobs
This makes job IDs "monotone" in the sense that newly spawned jobs
always have larger IDs than existing jobs, as requested in #6053
2020-01-16 16:01:29 -08:00

54 lines
894 B
Fish

# RUN: %fish %s
# Ensure that job IDs are sequential.
status job-control full
set -g tokill
function func100
sleep 100 &
set -g tokill $tokill $last_pid
end
func100
# The redirection ensures this becomes a real job.
begin
sleep 200 &
set -g tokill $tokill $last_pid
end </dev/null
sleep 300 &
set -g tokill $tokill $last_pid
jobs
#CHECK: Job Group{{.*}}
#CHECK: 3{{.*\t}}sleep 300 &
#CHECK: 2{{.*\t}}sleep 200 &
#CHECK: 1{{.*\t}}sleep 100 &
# Kill job 2; the next job should have job ID 4 because 3 is still in use (#6053).
status job-control interactive
command kill -9 $tokill[2]
set -e tokill[2]
status job-control full
sleep 400 &
set -g tokill $tokill $last_pid
jobs
#CHECK: Job Group{{.*}}
#CHECK: 4{{.*\t}}sleep 400 &
#CHECK: 3{{.*\t}}sleep 300 &
#CHECK: 1{{.*\t}}sleep 100 &
status job-control interactive
for pid in $tokill
command kill -9 $pid
end