From patchwork Fri Jul 22 04:21:43 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Kosnik X-Patchwork-Id: 106213 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 55C8EB6F70 for ; Fri, 22 Jul 2011 14:22:38 +1000 (EST) Received: (qmail 13328 invoked by alias); 22 Jul 2011 04:22:28 -0000 Received: (qmail 13263 invoked by uid 22791); 22 Jul 2011 04:22:17 -0000 X-SWARE-Spam-Status: No, hits=-6.5 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 22 Jul 2011 04:21:45 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p6M4LjKA005898 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 22 Jul 2011 00:21:45 -0400 Received: from shotwell (ovpn-113-130.phx2.redhat.com [10.3.113.130]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p6M4Lh0I020382 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Fri, 22 Jul 2011 00:21:44 -0400 Date: Thu, 21 Jul 2011 21:21:43 -0700 From: Benjamin Kosnik To: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org Subject: [v3] testsuite renames Message-ID: <20110721212143.7d8bf5fa@shotwell> Mime-Version: 1.0 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Some shortened pathnames from doc cleanup branch. tested x86/linux -benjamin 2011-07-21 Benjamin Kosnik * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Move... * testsuite/ext/pb_ds/regression/tree_set_rand.cc: ... here. * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: Move... * testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc: ... here. * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Move... * testsuite/ext/pb_ds/regression/tree_map_rand.cc: ... here. * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: Move... * testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc: ... here. * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Move... * testsuite/ext/pb_ds/regression/trie_set_rand.cc: ... here. * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: Move... * testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc: ... here. * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Move... * testsuite/ext/pb_ds/regression/trie_map_rand.cc: ... here. * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: Move... * testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc: ... here. * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Move. * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: ...here. * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc: Move... * testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc: ...here. * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Move... * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: ...here. * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc: Move... * testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc: ...here. * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Move... * testsuite/ext/pb_ds/regression/hash_set_rand.cc: ...here. * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: Move... * testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc: ...here. * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Move... * testsuite/ext/pb_ds/regression/hash_map_rand.cc: ...here. * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: Move... * testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc: ...here. Index: testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc =================================================================== --- testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc (working copy) @@ -1,144 +0,0 @@ -// { dg-require-debug-mode "" } -// { dg-require-time "" } -// This can take long on simulators, timing out the test. -// { dg-options "-DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - -/** - * @file tree_data_map_rand_debug.cc - * Contains a random-operation test for maps and sets, separated out. - */ - -#define PB_DS_REGRESSION -//#define PB_DS_REGRESSION_TRACE - -#include -#include -#include -#include - -#ifndef ITERATIONS -# define ITERATIONS 100 -#endif - -#ifndef KEYS -# define KEYS 200 -#endif - -// Debug version of the rand regression tests, based on tree_data_map. - -// 1 -// Simplify things by unrolling the typelist of the different -// container types into individual statements. -// -// Unroll the typelist represented by tree_types, from -// regression/common_type.hpp. This is just a compile-time list of 6 -// tree types, with different policies for the type of tree -// (ov_tree_tag, rb_tree_tag, splay_tree_tag) and for the node -// update (null_node_update, tree_order_statistics_node_update) - -using namespace __gnu_pbds::test::detail; -using namespace __gnu_pbds; -typedef __gnu_pbds::test::basic_type basic_type; -typedef __gnu_cxx::throw_allocator_random allocator_type; - -// ov_tree_tag -typedef tree, - ov_tree_tag, null_node_update, - allocator_type> ov_tree_type1; - -typedef tree, - ov_tree_tag, tree_order_statistics_node_update, - allocator_type> ov_tree_type2; - -// rb_tree_tag -typedef tree, - rb_tree_tag, null_node_update, - allocator_type> rb_tree_type1; - -typedef tree, - rb_tree_tag, tree_order_statistics_node_update, - allocator_type> rb_tree_type2; - -// splay_tree_tag -typedef tree, - splay_tree_tag, null_node_update, - allocator_type> splay_tree_type1; - -typedef tree, - splay_tree_tag, tree_order_statistics_node_update, - allocator_type> splay_tree_type2; - - -// 2 -// Specialize container_rand_regression_test for specific container -// type and test function. - -#ifdef SPECIALIZE -// For testing one specific container type. -typedef ov_tree_type2 test_type; - -void debug_break_here() { } - -namespace __gnu_pbds { - namespace test { - namespace detail { - - template<> - void - container_rand_regression_test::operator()() - { - } - - } - } -} -#endif - -int -main() -{ - // Set up the test object. - size_t sd = 1303948889; - rand_reg_test test(sd, ITERATIONS, KEYS, 0.2, .6, .2, .001, .25, true); - - // 1 - // Determine the problem container, function that fails. - test(ov_tree_type1()); - test(ov_tree_type2()); - test(rb_tree_type1()); - test(rb_tree_type2()); - test(splay_tree_type1()); - test(splay_tree_type2()); - -#ifdef SPECIALIZE - // 2 - // With specified problem container set test_type typedef - // appropriately above. Then, specialize operator()(), also - // above. Finally, run this below. - using namespace std; - test_type obj; - test(obj); -#endif - - return 0; -} Index: testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc =================================================================== --- testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc (working copy) @@ -1,144 +0,0 @@ -// { dg-require-debug-mode "" } -// { dg-require-time "" } -// This can take long on simulators, timing out the test. -// { dg-options "-DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - -/** - * @file tree_data_map_rand_debug.cc - * Contains a random-operation test for maps and sets, separated out. - */ - -#define PB_DS_REGRESSION -//#define PB_DS_REGRESSION_TRACE - -#include -#include -#include -#include - -#ifndef ITERATIONS -# define ITERATIONS 100 -#endif - -#ifndef KEYS -# define KEYS 200 -#endif - -// Debug version of the rand regression tests, based on tree_data_map. - -// 1 -// Simplify things by unrolling the typelist of the different -// container types into individual statements. -// -// Unroll the typelist represented by tree_types, from -// regression/common_type.hpp. This is just a compile-time list of 6 -// tree types, with different policies for the type of tree -// (ov_tree_tag, rb_tree_tag, splay_tree_tag) and for the node -// update (null_node_update, tree_order_statistics_node_update) - -using namespace __gnu_pbds::test::detail; -using namespace __gnu_pbds; -typedef __gnu_pbds::test::basic_type basic_type; -typedef __gnu_cxx::throw_allocator_random allocator_type; - -// ov_tree_tag -typedef tree, - ov_tree_tag, null_node_update, - allocator_type> ov_tree_type1; - -typedef tree, - ov_tree_tag, tree_order_statistics_node_update, - allocator_type> ov_tree_type2; - -// rb_tree_tag -typedef tree, - rb_tree_tag, null_node_update, - allocator_type> rb_tree_type1; - -typedef tree, - rb_tree_tag, tree_order_statistics_node_update, - allocator_type> rb_tree_type2; - -// splay_tree_tag -typedef tree, - splay_tree_tag, null_node_update, - allocator_type> splay_tree_type1; - -typedef tree, - splay_tree_tag, tree_order_statistics_node_update, - allocator_type> splay_tree_type2; - - -// 2 -// Specialize container_rand_regression_test for specific container -// type and test function. - -#ifdef SPECIALIZE -// For testing one specific container type. -typedef ov_tree_type2 test_type; - -void debug_break_here() { } - -namespace __gnu_pbds { - namespace test { - namespace detail { - - template<> - void - container_rand_regression_test::operator()() - { - } - - } - } -} -#endif - -int -main() -{ - // Set up the test object. - size_t sd = 1303948889; - rand_reg_test test(sd, ITERATIONS, KEYS, 0.2, .6, .2, .001, .25, true); - - // 1 - // Determine the problem container, function that fails. - test(ov_tree_type1()); - test(ov_tree_type2()); - test(rb_tree_type1()); - test(rb_tree_type2()); - test(splay_tree_type1()); - test(splay_tree_type2()); - -#ifdef SPECIALIZE - // 2 - // With specified problem container set test_type typedef - // appropriately above. Then, specialize operator()(), also - // above. Finally, run this below. - using namespace std; - test_type obj; - test(obj); -#endif - - return 0; -} Index: testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc =================================================================== --- testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc (working copy) @@ -1,131 +0,0 @@ -// { dg-require-debug-mode "" } -// { dg-require-time "" } -// This can take long on simulators, timing out the test. -// { dg-options "-DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - -/** - * @file trie_data_map_rand_debug.cc - * Contains a random-operation test for maps and sets, separated out. - */ - -#define PB_DS_REGRESSION -//#define PB_DS_REGRESSION_TRACE - -#include -#include -#include -#include - -#ifndef ITERATIONS -# define ITERATIONS 100 -#endif - -#ifndef KEYS -# define KEYS 200 -#endif - -// Debug version of the rand regression tests, based on trie_no_data_map. - -// 1 -// Simplify things by unrolling the typelist of the different -// container types into individual statements. -// -// Unroll the typelist represented by tree_types, from -// regression/common_type.hpp. This is just a compile-time list of 6 -// tree types, with different policies for the type of tree -// (pat_trie_tag) and for the node -// update (null_node_update, trie_order_statistics_node_update, -// trie_order_staticstics_node_update, trie_prefix_search_node_update) - -using namespace __gnu_pbds::test::detail; -using namespace __gnu_pbds; -typedef __gnu_pbds::test::basic_type basic_type; -typedef __gnu_cxx::throw_allocator_random allocator_type; -typedef __gnu_pbds::trie_string_access_traits - etraits_type; - -// pat_trie_tag -typedef trie - trie_type1; - -typedef trie - trie_type2; - -typedef trie - trie_type3; - - -// 2 -// Specialize container_rand_regression_test for specific container -// type and test function. - -#ifdef SPECIALIZE -// For testing one specific container type. -typedef trie_type1 test_type; - -void debug_break_here() { } - -namespace __gnu_pbds { - namespace test { - namespace detail { - - template<> - void - container_rand_regression_test::operator()() - { - - } - } - } -} -#endif - -int -main() -{ - // Set up the test object. - size_t sd = 1303948889; - rand_reg_test test(sd, ITERATIONS, KEYS, 0.2, .6, .2, .001, .25, true); - - // 1 - // Determine the problem container, function that fails. - test(trie_type1()); - test(trie_type2()); - test(trie_type3()); - -#ifdef SPECIALIZE - // 2 - // With specified problem container set test_type typedef - // appropriately above. Then, specialize operator()(), also - // above. Finally, run this below. - using namespace std; - test_type obj; - test(obj); -#endif - - return 0; -} Index: testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc =================================================================== --- testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc (working copy) @@ -1,54 +0,0 @@ -// { dg-require-time "" } - -// -*- C++ -*- - -// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - - -// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL. - -// Permission to use, copy, modify, sell, and distribute this software -// is hereby granted without fee, provided that the above copyright -// notice appears in all copies, and that both that copyright notice -// and this permission notice appear in supporting documentation. None -// of the above authors, nor IBM Haifa Research Laboratories, make any -// representation about the suitability of this software for any -// purpose. It is provided "as is" without express or implied -// warranty. - -/** - * @file lu_no_data_map_rand_regression_test.cpp - * Contains a random-operation test for maps and sets. - */ - -#define PB_DS_REGRESSION - -#include -#include - -int -main(int argc, char* a_p_argv[]) -{ - using namespace __gnu_pbds::test; - typedef lu_set_tl_t map_tl_t; - - return rand_regression_test(50, 10, - "lu_no_data_map_rand_regression_test", - map_tl_t()); -} - Index: testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc =================================================================== --- testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc (working copy) @@ -1,54 +0,0 @@ -// { dg-require-time "" } - -// -*- C++ -*- - -// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - - -// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL. - -// Permission to use, copy, modify, sell, and distribute this software -// is hereby granted without fee, provided that the above copyright -// notice appears in all copies, and that both that copyright notice -// and this permission notice appear in supporting documentation. None -// of the above authors, nor IBM Haifa Research Laboratories, make any -// representation about the suitability of this software for any -// purpose. It is provided "as is" without express or implied -// warranty. - -/** - * @file list_update_data_map_rand.cc - * Contains a random-operation test for maps and sets. - */ - -#define PB_DS_REGRESSION - -#include -#include - -int -main(int argc, char* a_p_argv[]) -{ - using namespace __gnu_pbds::test; - typedef lu_map_tl_t map_tl_t; - - return rand_regression_test(50, 10, - "lu_data_map_rand_regression_test", - map_tl_t()); -} - Index: testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc =================================================================== --- testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc (working copy) @@ -1,116 +0,0 @@ -// { dg-require-debug-mode "" } -// { dg-require-time "" } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - -/** - * @file list_update_data_map_rand_debug.cc - * Contains a random-operation test for maps and sets, separated out. - */ - -#define PB_DS_REGRESSION -//#define PB_DS_REGRESSION_TRACE - -#include -#include -#include -#include - -// Debug version of the rand regression tests, based on list_update_data_map. - -// 1 -// Simplify things by unrolling the typelist of the different -// container types into individual statements. -// -// Unroll the typelist represented by list_update_types, from -// regression/common_type.hpp. This is just a compile-time list of -// list_update types, with different policies for the type of -// update (lu_move_to_front_policy, lu_counter_policy). - -using namespace __gnu_pbds::test::detail; -using namespace __gnu_pbds; -typedef __gnu_pbds::test::basic_type basic_type; -typedef __gnu_cxx::throw_allocator_random allocator_type; -typedef std::equal_to equal_type; - -typedef __gnu_pbds::test::lu_move_to_front_policy_t_ policy_type1; - -typedef __gnu_pbds::test::lu_counter_policy_t_ - policy_type2; - - -typedef list_update - list_type1; - -typedef list_update - list_type2; - -// 2 -// Specialize container_rand_regression_test for specific container -// type and test function. - -#ifdef SPECIALIZE -// For testing one specific container type. -typedef list_type1 test_type; - -void debug_break_here() { } - -namespace __gnu_pbds { - namespace test { - namespace detail { - - template<> - void - container_rand_regression_test::operator()() - { - } - - } - } -} -#endif - -int -main() -{ - // Set up the test object. - size_t sd = 1303948889; - rand_reg_test test(sd, 50, 10, .2, .6, .2, .001, .25, true); - - // 1 - // Determine the problem container, function that fails. - test(list_type1()); - test(list_type2()); - -#ifdef SPECIALIZE - // 2 - // With specified problem container set test_type typedef - // appropriately above. Then, specialize operator()(), also - // above. Finally, run this below. - using namespace std; - test_type obj; - test(obj); -#endif - - return 0; -} Index: testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc =================================================================== --- testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc (working copy) @@ -1,116 +0,0 @@ -// { dg-require-debug-mode "" } -// { dg-require-time "" } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - -/** - * @file list_update_data_map_rand_debug.cc - * Contains a random-operation test for maps and sets, separated out. - */ - -#define PB_DS_REGRESSION -//#define PB_DS_REGRESSION_TRACE - -#include -#include -#include -#include - -// Debug version of the rand regression tests, based on list_update_data_map. - -// 1 -// Simplify things by unrolling the typelist of the different -// container types into individual statements. -// -// Unroll the typelist represented by list_update_types, from -// regression/common_type.hpp. This is just a compile-time list of -// list_update types, with different policies for the type of -// update (lu_move_to_front_policy, lu_counter_policy). - -using namespace __gnu_pbds::test::detail; -using namespace __gnu_pbds; -typedef __gnu_pbds::test::basic_type basic_type; -typedef __gnu_cxx::throw_allocator_random allocator_type; -typedef std::equal_to equal_type; - -typedef __gnu_pbds::test::lu_move_to_front_policy_t_ policy_type1; - -typedef __gnu_pbds::test::lu_counter_policy_t_ - policy_type2; - - -typedef list_update - list_type1; - -typedef list_update - list_type2; - -// 2 -// Specialize container_rand_regression_test for specific container -// type and test function. - -#ifdef SPECIALIZE -// For testing one specific container type. -typedef list_type1 test_type; - -void debug_break_here() { } - -namespace __gnu_pbds { - namespace test { - namespace detail { - - template<> - void - container_rand_regression_test::operator()() - { - } - - } - } -} -#endif - -int -main() -{ - // Set up the test object. - size_t sd = 1303948889; - rand_reg_test test(sd, 50, 10, .2, .6, .2, .001, .25, true); - - // 1 - // Determine the problem container, function that fails. - test(list_type1()); - test(list_type2()); - -#ifdef SPECIALIZE - // 2 - // With specified problem container set test_type typedef - // appropriately above. Then, specialize operator()(), also - // above. Finally, run this below. - using namespace std; - test_type obj; - test(obj); -#endif - - return 0; -} Index: testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc =================================================================== --- testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc (working copy) @@ -1,72 +0,0 @@ -// { dg-require-time "" } -// This can take long on simulators, timing out the test. -// { dg-options "-DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - - -// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL. - -// Permission to use, copy, modify, sell, and distribute this software -// is hereby granted without fee, provided that the above copyright -// notice appears in all copies, and that both that copyright notice -// and this permission notice appear in supporting documentation. None -// of the above authors, nor IBM Haifa Research Laboratories, make any -// representation about the suitability of this software for any -// purpose. It is provided "as is" without express or implied -// warranty. - -/** - * @file hash_no_data_map_rand_regression_test.cpp - * Contains a random-operation test for maps and sets. - */ - -#define PB_DS_REGRESSION - -#include -#include - -#ifndef ITERATIONS -# ifdef _GLIBCXX_DEBUG -# define ITERATIONS 100 -# else -# define ITERATIONS 5000 -#endif -#endif - -#ifndef KEYS -# ifdef _GLIBCXX_DEBUG -# define KEYS 200 -# else -# define KEYS 10000 -# endif -#endif - -int -main(int argc, char* a_p_argv[]) -{ - using namespace __gnu_pbds::test; - typedef hash_set_tl_t map_tl_t; - - return rand_regression_test(ITERATIONS, KEYS, - "hash_no_data_map_rand_regression_test", - map_tl_t()); -} Index: testsuite/ext/pb_ds/regression/hash_data_map_rand.cc =================================================================== --- testsuite/ext/pb_ds/regression/hash_data_map_rand.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/hash_data_map_rand.cc (working copy) @@ -1,73 +0,0 @@ -// { dg-require-time "" } -// This can take long on simulators, timing out the test. -// { dg-options "-DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - - -// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL. - -// Permission to use, copy, modify, sell, and distribute this software -// is hereby granted without fee, provided that the above copyright -// notice appears in all copies, and that both that copyright notice -// and this permission notice appear in supporting documentation. None -// of the above authors, nor IBM Haifa Research Laboratories, make any -// representation about the suitability of this software for any -// purpose. It is provided "as is" without express or implied -// warranty. - -/** - * @file hash_data_map_rand_regression_test.cpp - * Contains a random-operation test for maps and sets. - */ - -#define PB_DS_REGRESSION - -#include -#include - -#ifndef ITERATIONS -# ifdef _GLIBCXX_DEBUG -# define ITERATIONS 100 -# else -# define ITERATIONS 5000 -#endif -#endif - -#ifndef KEYS -# ifdef _GLIBCXX_DEBUG -# define KEYS 200 -# else -# define KEYS 10000 -# endif -#endif - -int -main(int argc, char* a_p_argv[]) -{ - using namespace __gnu_pbds::test; - typedef hash_map_tl_t map_tl_t; - - return rand_regression_test(ITERATIONS, KEYS, - "hash_data_map_rand_regression_test", - map_tl_t()); -} - Index: testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc =================================================================== --- testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc (working copy) @@ -1,189 +0,0 @@ -// { dg-require-debug-mode "" } -// { dg-require-time "" } -// This can take long on simulators, timing out the test. -// { dg-options "-DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - -/** - * @file hash_data_map_rand.cc - * Contains a random-operation test for maps and sets, separated out. - */ - -#define PB_DS_REGRESSION -//#define PB_DS_REGRESSION_TRACE - -#include -#include -#include -#include - -#ifndef ITERATIONS -# define ITERATIONS 100 -#endif - -#ifndef KEYS -# define KEYS 200 -#endif - -// Debug version of the rand regression tests, based on hash_data_map_rand - -// 1 -// Simplify things by unrolling the typelist of the different -// container types into individual statements. -// -// Unroll the typelist represented by priority_queue_types, from -// regression/common_type.hpp. This is just a compile-time list of 5 -// hash tables, with different policies for the type of table -// (gp_hash, cc_hash), for the resize policies and probe functions. -using namespace __gnu_pbds::test::detail; -using namespace __gnu_pbds; -typedef __gnu_pbds::test::basic_type basic_type; -typedef __gnu_cxx::throw_allocator_random allocator_type; -typedef std::equal_to equal_type; - - -typedef __gnu_pbds::test::direct_mod_range_hashing_t_ - cprobe_type1; - -typedef __gnu_pbds::test::direct_mask_range_hashing_t_ - cprobe_type2; - - -typedef __gnu_pbds::test::quadratic_probe_fn_t_ - probe_type1; - -typedef __gnu_pbds::test::linear_probe_fn_t_ - probe_type2; - - -typedef __gnu_pbds::test::hash_load_check_resize_trigger_t_ - trigger_type1; - -typedef __gnu_pbds::test::hash_load_check_resize_trigger_t_ - trigger_type2; - -typedef __gnu_pbds::test::hash_load_check_resize_trigger_t_ - trigger_type3; - -typedef __gnu_pbds::test::cc_hash_max_collision_check_resize_trigger_t_ - trigger_type4; - -typedef __gnu_pbds::test::cc_hash_max_collision_check_resize_trigger_t_ - trigger_type5; - - -typedef hash_standard_resize_policy<__gnu_pbds::test::hash_prime_size_policy_t_, trigger_type1, false, unsigned long> resize_type1; - -typedef hash_standard_resize_policy<__gnu_pbds::test::hash_exponential_size_policy_t_, trigger_type2, true, unsigned long> - resize_type2; - -typedef hash_standard_resize_policy<__gnu_pbds::test::hash_exponential_size_policy_t_, trigger_type5, false, unsigned long> - resize_type3; - - - -// gp_hash 1 -typedef gp_hash_table - gp_hash_type1; - -// gp_hash 2 -typedef gp_hash_table - gp_hash_type2; - - -// cc_hash 1 -typedef cc_hash_table - cc_hash_type1; - -// cc_hash 2 -typedef cc_hash_table - cc_hash_type2; - -// cc_hash 3 -typedef cc_hash_table - cc_hash_type3; - -// 2 -// Specialize container_rand_regression_test for specific container -// type and test function. - -#ifdef SPECIALIZE -// For testing one specific container type. -typedef cc_hash_type1 test_type; - -void debug_break_here() { } - -namespace __gnu_pbds { - namespace test { - namespace detail { - - template<> - void - container_rand_regression_test::operator()() - { - } - } - } -} -#endif - -int -main() -{ - // Set up the test object. - size_t sd = 1303948889; - rand_reg_test test(sd, ITERATIONS, KEYS, 0.2, .6, .2, .001, .25, true); - - // 1 - // Determine the problem container, function that fails. - test(gp_hash_type1()); - test(gp_hash_type2()); - - test(cc_hash_type1()); - test(cc_hash_type2()); - test(cc_hash_type3()); - -#ifdef SPECIALIZE - // 2 - // With specified problem container set test_type typedef - // appropriately above. Then, specialize operator()(), also - // above. Finally, run this below. - using namespace std; - test_type obj; - test(obj); -#endif - - return 0; -} Index: testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc =================================================================== --- testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc (working copy) @@ -1,189 +0,0 @@ -// { dg-require-debug-mode "" } -// { dg-require-time "" } -// This can take long on simulators, timing out the test. -// { dg-options "-DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - -/** - * @file hash_data_map_rand.cc - * Contains a random-operation test for maps and sets, separated out. - */ - -#define PB_DS_REGRESSION -//#define PB_DS_REGRESSION_TRACE - -#include -#include -#include -#include - -#ifndef ITERATIONS -# define ITERATIONS 100 -#endif - -#ifndef KEYS -# define KEYS 200 -#endif - -// Debug version of the rand regression tests, based on hash_data_map_rand - -// 1 -// Simplify things by unrolling the typelist of the different -// container types into individual statements. -// -// Unroll the typelist represented by priority_queue_types, from -// regression/common_type.hpp. This is just a compile-time list of 5 -// hash tables, with different policies for the type of table -// (gp_hash, cc_hash), for the resize policies and probe functions. -using namespace __gnu_pbds::test::detail; -using namespace __gnu_pbds; -typedef __gnu_pbds::test::basic_type basic_type; -typedef __gnu_cxx::throw_allocator_random allocator_type; -typedef std::equal_to equal_type; - - -typedef __gnu_pbds::test::direct_mod_range_hashing_t_ - cprobe_type1; - -typedef __gnu_pbds::test::direct_mask_range_hashing_t_ - cprobe_type2; - - -typedef __gnu_pbds::test::quadratic_probe_fn_t_ - probe_type1; - -typedef __gnu_pbds::test::linear_probe_fn_t_ - probe_type2; - - -typedef __gnu_pbds::test::hash_load_check_resize_trigger_t_ - trigger_type1; - -typedef __gnu_pbds::test::hash_load_check_resize_trigger_t_ - trigger_type2; - -typedef __gnu_pbds::test::hash_load_check_resize_trigger_t_ - trigger_type3; - -typedef __gnu_pbds::test::cc_hash_max_collision_check_resize_trigger_t_ - trigger_type4; - -typedef __gnu_pbds::test::cc_hash_max_collision_check_resize_trigger_t_ - trigger_type5; - - -typedef hash_standard_resize_policy<__gnu_pbds::test::hash_prime_size_policy_t_, trigger_type1, false, unsigned long> resize_type1; - -typedef hash_standard_resize_policy<__gnu_pbds::test::hash_exponential_size_policy_t_, trigger_type2, true, unsigned long> - resize_type2; - -typedef hash_standard_resize_policy<__gnu_pbds::test::hash_exponential_size_policy_t_, trigger_type5, false, unsigned long> - resize_type3; - - - -// gp_hash 1 -typedef gp_hash_table - gp_hash_type1; - -// gp_hash 2 -typedef gp_hash_table - gp_hash_type2; - - -// cc_hash 1 -typedef cc_hash_table - cc_hash_type1; - -// cc_hash 2 -typedef cc_hash_table - cc_hash_type2; - -// cc_hash 3 -typedef cc_hash_table - cc_hash_type3; - -// 2 -// Specialize container_rand_regression_test for specific container -// type and test function. - -#ifdef SPECIALIZE -// For testing one specific container type. -typedef cc_hash_type1 test_type; - -void debug_break_here() { } - -namespace __gnu_pbds { - namespace test { - namespace detail { - - template<> - void - container_rand_regression_test::operator()() - { - } - } - } -} -#endif - -int -main() -{ - // Set up the test object. - size_t sd = 1303948889; - rand_reg_test test(sd, ITERATIONS, KEYS, 0.2, .6, .2, .001, .25, true); - - // 1 - // Determine the problem container, function that fails. - test(gp_hash_type1()); - test(gp_hash_type2()); - - test(cc_hash_type1()); - test(cc_hash_type2()); - test(cc_hash_type3()); - -#ifdef SPECIALIZE - // 2 - // With specified problem container set test_type typedef - // appropriately above. Then, specialize operator()(), also - // above. Finally, run this below. - using namespace std; - test_type obj; - test(obj); -#endif - - return 0; -} Index: testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc =================================================================== --- testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc (working copy) @@ -1,73 +0,0 @@ -// { dg-require-time "" } -// This can take long on simulators, timing out the test. -// { dg-options "-DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - - -// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL. - -// Permission to use, copy, modify, sell, and distribute this software -// is hereby granted without fee, provided that the above copyright -// notice appears in all copies, and that both that copyright notice -// and this permission notice appear in supporting documentation. None -// of the above authors, nor IBM Haifa Research Laboratories, make any -// representation about the suitability of this software for any -// purpose. It is provided "as is" without express or implied -// warranty. - -/** - * @file tree_no_data_map_rand_regression_test.cpp - * Contains a random-operation test for maps and sets. - */ - -#define PB_DS_REGRESSION - -#include -#include - - -#ifndef ITERATIONS -# ifdef _GLIBCXX_DEBUG -# define ITERATIONS 100 -# else -# define ITERATIONS 5000 -#endif -#endif - -#ifndef KEYS -# ifdef _GLIBCXX_DEBUG -# define KEYS 200 -# else -# define KEYS 10000 -# endif -#endif - -int -main(int argc, char* a_p_argv[]) -{ - using namespace __gnu_pbds::test; - typedef tree_set_tl_t map_tl_t; - - return rand_regression_test(ITERATIONS, KEYS, - "tree_no_data_map_rand_regression_test", - map_tl_t()); -} Index: testsuite/ext/pb_ds/regression/tree_data_map_rand.cc =================================================================== --- testsuite/ext/pb_ds/regression/tree_data_map_rand.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/tree_data_map_rand.cc (working copy) @@ -1,72 +0,0 @@ -// { dg-require-time "" } -// This can take long on simulators, timing out the test. -// { dg-options "-DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - - -// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL. - -// Permission to use, copy, modify, sell, and distribute this software -// is hereby granted without fee, provided that the above copyright -// notice appears in all copies, and that both that copyright notice -// and this permission notice appear in supporting documentation. None -// of the above authors, nor IBM Haifa Research Laboratories, make any -// representation about the suitability of this software for any -// purpose. It is provided "as is" without express or implied -// warranty. - -/** - * @file tree_data_map_rand_regression_test.cpp - * Contains a random-operation test for maps and sets. - */ - -#define PB_DS_REGRESSION - -#include -#include - -#ifndef ITERATIONS -# ifdef _GLIBCXX_DEBUG -# define ITERATIONS 100 -# else -# define ITERATIONS 5000 -#endif -#endif - -#ifndef KEYS -# ifdef _GLIBCXX_DEBUG -# define KEYS 200 -# else -# define KEYS 10000 -# endif -#endif - -int -main(int argc, char* a_p_argv[]) -{ - using namespace __gnu_pbds::test; - typedef tree_map_tl_t map_tl_t; - - return rand_regression_test(ITERATIONS, KEYS, - "tree_data_map_rand_regression_test", - map_tl_t()); -} Index: testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc =================================================================== --- testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc (revision 176612) +++ testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc (working copy) @@ -1,72 +0,0 @@ -// { dg-require-time "" } -// This can take long on simulators, timing out the test. -// { dg-options "-DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } - -// -*- C++ -*- - -// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License as published by the Free Software -// Foundation; either version 3, or (at your option) any later -// version. - -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with this library; see the file COPYING3. If not see -// . - - -// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL. - -// Permission to use, copy, modify, sell, and distribute this software -// is hereby granted without fee, provided that the above copyright -// notice appears in all copies, and that both that copyright notice -// and this permission notice appear in supporting documentation. None -// of the above authors, nor IBM Haifa Research Laboratories, make any -// representation about the suitability of this software for any -// purpose. It is provided "as is" without express or implied -// warranty. - -/** - * @file trie_no_data_map_rand_regression_test.cpp - * Contains a random-operation test for maps and sets. - */ - -#define PB_DS_REGRESSION - -#include -#include - -#ifndef ITERATIONS -# ifdef _GLIBCXX_DEBUG -# define ITERATIONS 100 -# else -# define ITERATIONS 5000 -#endif -#endif - -#ifndef KEYS -# ifdef _GLIBCXX_DEBUG -# define KEYS 200 -# else -# define KEYS 10000 -# endif -#endif - -int -main(int argc, char* a_p_argv[]) -{ - using namespace __gnu_pbds::test; - typedef trie_set_tl_t map_tl_t; - - return rand_regression_test(ITERATIONS, KEYS, - "trie_no_data_map_rand_regression_test", - map_tl_t()); -}