BIND 10 trac542, updated. d4a2c864bf1952f1bcccead59159462519c58e10 [trac542] Update format of message

BIND 10 source code commits bind10-changes at lists.isc.org
Wed May 11 14:22:52 UTC 2011


The branch, trac542 has been updated
       via  d4a2c864bf1952f1bcccead59159462519c58e10 (commit)
       via  ab5868a8dc4c6859f772219daddb7775848d3dc6 (commit)
      from  119678f768f09b13d6ecb715ad731d1dca8f05b0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d4a2c864bf1952f1bcccead59159462519c58e10
Author: Stephen Morris <stephen at isc.org>
Date:   Wed May 11 14:17:03 2011 +0100

    [trac542] Update format of message
    
    ... and catch both isc::Exception and std::exception.

commit ab5868a8dc4c6859f772219daddb7775848d3dc6
Author: Stephen Morris <stephen at isc.org>
Date:   Wed May 11 12:52:25 2011 +0100

    [trac542] Add basic wrapper round RUN_ALL_TESTS()

-----------------------------------------------------------------------

Summary of changes:
 src/lib/util/unittests/Makefile.am               |    4 ++
 src/lib/util/unittests/run_all.cc                |   58 ++++++++++++++++++++
 src/lib/util/unittests/{newhook.cc => run_all.h} |   62 ++++++++++------------
 3 files changed, 91 insertions(+), 33 deletions(-)
 create mode 100644 src/lib/util/unittests/run_all.cc
 copy src/lib/util/unittests/{newhook.cc => run_all.h} (56%)

-----------------------------------------------------------------------
diff --git a/src/lib/util/unittests/Makefile.am b/src/lib/util/unittests/Makefile.am
index 340cd1f..2ddeef1 100644
--- a/src/lib/util/unittests/Makefile.am
+++ b/src/lib/util/unittests/Makefile.am
@@ -4,7 +4,11 @@ AM_CXXFLAGS = $(B10_CXXFLAGS)
 lib_LTLIBRARIES = libutil_unittests.la
 libutil_unittests_la_SOURCES = fork.h fork.cc resolver.h
 libutil_unittests_la_SOURCES += newhook.h newhook.cc
+libutil_unittests_la_SOURCES += run_all.h run_all.cc
 libutil_unittests_la_SOURCES += testdata.h testdata.cc
 libutil_unittests_la_SOURCES += textdata.h
 
+libutil_unittests_ls_LDADD  = $(top_builddir)/src/lib/util/io/libutil_io.la
+libutil_unittests_ls_LDADD += $(top_builddir)/src/lib/util/libutil.la
+
 CLEANFILES = *.gcno *.gcda
diff --git a/src/lib/util/unittests/run_all.cc b/src/lib/util/unittests/run_all.cc
new file mode 100644
index 0000000..1545487
--- /dev/null
+++ b/src/lib/util/unittests/run_all.cc
@@ -0,0 +1,58 @@
+// Copyright (C) 2011  Internet Systems Consortium, Inc. ("ISC")
+//
+// Permission to use, copy, modify, and/or distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+// AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+// PERFORMANCE OF THIS SOFTWARE.
+
+#include <stdlib.h>
+
+#include <iostream>
+#include <iomanip>
+
+#include <gtest/gtest.h>
+#include <exceptions/exceptions.h>
+#include <util/unittests/run_all.h>
+
+namespace isc {
+namespace util {
+namespace unittests {
+
+int
+run_all() {
+    int ret = 0;
+
+    if (getenv("B10TEST_CATCH_EXCEPTION")) {
+        try {
+            ret = RUN_ALL_TESTS();
+        } catch (const isc::Exception& ex) {
+             std::cerr << "*** isc::exception of class '" << typeid(ex).name()
+                          << "' was thrown:\n"
+                       << "    file: " << ex.getFile() << "\n"
+                       << "    line: " << ex.getLine() << "\n"
+                       << "    what: " << ex.what() << std::endl;
+            throw;
+        } catch (const std::exception& ex) {
+             std::cerr << "*** std::exception of class '"
+                          << typeid(ex).name()
+                          << "' was thrown:\n"
+                       << "    what: " << ex.what() << std::endl;
+            throw;
+        }
+    } else {
+        ret = RUN_ALL_TESTS();
+    }
+
+    return (ret);
+}
+
+} // namespace unittests
+} // namespace util
+} // namespace isc
diff --git a/src/lib/util/unittests/run_all.h b/src/lib/util/unittests/run_all.h
new file mode 100644
index 0000000..59abe3e
--- /dev/null
+++ b/src/lib/util/unittests/run_all.h
@@ -0,0 +1,47 @@
+// Copyright (C) 2011  Internet Systems Consortium, Inc. ("ISC")
+//
+// Permission to use, copy, modify, and/or distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+// AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+// PERFORMANCE OF THIS SOFTWARE.
+
+
+
+#ifndef __RUN_ALL_H
+#define __RUN_ALL_H
+
+// Avoid need for user to include this header file.
+
+#include <gtest/gtest.h>
+
+namespace isc {
+namespace util {
+namespace unittests {
+
+/// \brief Run All Tests
+///
+/// A wrapper for the Google Test RUN_ALL_TESTS() macro, this calls the macro
+/// but wraps the call in a try...catch block if the environment variable
+/// B10TEST_CATCH_EXCEPTION is defined.  In the latter case, the class and
+/// type of the exception is printed.
+///
+/// See: https://lists.isc.org/pipermail/bind10-dev/2011-January/001867.html
+///
+/// \return Return value from RUN_ALL_TESTS().
+
+int run_all();
+
+} // namespace unittests
+} // namespace util
+} // namespace isc
+
+
+
+#endif // __RUN_ALL_H




More information about the bind10-changes mailing list