def Run(self):
     return binary_search_state.Run(
         get_initial_items='./gen_init_list.py',
         switch_to_good='./switch_to_good.py',
         switch_to_bad='./switch_to_bad.py',
         test_script='./is_good.py',
         prune=True,
         file_args=True)
 def test_set_file(self):
     binary_search_state.Run(get_initial_items='./gen_init_list.py',
                             switch_to_good='./switch_to_good_set_file.py',
                             switch_to_bad='./switch_to_bad_set_file.py',
                             test_script='./is_good.py',
                             prune=True,
                             file_args=True,
                             verify=True)
     self.check_output()
 def test_bad_test_setup_script(self):
     with self.assertRaises(AssertionError):
         binary_search_state.Run(get_initial_items='./gen_init_list.py',
                                 switch_to_good='./switch_to_good.py',
                                 switch_to_bad='./switch_to_bad.py',
                                 test_script='./is_good.py',
                                 test_setup_script='./test_setup_bad.py',
                                 prune=True,
                                 file_args=True)
 def runTest(self):
     ret = binary_search_state.Run(get_initial_items='./gen_init_list.py',
                                   switch_to_good='./switch_to_good.py',
                                   switch_to_bad='./switch_to_bad.py',
                                   test_script='./is_good.py',
                                   prune=True,
                                   file_args=True)
     self.assertEquals(ret, 0)
     self.check_output()
    def test_test_setup_script(self):
        os.remove('./is_setup')
        with self.assertRaises(AssertionError):
            ret = binary_search_state.Run(
                get_initial_items='./gen_init_list.py',
                switch_to_good='./switch_to_good.py',
                switch_to_bad='./switch_to_bad.py',
                test_script='./is_good.py',
                prune=True,
                file_args=True)

        ret = binary_search_state.Run(get_initial_items='./gen_init_list.py',
                                      switch_to_good='./switch_to_good.py',
                                      switch_to_bad='./switch_to_bad.py',
                                      test_script='./is_good.py',
                                      test_setup_script='./test_setup.py',
                                      prune=True,
                                      file_args=True)
        self.assertEquals(ret, 0)
        self.check_output()
 def test_every_obj_bad(self):
     amt = 25
     gen_obj.Main(['--obj_num', str(amt), '--bad_obj_num', str(amt)])
     ret = binary_search_state.Run(get_initial_items='./gen_init_list.py',
                                   switch_to_good='./switch_to_good.py',
                                   switch_to_bad='./switch_to_bad.py',
                                   test_script='./is_good.py',
                                   prune=True,
                                   file_args=True,
                                   verify=False)
     self.assertEquals(ret, 0)
     self.check_output()
 def test_noincremental_prune(self):
     ret = binary_search_state.Run(
         get_initial_items='./gen_init_list.py',
         switch_to_good='./switch_to_good_noinc_prune.py',
         switch_to_bad='./switch_to_bad_noinc_prune.py',
         test_script='./is_good_noinc_prune.py',
         test_setup_script='./test_setup.py',
         prune=True,
         noincremental=True,
         file_args=True,
         verify=False)
     self.assertEquals(ret, 0)
     self.check_output()
 def test_every_index_is_bad(self):
     amt = 25
     for i in range(amt):
         obj_list = ['0'] * amt
         obj_list[i] = '1'
         obj_list = ','.join(obj_list)
         gen_obj.Main(['--obj_list', obj_list])
         ret = binary_search_state.Run(
             get_initial_items='./gen_init_list.py',
             switch_to_good='./switch_to_good.py',
             switch_to_bad='./switch_to_bad.py',
             test_setup_script='./test_setup.py',
             test_script='./is_good.py',
             prune=True,
             file_args=True)
         self.assertEquals(ret, 0)
         self.check_output()