Title: [opsview] [12134] handle empty files and files with ignored events only
- Revision
- 12134
- Author
- aburzynski
- Date
- 2013-04-19 12:11:49 +0100 (Fri, 19 Apr 2013)
Log Message
handle empty files and files with ignored events only
Modified Paths
Added Paths
Modified: trunk/opsview-core/opsview-perl-modules/Opsview-Utils-NDOLogsImporter-XS/XS.xs
===================================================================
--- trunk/opsview-core/opsview-perl-modules/Opsview-Utils-NDOLogsImporter-XS/XS.xs 2013-04-19 10:22:27 UTC (rev 12133)
+++ trunk/opsview-core/opsview-perl-modules/Opsview-Utils-NDOLogsImporter-XS/XS.xs 2013-04-19 11:11:49 UTC (rev 12134)
@@ -221,15 +221,18 @@
}
};
- if ( event_block != BLOCK_EVENT_ENDED ) {
- remove_invalid:
- av_pop( datawrapper );
- }
+ /* there were some events */
+ if ( event_block != 0 ) {
+ if ( event_block != BLOCK_EVENT_ENDED ) {
+ remove_invalid:
+ av_pop( datawrapper );
+ }
- /* remove whole block if the last block has no events */
- if ( av_len( datawrapper ) == -1 ) {
- av_pop( events );
- av_pop( events );
+ /* remove whole block if the last block has no events */
+ if ( av_len( datawrapper ) == -1 ) {
+ av_pop( events );
+ av_pop( events );
+ }
}
Safefree(buf);
Modified: trunk/opsview-core/t/tests/Test/Opsview/Utils/NDOLogsImporter.pm
===================================================================
--- trunk/opsview-core/t/tests/Test/Opsview/Utils/NDOLogsImporter.pm 2013-04-19 10:22:27 UTC (rev 12133)
+++ trunk/opsview-core/t/tests/Test/Opsview/Utils/NDOLogsImporter.pm 2013-04-19 11:11:49 UTC (rev 12134)
@@ -58,7 +58,7 @@
# diag explain $self->{importer};
}
-sub parse : Test(5) {
+sub parse : Test(7) {
my $self = shift;
subtest "File ok" => sub {
@@ -443,6 +443,29 @@
);
};
+ subtest "File corrupted - only ignored events" => sub {
+ plan tests => 1;
+
+ my $file = "t/var/ndologs/1353330306.904093.corrupted.only.ignored";
+
+ my $log = Opsview::Utils::NDOLogsImporter::parse( $file, -s $file );
+
+ # diag explain $log;
+
+ is( scalar @$log, 0, "No handled events found" );
+ };
+
+ subtest "File corrupted - no events" => sub {
+ plan tests => 1;
+
+ my $file = "t/var/ndologs/1353330306.904093.corrupted.no.events";
+
+ my $log = Opsview::Utils::NDOLogsImporter::parse( $file, -s $file );
+
+ # diag explain $log;
+
+ is( scalar @$log, 0, "No events found in empty file" );
+ };
}
sub send_log : Test(50) {
Added: trunk/opsview-core/t/var/ndologs/1353330306.904093.corrupted.no.events
===================================================================
--- trunk/opsview-core/t/var/ndologs/1353330306.904093.corrupted.no.events (rev 0)
+++ trunk/opsview-core/t/var/ndologs/1353330306.904093.corrupted.no.events 2013-04-19 11:11:49 UTC (rev 12134)
@@ -0,0 +1,18 @@
+
+
+HELLO
+PROTOCOL: 2
+AGENT: NDOMOD
+AGENTVERSION: 1.4b7
+STARTTIME: 1353330301
+DISPOSITION: REALTIME
+CONNECTION: FILE
+CONNECTTYPE: INITIAL
+INSTANCENAME: default
+STARTDATADUMP
+
+
+1000
+ENDTIME: 1353330306
+GOODBYE
+
Added: trunk/opsview-core/t/var/ndologs/1353330306.904093.corrupted.only.ignored
===================================================================
--- trunk/opsview-core/t/var/ndologs/1353330306.904093.corrupted.only.ignored (rev 0)
+++ trunk/opsview-core/t/var/ndologs/1353330306.904093.corrupted.only.ignored 2013-04-19 11:11:49 UTC (rev 12134)
@@ -0,0 +1,60 @@
+
+
+HELLO
+PROTOCOL: 2
+AGENT: NDOMOD
+AGENTVERSION: 1.4b7
+STARTTIME: 1353330301
+DISPOSITION: REALTIME
+CONNECTION: FILE
+CONNECTTYPE: INITIAL
+INSTANCENAME: default
+STARTDATADUMP
+
+
+221:
+1=604
+2=0
+3=0
+4=1353330301.664660
+89=1
+117=1353330301.664659
+33=0.0
+53=bob
+114=Unix disk: /srv/released
+134=admin/02test-snp
+127=notify-by-email
+13=
+87=0
+118=1
+95=DISK WARNING - free space: /srv/released 14253 MB (9% inode=99%):
+5=
+6=
+999
+
+
+221:
+1=604
+2=0
+3=0
+4=1353330301.664660
+89=1
+117=1353330301.664659
+33=0.0
+53=bob
+114=Unix disk: /srv/released
+134=admin/02test-snp
+127=notify-by-email
+13=
+87=0
+118=1
+95=DISK WARNING - free space: /srv/released 14253 MB (9% inode=99%):
+5=
+6=
+999
+
+
+1000
+ENDTIME: 1353330306
+GOODBYE
+
_______________________________________________
Opsview-checkins mailing list
Opsview-checkins@lists.opsview.org
http://lists.opsview.org/lists/listinfo/opsview-checkins