# RUN: %fish -C "set helper %fish_test_helper" %s # Check that we don't leave stray FDs. $helper print_fds # CHECK: 0 1 2 $helper print_fds 0>&- # CHECK: 1 2 $helper print_fds 0>&- 2>&- # CHECK: 1 false | $helper print_fds 0>&- # CHECK: 0 1 2 $helper print_fds </dev/null # CHECK: 0 1 2 $helper print_fds </dev/null # CHECK: 0 1 2 $helper print_fds 3</dev/null # CHECK: 0 1 2 3 # This attempts to trip a case where the file opened in fish # has the same fd as the redirection. In this case, the dup2 # does not clear the CLO_EXEC bit. $helper print_fds 4</dev/null # CHECK: 0 1 2 4 $helper print_fds 5</dev/null # CHECK: 0 1 2 5 $helper print_fds 6</dev/null # CHECK: 0 1 2 6 $helper print_fds 7</dev/null # CHECK: 0 1 2 7 $helper print_fds 8</dev/null # CHECK: 0 1 2 8 $helper print_fds 9</dev/null # CHECK: 0 1 2 9 $helper print_fds 10</dev/null # CHECK: 0 1 2 10 $helper print_fds 11</dev/null # CHECK: 0 1 2 11 $helper print_fds 12</dev/null # CHECK: 0 1 2 12 $helper print_fds 13</dev/null # CHECK: 0 1 2 13 $helper print_fds 14</dev/null # CHECK: 0 1 2 14 $helper print_fds 15</dev/null # CHECK: 0 1 2 15 $helper print_fds 16</dev/null # CHECK: 0 1 2 16 $helper print_fds 17</dev/null # CHECK: 0 1 2 17 $helper print_fds 18</dev/null # CHECK: 0 1 2 18 $helper print_fds 19</dev/null # CHECK: 0 1 2 19 $helper print_fds 20</dev/null # CHECK: 0 1 2 20