[pve-devel] [PATCH ha-manager 1/6] ensure test/sim.pl always use the currently developed code
Thomas Lamprecht
t.lamprecht at proxmox.com
Thu Jan 12 15:51:54 CET 2017
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
More information about the pve-devel
mailing list