]> git.sur5r.net Git - i3/i3/blobdiff - testcases/complete-run.pl
Always explicitly set border widths on manage
[i3/i3] / testcases / complete-run.pl
index d73bb3327d242344f641930d8e34534d5ec725f5..7ca89016f6ea45443372cba02cd50ac6f9c93d22 100755 (executable)
@@ -1,10 +1,11 @@
 #!/usr/bin/env perl
 # vim:ts=4:sw=4:expandtab
-# © 2010-2011 Michael Stapelberg and contributors
+# © 2010-2012 Michael Stapelberg and contributors
 package complete_run;
 use strict;
 use warnings;
 use v5.10;
+use utf8;
 # the following are modules which ship with Perl (>= 5.10):
 use Pod::Usage;
 use Cwd qw(abs_path);
@@ -29,6 +30,9 @@ use AnyEvent::I3 qw(:all);
 use X11::XCB::Connection;
 use JSON::XS; # AnyEvent::I3 depends on it, too.
 
+binmode STDOUT, ':utf8';
+binmode STDERR, ':utf8';
+
 # Close superfluous file descriptors which were passed by running in a VIM
 # subshell or situations like that.
 AnyEvent::Util::close_all_fds_except(0, 1, 2);
@@ -78,7 +82,7 @@ my @binaries = qw(
                );
 
 foreach my $binary (@binaries) {
-    die "$binary executable not found" unless -e $binary;
+    die "$binary executable not found, did you run “make”?" unless -e $binary;
     die "$binary is not an executable" unless -x $binary;
 }
 
@@ -104,7 +108,7 @@ $outdir .= POSIX::strftime("%Y-%m-%d-%H-%M-%S-", localtime());
 $outdir .= `git describe --tags`;
 chomp($outdir);
 mkdir($outdir) or die "Could not create $outdir";
-unlink("latest") if -e "latest";
+unlink("latest") if -l "latest";
 symlink("$outdir", "latest") or die "Could not symlink latest to $outdir";
 
 
@@ -137,6 +141,12 @@ my $timingsjson = StartXDummy::slurp('.last_run_timings.json');
              sort { $b->[1] <=> $a->[1] }
              map  { [$_, $timings{$_} // 999] } @testfiles;
 
+# Run 000-load-deps.t first to bail out early when dependencies are missing.
+my $loadtest = "t/000-load-deps.t";
+if ((scalar grep { $_ eq $loadtest } @testfiles) > 0) {
+    @testfiles = ($loadtest, grep { $_ ne $loadtest } @testfiles);
+}
+
 printf("\nRough time estimate for this run: %.2f seconds\n\n", $timings{GLOBAL})
     if exists($timings{GLOBAL});