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
src/data.py
... ... @@ -129,13 +129,14 @@ class PopconXapianIndex(xapian.WritableDatabase):
129 129 """
130 130 self.axi = xapian.Database(cfg.axi)
131 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 134 if not os.path.exists(cfg.popcon_dir):
134 135 os.makedirs(cfg.popcon_dir)
135 136 if not os.listdir(cfg.popcon_dir):
136 137 logging.critical("Popcon dir seems to be empty.")
137 138 raise Error
138   - if not cfg.clustering:
  139 + if cfg.index_mode == "10":
139 140 self.source_dir = os.path.expanduser(cfg.popcon_dir)
140 141 else:
141 142 self.source_dir = os.path.expanduser(cfg.clusters_dir)
... ...
src/tests/data_tests.py
... ... @@ -56,41 +56,28 @@ class PopconXapianIndexTests(unittest2.TestCase):
56 56 self.cfg.popcon_index = "test_data/.sample_pxi"
57 57 self.cfg.popcon_dir = "test_data/popcon_dir"
58 58 self.cfg.clusters_dir = "test_data/clusters_dir"
  59 + # build old index for all tests
59 60 shutil.rmtree(self.cfg.popcon_index,1)
60 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 63 pxi = PopconXapianIndex(self.cfg)
65 64 self.assertEqual(pxi.get_metadata("old"),"")
66 65 pxi.set_metadata("old","true")
67   - pxi.close()
  66 +
  67 + def test_load(self):
68 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 72 def test_reindex(self):
  73 + # force reindex with no clustering
  74 + self.cfg.index_mode = "10"
73 75 pxi = PopconXapianIndex(self.cfg)
74 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 78 def test_clustering(self):
93   - self.cfg.clustering = 1
  79 + # force reindex with clustering
  80 + self.cfg.index_mode = "11"
94 81 pxi = PopconXapianIndex(self.cfg)
95 82 self.assertEqual(pxi.source_dir,self.cfg.clusters_dir)
96 83 all_submissions = [submissions for (root, dirs, submissions) in
... ...