From 4745ea5a7d9463a080a203a8fefdc863bc84a8e5 Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Fri, 6 Sep 2013 02:29:34 +0000 Subject: [PATCH] Update README git-svn-id: https://svn.dealii.org/branches/branch_port_the_testsuite@30617 0785d39b-7218-0410-832d-ea1e28bc413d --- tests/README | 12 +++- tests/lib/dof_tools_frame.h | 130 ------------------------------------ tests/lib/test_grids.h | 130 ------------------------------------ 3 files changed, 10 insertions(+), 262 deletions(-) delete mode 100644 tests/lib/dof_tools_frame.h delete mode 100644 tests/lib/test_grids.h diff --git a/tests/README b/tests/README index 1dc49b1bc2..7788bbc507 100644 --- a/tests/README +++ b/tests/README @@ -104,7 +104,7 @@ To enable the testsuite, configure deal.II in a build directory with # cmake -DBUILD_TESTING=ON . After you have build deal.II as usual (installation is not necessary) you -can run the testsuite in the build directory via +can run the testsuite in the _build directory_ via # ctest [-j x] @@ -117,11 +117,19 @@ To get verbose output of tests (which is otherwise just logged into Testing/Temporary/LastTest.log) specify -V, alternatively if you're just interested in verbose output of failing test, --output-on-failure. +Note: You can also invoke ctest under BUILD_DIR/tests or any subdirectory +under BUILD_DIR/tests. This will only invoke the tests that are located +under the subdirectory. + +Note: TODO: Get and install numdiff to minimize false positives. + Note: The testsuite is huge (!) and will need around 12h on current computer running single threaded. Consider configuring only a subset of tests as discussed below. -Note: TODO: Get and install numdiff to minimize false positives. + +CMake configuration variables for the testsuite +----------------------------------------------- TODO: Document the following options: # TODO: Describe and document the following: diff --git a/tests/lib/dof_tools_frame.h b/tests/lib/dof_tools_frame.h deleted file mode 100644 index fbfcd5c0ea..0000000000 --- a/tests/lib/dof_tools_frame.h +++ /dev/null @@ -1,130 +0,0 @@ -// --------------------------------------------------------------------- -// $Id: dof_tools_frame.h 30048 2013-07-18 19:42:36Z maier $ -// -// Copyright (C) 2003 - 2013 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. -// -// --------------------------------------------------------------------- - - -#include "../tests.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - - -// forward declaration of the function that must be provided in the -// .cc files -template -void -check_this (const DoFHandler &dof_handler); - - -void -output_vector (std::vector &v) -{ - for (unsigned int i=0; i &v) -{ - for (unsigned int i=0; i -void -check (const Triangulation &tria, - const FiniteElement &fe) -{ - deallog << fe.get_name() << std::endl; - - DoFHandler dof_handler (tria); - dof_handler.distribute_dofs (fe); - - // call main function in .cc files - check_this (dof_handler); -} - - -template -void check_grid(const Triangulation &tr) -{ - FE_Q q1(1); - check(tr, q1); - FE_Q q2(2); - check(tr, q2); - FE_Q q3(3); - check(tr, q3); - - FE_DGQ dgq0(0); - check(tr, dgq0); - FE_DGQ dgq1(1); - check(tr, dgq1); - FE_DGQ dgq2(2); - check(tr, dgq2); - - FE_DGP dgp1(1); - check(tr, dgp1); - FE_DGP dgp2(2); - check(tr, dgp2); - - FE_Nedelec nedelec1(1); - check(tr, nedelec1); - - FE_RaviartThomas rt0(0); - check(tr, rt0); - FE_RaviartThomas rt1(1); - check(tr, rt1); - FE_RaviartThomas rt2(2); - check(tr, rt2); - - FESystem s1(q1, 3); - check(tr, s1); - FESystem s2(dgq1, 2, q1, 1); - check(tr, s2); - FESystem s3(q1, 2, dgq0, 3); - check(tr, s3); - FESystem s4(q1, 3, dgq0, 2, dgp1, 1); - check(tr, s4); - - FESystem s10(rt1, 1, dgq1, 1); - check(tr, s10); - FESystem s11(rt0, 2, rt1, 1); - check(tr, s11); - - FESystem ss1(s1, 2, s3, 1); - check(tr, ss1); -} - - diff --git a/tests/lib/test_grids.h b/tests/lib/test_grids.h deleted file mode 100644 index c541b4178f..0000000000 --- a/tests/lib/test_grids.h +++ /dev/null @@ -1,130 +0,0 @@ -// --------------------------------------------------------------------- -// $Id: test_grids.h 30049 2013-07-18 19:42:40Z maier $ -// -// Copyright (C) 2006 - 2013 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. -// -// --------------------------------------------------------------------- - -#include -#include -#include -#include - -/** - * A set of test meshes for the deal.II test suite. - * - * These meshes exhibit certain key features for writing tests. If you - * want to test certain properties of algorithms, the following table - * might be of help. - * - * - * - * - * - * - * - * - *
MeshFeature tested
#hypercube(tr)works at all on a single - * cell
#hypercube(tr,2)works on uniform meshes
#hypercube(tr,3,true)works with local - * refinement
#star_shaped(tr,1)method is robust if more than - * usual cells meet in one vertex
#star_shaped(tr,2,true)method is robust if more than - * usual cells meet in one vertex and local refinement exceeds one - * level
- * - * @author Guido Kanschat - * @date 2006, 2010 - */ -namespace TestGrids -{ - /** - * Generate grids based on - * hypercube. These meshes have a - * regular geometry and topology. - * - * @param refinement - * denotes the number of refinement - * steps of the root cell. - * - * @param if local is - * true, refine only the - * cell containing the corner with - * only negative coordinates. - */ - template - void hypercube(Triangulation &tr, - unsigned int refinement = 0, - bool local = false) - { - GridGenerator::hyper_cube(tr, -1., 1.); - if (refinement && !local) - tr.refine_global(refinement); - if (refinement && local) - { - tr.refine_global(1); - for (unsigned int i=1; i::active_cell_iterator - cell = tr.begin_active(); cell != tr.end(); ++cell) - { - const Point &p = cell->center(); - bool negative = true; - for (unsigned int d=0; d= 0.)negative = false; - if (negative) - cell->set_refine_flag(); - } - tr.execute_coarsening_and_refinement(); - } - } - deallog << "Triangulation hypercube " << dim << "D refinement " << refinement; - if (local) - deallog << " local "; - deallog << " steps " << tr.n_active_cells() << " active cells " - << tr.n_cells() << " total cells " << std::endl; - } - - /** - * Create a star-shaped mesh, - * having more than the average - * 2dim cells - * in the central vertex. - * - * @param refinement - * denotes the number of refinement - * steps of the root mesh. - * - * @param if local is - * true, refine only one - * of the coarse cells. - */ - template - void star_shaped(Triangulation &tr, - unsigned int refinement = 0, - bool local = false); - /** - * Local refinement of every other - * cell in a checkerboard fashion. - */ - template - void checkers(Triangulation &tr); - /** - * Islands of local refinement - */ - template - void islands(Triangulation &tr); - /** - * Local refinement with an - * unrefined hole. - */ - template - void laguna(Triangulation &tr); -} -- 2.39.5