PageRenderTime 26ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/libstdc++-v3/doc/html/ext/pb_ds/assoc_regression_tests.html

https://bitbucket.org/pizzafactory/pf-gcc
HTML | 93 lines | 73 code | 20 blank | 0 comment | 0 complexity | 57055d1e9d5b755e66a76301656e485f MD5 | raw file
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <meta name="generator" content=
  6. "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
  7. <title>Associative-Container Regression Tests</title>
  8. <meta http-equiv="Content-Type" content=
  9. "text/html; charset=us-ascii" />
  10. <base href="http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/testsuite/ext/pb_ds/regression/">
  11. </head>
  12. <body>
  13. <div id="page">
  14. <h1>Associative-Container Regression Tests</h1>
  15. <h2><a name="assoc_desc" id="assoc_desc">Description</a></h2>
  16. <p>The library contains a single comprehensive regression test.
  17. For a given container type in <tt>pb_ds</tt>, the test creates
  18. an object of the container type and an object of the
  19. corresponding STL type (<i>e.g.</i>, <tt>std::set</tt>). It
  20. then performs a random sequence of methods with random
  21. arguments (<i>e.g.</i>, inserts, erases, and so forth) on both
  22. objects. At each operation, the test checks the return value of
  23. the method, and optionally both compares <tt>pb_ds</tt>'s
  24. object with the STL's object as well as performing other
  25. consistency checks on <tt>pb_ds</tt>'s object (<i>e.g.</i>,
  26. order preservation, when applicable, or node invariants, when
  27. applicable).</p>
  28. <p>Additionally, the test integrally checks exception safety
  29. and resource leaks. This is done as follows. A special
  30. allocator type, written for the purpose of the test, both
  31. randomly throws an exceptions when allocations are performed,
  32. and tracks allocations and de-allocations. The exceptions thrown
  33. at allocations simulate memory-allocation failures; the
  34. tracking mechanism checks for memory-related bugs (<i>e.g.</i>,
  35. resource leaks and multiple de-allocations). Both
  36. <tt>pb_ds</tt>'s containers and the containers' value-types are
  37. configured to use this allocator.</p>
  38. <p>Due to compiler constraints, the test is split into the
  39. several sources, each checking only some containers.</p>
  40. <h2><a name="assoc_tests" id="assoc_tests">Tests</a></h2>
  41. <h3><a name="assoc_tests_set" id="assoc_tests_set">"Set"
  42. Tests</a></h3>
  43. <p>The following check all "set" types:</p>
  44. <ol>
  45. <li><a href=
  46. "hash_no_data_map_rand.cc"><tt>hash_no_data_map_rand.cc</tt></a>
  47. checks all hash-based "set" types.</li>
  48. <li><a href=
  49. "list_update_no_data_map_rand.cc"><tt>list_update_no_data_map_rand.cc</tt></a>
  50. checks all list-based "set" types.</li>
  51. <li><a href=
  52. "tree_no_data_map_rand.cc"><tt>tree_no_data_map_rand.cc</tt></a>
  53. checks all tree-based "set" types.</li>
  54. <li><a href=
  55. "trie_no_data_map_rand.cc"><tt>trie_no_data_map_rand.cc</tt></a>
  56. checks all PATRICIA-trie-based "set" types.</li>
  57. </ol>
  58. <h3><a name="assoc_tests_map" id="assoc_tests_map">"Map"
  59. Tests</a></h3>
  60. <p>The following check all "map" types:</p>
  61. <ol>
  62. <li><a href= "hash_data_map_rand.cc"><tt>hash_data_map_rand.cc</tt></a>
  63. checks all hash-based "map" types.</li>
  64. <li><a href= "list_update_data_map_rand.cc"><tt>list_update_data_map_rand.cc</tt></a>
  65. checks all list-based "map" types.</li>
  66. <li><a href= "tree_data_map_rand.cc"><tt>tree_data_map_rand.cc</tt></a>
  67. checks all tree-based "map" types.</li>
  68. <li><a href= "trie_data_map_rand.cc"><tt>trie_data_map_rand.cc</tt></a>
  69. checks all PATRICIA-trie-based "map" types.</li>
  70. </ol>
  71. </div>
  72. </body>
  73. </html>