#!/usr/bin/env perl # # Print exitstatus on stderr. # use warnings; use strict; my $rc = system(@ARGV); if ($? == -1) { die "system failed: %!\n"; } if ($? == 0) { $rc = 0; } elsif ($? >= 256) { $rc = $? >> 8; } else { $rc = ($? & 127) | 128; } print STDERR "@@@ exitstatus: ${rc} @@@\n"; # Now look for it in log file. my $grepfilename = $ENV{'MOSH_E2E_TEST'} . ".tmux.log"; for my $i (1..600) { open(my $grepfile, "<", $grepfilename) or die; while (<$grepfile>) { chomp; /@@@ exitstatus: .* @@@/ && goto gotit; } close($grepfile); sleep .1; } gotit: exit $rc;