aboutsummaryrefslogtreecommitdiff
path: root/tap/tests/diag
diff options
context:
space:
mode:
authorGravatar Thomas Guyot-Sionnest <dermoth@aei.ca> 2008-11-28 05:01:53 -0500
committerGravatar Thomas Guyot-Sionnest <dermoth@aei.ca> 2008-11-29 04:38:54 -0500
commit2bbf2e6967daa0a9f86874aac409fde245a3bc85 (patch)
tree7fc7a9e96f3bc0e1b6749cbd999c93a292e0d12b /tap/tests/diag
parent538b97cea63d68efbd9c9c67d9c41278cfd1ebad (diff)
downloadmonitoring-plugins-2bbf2e6967daa0a9f86874aac409fde245a3bc85.tar.gz
Add Libtap as a bundled library (does not change any behaviour without --enable-libtap)
Detects system library as pre-1.4.13 and does not install the built-in library anymore Tested on: - Linux x86_64, with and without local libtap (System libtap installed) - Linux x86, with and without local libtap (System libtap NOT installed) - Solaris SPARC, with and without local libtap, with and without system libtap installed
Diffstat (limited to 'tap/tests/diag')
-rw-r--r--tap/tests/diag/Makefile.am13
-rw-r--r--tap/tests/diag/test.c46
-rw-r--r--tap/tests/diag/test.pl16
-rw-r--r--tap/tests/diag/test.t29
4 files changed, 104 insertions, 0 deletions
diff --git a/tap/tests/diag/Makefile.am b/tap/tests/diag/Makefile.am
new file mode 100644
index 00000000..c1ccb751
--- /dev/null
+++ b/tap/tests/diag/Makefile.am
@@ -0,0 +1,13 @@
+
+TESTS = test.t
+TESTS_ENVIRONMENT = $(SHELL)
+
+EXTRA_DIST = $(TESTS) test.pl
+
+check_PROGRAMS = test
+
+test_CFLAGS = -g -I../../src
+test_LDFLAGS = -L../../src
+test_LDADD = -ltap
+
+CLEANFILES = test.o test.c.out test.pl.out
diff --git a/tap/tests/diag/test.c b/tap/tests/diag/test.c
new file mode 100644
index 00000000..401db647
--- /dev/null
+++ b/tap/tests/diag/test.c
@@ -0,0 +1,46 @@
+/*-
+ * Copyright (c) 2004 Nik Clayton
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+
+#include "tap.h"
+
+int
+main(int argc, char *argv[])
+{
+ unsigned int rc = 0;
+
+ plan_tests(2);
+
+ rc = diag("A diagnostic message");
+ diag("Returned: %d", rc);
+
+ /* Make sure the failure is passed through */
+ ok(1, "test 1") || diag("ok() failed, and shouldn't");
+ ok(0, "test 2") || diag("ok() passed, and shouldn't");
+
+ return exit_status();
+}
diff --git a/tap/tests/diag/test.pl b/tap/tests/diag/test.pl
new file mode 100644
index 00000000..621dc27d
--- /dev/null
+++ b/tap/tests/diag/test.pl
@@ -0,0 +1,16 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+
+use Test::More;
+
+my $rc = 0;
+
+plan tests => 2;
+
+$rc = diag("A diagnostic message");
+diag("Returned: $rc");
+
+ok(1, 'test 1') or diag "ok() failed, and shouldn't";
+ok(0, 'test 2') or diag "ok() passed, and shouldn't";
diff --git a/tap/tests/diag/test.t b/tap/tests/diag/test.t
new file mode 100644
index 00000000..bf0fe8f1
--- /dev/null
+++ b/tap/tests/diag/test.t
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+cd `dirname $0`
+
+echo '1..2'
+
+make 2>&1 > /dev/null
+
+perl ./test.pl 2>&1 | sed -e 's/# Failed test \(.*\)/# Failed test ()/' > test.pl.out
+perlstatus=$?
+
+./test 2>&1 | sed -e 's/# Failed test \(.*\)/# Failed test ()/' > test.c.out
+cstatus=$?
+
+diff -u test.pl.out test.c.out
+
+if [ $? -eq 0 ]; then
+ echo 'ok 1 - output is identical'
+else
+ echo 'not ok 1 - output is identical'
+fi
+
+if [ $perlstatus -eq $cstatus ]; then
+ echo 'ok 2 - status code'
+else
+ echo 'not ok 2 - status code'
+ echo "# perlstatus = $perlstatus"
+ echo "# cstatus = $cstatus"
+fi