Beispiel #1
0
 def test_validate_dark_varying_exposure_and_expire_time(self):
     # extend case of test_qualified_dark. Iterate over different exposure_time and expire_time directly
     dark_scan_list, expire_time = [], 11.
     self.assertEqual(validate_dark(0.1, expire_time,dark_scan_list), None)
     time_now = time.time()
     dark_scan_list = []
     self.assertTrue(os.path.isfile(glbl.dk_yaml))
     for i in range(3):
         dark_def = (str(uuid.uuid1()), 0.1, time_now-1200+600*(i))
         dark_scan_list.append(dark_def)
     # should return None if no valid items are found
     expire_time = 0.
     light_cnt_time = 0.1
     self.assertEqual(validate_dark(light_cnt_time, expire_time,dark_scan_list), None)
     expire_time = 1000.
     light_cnt_time = 3.
     self.assertEqual(validate_dark(light_cnt_time, expire_time,dark_scan_list), None)
     # find the most recent one
     dark_uid = dark_scan_list[-1][0]
     light_cnt_time = 0.1
     expire_time = 11.
     self.assertEqual(validate_dark(light_cnt_time, expire_time,dark_scan_list), dark_uid)
     # should still find the most recent one, even though there is more than one valid one
     dark_uid = dark_scan_list[-1][0]
     expire_time = 22.
     self.assertEqual(validate_dark(light_cnt_time, expire_time,dark_scan_list), dark_uid)
     # now find one that is in time but lower down the list because it has a different count time
     for i in range(3):
         dark_def = (str(uuid.uuid1()), 0.1*(i+1), time_now-1200+600*(i))
         dark_scan_list.append(dark_def)
     test_list = copy.copy(dark_scan_list)
     dark_uid = dark_scan_list[-2][0]
     expire_time = 22.
     light_cnt_time = 0.2
     self.assertEqual(validate_dark(light_cnt_time, expire_time,dark_scan_list), dark_uid)
Beispiel #2
0
def _unittest_prun(sample,scan,**kwargs):
    '''on this 'sample' run this 'scan'

    this function doesn't control shutter nor trigger run engine. It is designed to test functionality

    Arguments:
    sample - sample metadata object
    scan - scan metadata object
    **kwargs - dictionary that will be passed through to the run-engine metadata
    '''
    scan.md.update({'xp_isprun':True})
    light_cnt_time = scan.md['sc_params']['exposure']
    expire_time = glbl.dk_window
    dark_field_uid = validate_dark(light_cnt_time, expire_time)
    if not dark_field_uid: dark_field_uid = 'can not find a qualified dark uid'
    scan.md['sc_params'].update({'dk_field_uid': dark_field_uid})
    scan.md['sc_params'].update({'dk_window':expire_time})
    return scan.md