1*2abb3134SXin Li#!/usr/bin/python -S 2*2abb3134SXin Li""" 3*2abb3134SXin Litask_spec_test.py: Tests for task_spec.py 4*2abb3134SXin Li""" 5*2abb3134SXin Li 6*2abb3134SXin Liimport cStringIO 7*2abb3134SXin Liimport unittest 8*2abb3134SXin Li 9*2abb3134SXin Liimport task_spec # module under test 10*2abb3134SXin Li 11*2abb3134SXin Li 12*2abb3134SXin Liclass TaskSpecTest(unittest.TestCase): 13*2abb3134SXin Li 14*2abb3134SXin Li def testCountReports(self): 15*2abb3134SXin Li f = cStringIO.StringIO("""\ 16*2abb3134SXin Li1,2 17*2abb3134SXin Li3,4 18*2abb3134SXin Li5,6 19*2abb3134SXin Li""") 20*2abb3134SXin Li c = task_spec.CountReports(f) 21*2abb3134SXin Li self.assertEqual(9, c) 22*2abb3134SXin Li 23*2abb3134SXin Li def testDist(self): 24*2abb3134SXin Li # NOTE: These files are opened, in order to count the reports. Maybe skip 25*2abb3134SXin Li # that step. 26*2abb3134SXin Li f = cStringIO.StringIO("""\ 27*2abb3134SXin Li_tmp/counts/2015-12-01/exp_counts.csv 28*2abb3134SXin Li_tmp/counts/2015-12-01/gauss_counts.csv 29*2abb3134SXin Li_tmp/counts/2015-12-02/exp_counts.csv 30*2abb3134SXin Li_tmp/counts/2015-12-02/gauss_counts.csv 31*2abb3134SXin Li""") 32*2abb3134SXin Li input_iter = task_spec.DistInputIter(f) 33*2abb3134SXin Li #for row in input_iter: 34*2abb3134SXin Li # print row 35*2abb3134SXin Li 36*2abb3134SXin Li field_id_lookup = {} 37*2abb3134SXin Li 38*2abb3134SXin Li # var name -> map filename 39*2abb3134SXin Li f = cStringIO.StringIO("""\ 40*2abb3134SXin Livar,map_filename 41*2abb3134SXin Liexp,map.csv 42*2abb3134SXin Liunif,map.csv 43*2abb3134SXin Ligauss,map.csv 44*2abb3134SXin Li""") 45*2abb3134SXin Li dist_maps = task_spec.DistMapLookup(f, '_tmp/maps') 46*2abb3134SXin Li 47*2abb3134SXin Li f2 = cStringIO.StringIO("""\ 48*2abb3134SXin Limetric,var,var_type,params 49*2abb3134SXin Liexp,,string,params 50*2abb3134SXin Liunif,,string,params 51*2abb3134SXin Ligauss,,string,params 52*2abb3134SXin Li""") 53*2abb3134SXin Li var_schema = task_spec.VarSchema(f2, '_tmp/config') 54*2abb3134SXin Li 55*2abb3134SXin Li for row in task_spec.DistTaskSpec( 56*2abb3134SXin Li input_iter, field_id_lookup, var_schema, dist_maps, None): 57*2abb3134SXin Li print row 58*2abb3134SXin Li 59*2abb3134SXin Li 60*2abb3134SXin Liif __name__ == '__main__': 61*2abb3134SXin Li unittest.main() 62