Пример #1
0
 def test_filemanager_update_remote_yes_sta(self):
     """
     run filemanager setup and populate, then run update_remote_status on a directory
     that has been short term archived
     """
     """ 
     ############### SETUP  #################
     """
     print '\n'
     print_message(
         '---- Starting Test: {} ----'.format(inspect.stack()[0][3]), 'ok')
     sta = True
     types = [
         'atm', 'ice', 'ocn', 'rest', 'streams.ocean', 'streams.cice',
         'mpas-o_in', 'mpas-cice_in', 'meridionalHeatTransport'
     ]
     database = '{}.db'.format(inspect.stack()[0][3])
     simstart = 51
     source_path = '/global/cscratch1/sd/golaz/ACME_simulations/20180215.DECKv1b_1pctCO2.ne30_oEC.edison'
     simend = 60
     experiment = '20180215.DECKv1b_1pctCO2.ne30_oEC.edison'
     mutex = threading.Lock()
     """ 
     ###############   TEST  #################
     """
     filemanager = FileManager(event_list=EventList(),
                               mutex=mutex,
                               sta=sta,
                               types=types,
                               database=database,
                               remote_endpoint=self.remote_endpoint,
                               remote_path=source_path,
                               local_endpoint=self.local_endpoint,
                               local_path=self.local_path,
                               experiment=self.experiment)
     filemanager.populate_file_list(simstart=simstart,
                                    simend=simend,
                                    experiment=experiment)
     client = get_client()
     filemanager.update_remote_status(client)
     filemanager.mutex.acquire()
     for datafile in DataFile.select():
         if datafile.remote_status != 0:
             print datafile.name, datafile.remote_path
         self.assertEqual(datafile.remote_status, 0)
     if filemanager.mutex.locked():
         filemanager.mutex.release()
     self.assertTrue(filemanager.all_data_remote())
     """ 
     ##############  CLEANUP  ###############
     """
     os.remove(database)
Пример #2
0
    def test_filemanager_update_remote_no_sta(self):
        """
        run filemanager setup and populate, then run update_remote_status 
        with 10 years of atm output, and finally run all_data_remote to show that
        all the remote data has been recognized
        """
        """ 
        #############   SETUP   ##################
        """
        print '\n'
        print_message(
            '---- Starting Test: {} ----'.format(inspect.stack()[0][3]), 'ok')
        remote_path = '/global/homes/r/renata/ACME_simulations/20170926.FCT2.A_WCYCL1850S.ne30_oECv3.anvil'
        sta = False
        types = ['atm']
        database = '{}.db'.format(inspect.stack()[0][3])
        simstart = 51
        simend = 60
        experiment = '20170926.FCT2.A_WCYCL1850S.ne30_oECv3.anvil'
        mutex = threading.Lock()
        """ 
        ################  TEST  ##################
        """
        filemanager = FileManager(event_list=EventList(),
                                  mutex=mutex,
                                  sta=False,
                                  types=types,
                                  database=database,
                                  remote_endpoint=self.remote_endpoint,
                                  remote_path=remote_path,
                                  local_endpoint=self.local_endpoint,
                                  local_path=self.local_path,
                                  experiment=experiment)
        filemanager.populate_file_list(simstart=simstart,
                                       simend=simend,
                                       experiment=experiment)

        client = get_client()
        filemanager.update_remote_status(client)

        filemanager.mutex.acquire()
        for datafile in DataFile.select():
            if datafile.remote_status != 0:
                print datafile.name, datafile.remote_path, datafile.remote_status, datafile.datatype
            self.assertEqual(datafile.remote_status, 0)
        if filemanager.mutex.locked():
            filemanager.mutex.release()
        self.assertTrue(filemanager.all_data_remote())
        """ 
        ##############  CLEANUP  ###############
        """
        os.remove(database)