]> https://gitweb.dealii.org/ - dealii.git/commitdiff
tests: add a quick test for Zlib with Boost 5677/head
authorDenis Davydov <davydden@gmail.com>
Wed, 27 Dec 2017 18:19:35 +0000 (19:19 +0100)
committerDenis Davydov <davydden@gmail.com>
Wed, 27 Dec 2017 18:19:35 +0000 (19:19 +0100)
tests/quick_tests/CMakeLists.txt
tests/quick_tests/boost_zlib.cc [new file with mode: 0644]

index e9e6638daf602cb99b3626ddf6233df66e28743a..0e81ba8e8dc981db36c549cdf5d35e01ae013e37 100644 (file)
@@ -178,6 +178,10 @@ IF (DEAL_II_WITH_SCALAPACK)
   make_quicktest("scalapack" ${_mybuild} 5)
 ENDIF()
 
+# Test Zlib and Boost
+IF (DEAL_II_WITH_ZLIB)
+make_quicktest("boost_zlib" ${_mybuild} "")
+ENDIF()
 
 # A custom test target:
 ADD_CUSTOM_TARGET(test
diff --git a/tests/quick_tests/boost_zlib.cc b/tests/quick_tests/boost_zlib.cc
new file mode 100644 (file)
index 0000000..6d81c4e
--- /dev/null
@@ -0,0 +1,57 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2017 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+// Adoptation of base/utilities_pack_unpack_01.cc as a quick test.
+
+// test Utilities::pack/unpack on some types.
+
+#include <deal.II/base/utilities.h>
+#include <deal.II/base/point.h>
+
+using namespace dealii;
+
+template <int dim>
+void test(const unsigned int &size)
+{
+  std::vector<Point<dim> > points(size);
+
+  unsigned int i=0;
+  for (auto &p : points)
+    for (unsigned int d = 0; d < dim; ++d)
+      p[d] = 11*d + size*10 + 3*i++;
+
+  auto buffer = Utilities::pack(points);
+
+  auto unpacked = Utilities::unpack<std::vector<Point<dim> > >(buffer);
+
+  i = 0;
+  bool ok = true;
+  for (const auto &p : points)
+    if (p.distance(unpacked[i++]) > 1e-12)
+      {
+        std::cout << "NOT OK: "
+                  << p << " != " << unpacked[i-1] << std::endl;
+        ok = false;
+      }
+
+  AssertThrow(ok, ExcInternalError());
+}
+
+int main()
+{
+  test<1>(10);
+  test<2>(10);
+  test<3>(10);
+}

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.