Commit da1347096c125a6234371587f73eba45e9098266

Authored by Tássia Camões Araújo
1 parent c6a519ea
Exists in master and in 1 other branch add_vagrant

Updated PopconXapianIndex and its tests to deal with new index_mode option. Chan…

…ges on tests avoid using xapian.Database.close() which is is not available in old versions of the lib.
Showing 2 changed files with 13 additions and 25 deletions   Show diff stats
@@ -129,13 +129,14 @@ class PopconXapianIndex(xapian.WritableDatabase): @@ -129,13 +129,14 @@ class PopconXapianIndex(xapian.WritableDatabase):
129 """ 129 """
130 self.axi = xapian.Database(cfg.axi) 130 self.axi = xapian.Database(cfg.axi)
131 self.path = os.path.expanduser(cfg.popcon_index) 131 self.path = os.path.expanduser(cfg.popcon_index)
132 - if reindex or not self.load_index(): 132 + self.source_dir = cfg.popcon_dir
  133 + if cfg.index_mode.startswith("1") or not self.load_index():
133 if not os.path.exists(cfg.popcon_dir): 134 if not os.path.exists(cfg.popcon_dir):
134 os.makedirs(cfg.popcon_dir) 135 os.makedirs(cfg.popcon_dir)
135 if not os.listdir(cfg.popcon_dir): 136 if not os.listdir(cfg.popcon_dir):
136 logging.critical("Popcon dir seems to be empty.") 137 logging.critical("Popcon dir seems to be empty.")
137 raise Error 138 raise Error
138 - if not cfg.clustering: 139 + if cfg.index_mode == "10":
139 self.source_dir = os.path.expanduser(cfg.popcon_dir) 140 self.source_dir = os.path.expanduser(cfg.popcon_dir)
140 else: 141 else:
141 self.source_dir = os.path.expanduser(cfg.clusters_dir) 142 self.source_dir = os.path.expanduser(cfg.clusters_dir)
src/tests/data_tests.py
@@ -56,41 +56,28 @@ class PopconXapianIndexTests(unittest2.TestCase): @@ -56,41 +56,28 @@ class PopconXapianIndexTests(unittest2.TestCase):
56 self.cfg.popcon_index = "test_data/.sample_pxi" 56 self.cfg.popcon_index = "test_data/.sample_pxi"
57 self.cfg.popcon_dir = "test_data/popcon_dir" 57 self.cfg.popcon_dir = "test_data/popcon_dir"
58 self.cfg.clusters_dir = "test_data/clusters_dir" 58 self.cfg.clusters_dir = "test_data/clusters_dir"
  59 + # build old index for all tests
59 shutil.rmtree(self.cfg.popcon_index,1) 60 shutil.rmtree(self.cfg.popcon_index,1)
60 self.assertFalse(os.path.exists(self.cfg.popcon_index)) 61 self.assertFalse(os.path.exists(self.cfg.popcon_index))
61 -  
62 - def test_build_load(self):  
63 - # try to load, but index does not exist 62 + # local variable, index will be closed before test
64 pxi = PopconXapianIndex(self.cfg) 63 pxi = PopconXapianIndex(self.cfg)
65 self.assertEqual(pxi.get_metadata("old"),"") 64 self.assertEqual(pxi.get_metadata("old"),"")
66 pxi.set_metadata("old","true") 65 pxi.set_metadata("old","true")
67 - pxi.close() 66 +
  67 + def test_load(self):
68 # load the previously built index 68 # load the previously built index
69 - new_pxi = PopconXapianIndex(self.cfg)  
70 - self.assertEqual(new_pxi.get_metadata("old"),"true") 69 + pxi = PopconXapianIndex(self.cfg)
  70 + self.assertEqual(pxi.get_metadata("old"),"true")
71 71
72 def test_reindex(self): 72 def test_reindex(self):
  73 + # force reindex with no clustering
  74 + self.cfg.index_mode = "10"
73 pxi = PopconXapianIndex(self.cfg) 75 pxi = PopconXapianIndex(self.cfg)
74 self.assertEqual(pxi.get_metadata("old"),"") 76 self.assertEqual(pxi.get_metadata("old"),"")
75 - pxi.set_metadata("old","true")  
76 - pxi.close()  
77 - # force reindex  
78 - reindex = 1  
79 - new_pxi = PopconXapianIndex(self.cfg,reindex,0)  
80 - self.assertEqual(new_pxi.get_metadata("old"),"")  
81 -  
82 - def test_no_clustering(self):  
83 - self.cfg.clustering = 0  
84 - pxi = PopconXapianIndex(self.cfg)  
85 - self.assertEqual(pxi.source_dir,self.cfg.popcon_dir)  
86 - all_submissions = [submissions for (root, dirs, submissions) in  
87 - os.walk(pxi.source_dir)]  
88 - self.assertEqual(pxi.get_doccount(),  
89 - sum([len(submissions) for submissions in  
90 - all_submissions]))  
91 77
92 def test_clustering(self): 78 def test_clustering(self):
93 - self.cfg.clustering = 1 79 + # force reindex with clustering
  80 + self.cfg.index_mode = "11"
94 pxi = PopconXapianIndex(self.cfg) 81 pxi = PopconXapianIndex(self.cfg)
95 self.assertEqual(pxi.source_dir,self.cfg.clusters_dir) 82 self.assertEqual(pxi.source_dir,self.cfg.clusters_dir)
96 all_submissions = [submissions for (root, dirs, submissions) in 83 all_submissions = [submissions for (root, dirs, submissions) in