[pve-devel] [PATCH ha-manager 1/6] ensure test/sim.pl always use the currently developed code

Dietmar Maurer dietmar at proxmox.com
Fri Jan 13 12:15:50 CET 2017


Or we do something like:

-use lib '/global/path/to/HA/Simulator';
+BEGIN {
+    if ($INC[0] eq '..') {
+	splice(@INC, 1, 0, '/usr/share/pve-ha-simulator');
+    } else {
+	unshift @INC, '/usr/share/pve-ha-simulator';
+    }
+}


????

> On January 12, 2017 at 3:51 PM Thomas Lamprecht <t.lamprecht at proxmox.com>
> wrote:
> 
> 
> sim.pl suggested to be a perl script, but was a bash script which
> called ../pve-ha-simulator
> It set the include directory to '..' as its intended to use the
> currently developed code, not the pve-ha-simulator installed on the
> system.
> This did not work correctly as pve-ha-simulator has a
> use lib '/global/path/to/HA/Simulator'
> directive.
> 
> Create a small perl script which runs the RTHardware.
> 
> Changes which differ from the pve-ha-simulator script include that we
> fall back to the 'simtest' directory if none is given.
> Also the 'batch' option does not exists here, use the ha-tester
> script if you want this behavior.
> 
> Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
> ---
> 
> changes since v1:
> * removed unnecessary use clauses
> * whitespace cleanup
> 
>  src/test/sim.pl | 41 ++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 36 insertions(+), 5 deletions(-)
>  rewrite src/test/sim.pl (98%)
> 
> diff --git a/src/test/sim.pl b/src/test/sim.pl
> dissimilarity index 98%
> index 933c5ba..e5a8491 100755
> --- a/src/test/sim.pl
> +++ b/src/test/sim.pl
> @@ -1,5 +1,36 @@
> -#!/bin/sh
> -
> -rm -rf simtest
> -mkdir simtest
> -perl -I .. ../pve-ha-simulator simtest
> +#!/usr/bin/perl
> +
> +use strict;
> +use warnings;
> +
> +use lib '..';
> +
> +use File::Path qw(remove_tree);
> +
> +use PVE::HA::Sim::RTHardware;
> +
> +sub show_usage {
> +    print "usage: $0 [testdir]\n";
> +    exit(-1);
> +};
> +
> +my $testdir = shift;
> +
> +if (!defined($testdir)) {
> +    $testdir = "simtest";
> +    remove_tree($testdir);
> +    mkdir $testdir;
> +}
> +
> +my $hardware = PVE::HA::Sim::RTHardware->new($testdir);
> +
> +$hardware->log('info', "starting simulation");
> +
> +eval { $hardware->run(); };
> +if (my $err = $@) {
> +    $hardware->log('err', "exit simulation - $err ");
> +} else {
> +    $hardware->log('info', "exit simulation - done");
> +}
> +
> +exit(0);
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel




More information about the pve-devel mailing list