[Aptitude-svn-commit] r3961 - in branches/aptitude-0.3/aptitude: . tests

Daniel Burrows dburrows at costa.debian.org
Fri Aug 26 00:31:30 UTC 2005


Author: dburrows
Date: Fri Aug 26 00:31:21 2005
New Revision: 3961

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/tests/test_apt_universe.cc
Log:
Verify that only interesting dependencies are produced when iterating over
the abstract package system structures.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Fri Aug 26 00:31:21 2005
@@ -1,5 +1,10 @@
 2005-08-25  Daniel Burrows  <dburrows at debian.org>
 
+	* tests/test_apt_universe.cc:
+
+	  Add a tester to verify that only interesting dependencies are
+	  produced by the various dependency iterators.
+
 	* src/generic/aptitude_resolver_universe.cc:
 
 	  Give in and strictly conform to the providedness rule (i.e.,

Modified: branches/aptitude-0.3/aptitude/tests/test_apt_universe.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/tests/test_apt_universe.cc	(original)
+++ branches/aptitude-0.3/aptitude/tests/test_apt_universe.cc	Fri Aug 26 00:31:21 2005
@@ -32,6 +32,7 @@
   CPPUNIT_TEST_SUITE(AptUniverseTest);
 
   CPPUNIT_TEST(testSolves);
+  CPPUNIT_TEST(testInteresting);
   CPPUNIT_TEST(testReverseConnectivity);
 
   CPPUNIT_TEST_SUITE_END();
@@ -187,6 +188,53 @@
       }
   }
 
+  // Ensure that all dependencies in the world really are interesting.
+  void testInteresting()
+  {
+    aptitude_universe u(*apt_cache_file);
+
+    for(aptitude_universe::dep_iterator di = u.deps_begin();
+	!di.end(); ++di)
+      {
+	if(!is_interesting_dep((*di).get_dep(), *apt_cache_file))
+	  {
+	    std::ostringstream out;
+
+	    out << *di << " is uninteresting but is in the global dep list.";
+
+	    CPPUNIT_FAIL(out.str());
+	  }
+      }
+
+    for(aptitude_universe::package_iterator pi
+	  = u.packages_begin(); !pi.end(); ++pi)
+      for(aptitude_universe::package::version_iterator vi
+	    = (*pi).versions_begin(); !vi.end(); ++vi)
+	{
+	  for(aptitude_universe::version::dep_iterator di
+		= (*vi).deps_begin(); !di.end(); ++di)
+	    if(!is_interesting_dep((*di).get_dep(), *apt_cache_file))
+	      {
+		std::ostringstream out;
+
+		out << *di << " is uninteresting but is in the dep list for " << (*pi).get_name() << " " << (*vi).get_name();
+
+		CPPUNIT_FAIL(out.str());
+	      }
+
+	  for(aptitude_universe::version::revdep_iterator rdi
+		= (*vi).revdeps_begin(); !rdi.end(); ++rdi)
+	    if(!is_interesting_dep((*rdi).get_dep(), *apt_cache_file))
+	      {
+		std::ostringstream out;
+
+		out << *rdi << " is uninteresting but is in the reverse dep list for " << (*pi).get_name() << " " << (*vi).get_name();
+
+		CPPUNIT_FAIL(out.str());
+	      }
+	}
+  }
+
   void testReverseConnectivity()
   {
     CPPUNIT_ASSERT(apt_cache_file != NULL);



More information about the Aptitude-svn-commit mailing list