Exemplo n.º 1
0
def test_Worker_init():
    '''
  Worker object initialization
  '''
    outputConfig = NormalRateConfig
    sv0 = GPSSatellite(1)
    sv0.setL1CAEnabled(True)
    signalSources = [sv0]
    noiseParams = NoiseParameters(outputConfig.SAMPLE_RATE_HZ, 1.)
    tcxo = None
    signalFilters = [None] * 4
    groupDelays = False
    bands = [outputConfig.GPS.L1]
    generateDebug = False

    worker = Worker(outputConfig, signalSources, noiseParams, tcxo,
                    signalFilters, groupDelays, bands, generateDebug)
    assert worker.totalWaitTime_s == 0.
    assert worker.totalExecTime_s == 0.
    assert worker.outputConfig == outputConfig
    assert worker.signalSources == signalSources
    assert worker.noiseParams == noiseParams
    assert worker.tcxo == tcxo
    assert worker.signalFilters == signalFilters
    assert worker.groupDelays == groupDelays
    assert worker.bands == bands
    assert worker.generateDebug == generateDebug
Exemplo n.º 2
0
def test_Task_runOnce0():
  '''
  Worker object loop cycle test
  '''
  class MyQueue(object):

    def __init__(self):
      self.queue = []

    def get(self):
      return self.queue.pop(0)

    def put(self, obj):
      return self.queue.append(obj)

  outputConfig = NormalRateConfig
  sv0 = GPSSatellite(1)
  sv0.setL1CAEnabled(True)
  signalSources = [sv0]
  noiseParams = NoiseParameters(outputConfig.SAMPLE_RATE_HZ, 1.)
  tcxo = None
  signalFilters = [None] * 4
  groupDelays = False
  bands = [outputConfig.GPS.L1]
  generateDebug = False

  worker = Worker(outputConfig,
                  signalSources,
                  noiseParams,
                  tcxo,
                  signalFilters,
                  groupDelays,
                  bands,
                  generateDebug)
  # worker.start()
  worker.queueIn = MyQueue()
  worker.queueOut = MyQueue()
  nSamples = 1024
  userTime0_s = 0.
  firstSampleIndex = 1l
  params = (userTime0_s, nSamples, firstSampleIndex)
  worker.queueIn.put(params)
  task = worker.createTask()
  worker.run_once(task)
  result = worker.queueOut.get()
  (inputParams, signalSamples, debugData) = result
  assert inputParams[0] == userTime0_s
  assert inputParams[1] == nSamples
  assert inputParams[2] == firstSampleIndex
  assert debugData is None
  assert signalSamples.shape == (outputConfig.N_GROUPS, nSamples)
  worker.queueIn.put(None)
  worker.run_once(task)
  worker.queueOut.get()
Exemplo n.º 3
0
def test_Task_runOnce0():
    '''
  Worker object loop cycle test
  '''
    class MyQueue(object):
        def __init__(self):
            self.queue = []

        def get(self):
            return self.queue.pop(0)

        def put(self, obj):
            return self.queue.append(obj)

    outputConfig = NormalRateConfig
    sv0 = GPSSatellite(1)
    sv0.setL1CAEnabled(True)
    signalSources = [sv0]
    noiseParams = NoiseParameters(outputConfig.SAMPLE_RATE_HZ, 1.)
    tcxo = None
    signalFilters = [None] * 4
    groupDelays = False
    bands = [outputConfig.GPS.L1]
    generateDebug = False

    worker = Worker(outputConfig, signalSources, noiseParams, tcxo,
                    signalFilters, groupDelays, bands, generateDebug)
    # worker.start()
    worker.queueIn = MyQueue()
    worker.queueOut = MyQueue()
    nSamples = 1024
    userTime0_s = 0.
    firstSampleIndex = 1l
    params = (userTime0_s, nSamples, firstSampleIndex)
    worker.queueIn.put(params)
    task = worker.createTask()
    worker.run_once(task)
    result = worker.queueOut.get()
    (inputParams, signalSamples, debugData) = result
    assert inputParams[0] == userTime0_s
    assert inputParams[1] == nSamples
    assert inputParams[2] == firstSampleIndex
    assert debugData is None
    assert signalSamples.shape == (outputConfig.N_GROUPS, nSamples)
    worker.queueIn.put(None)
    worker.run_once(task)
    worker.queueOut.get()
Exemplo n.º 4
0
def test_Task_runOnce1():
  '''
  Worker object loop cycle test. This test verifies error handling during
  data generation.
  '''
  class MyQueue(object):

    def __init__(self):
      self.queue = []

    def get(self):
      return self.queue.pop(0)

    def put(self, obj):
      return self.queue.append(obj)

  outputConfig = NormalRateConfig
  # Wrong SV object to ensure the error is encountered
  sv0 = Satellite('1')
  signalSources = [sv0]
  noiseParams = NoiseParameters(outputConfig.SAMPLE_RATE_HZ, 1.)
  tcxo = None
  signalFilters = [None] * 4
  groupDelays = False
  bands = [outputConfig.GPS.L1]
  generateDebug = False

  worker = Worker(outputConfig,
                  signalSources,
                  noiseParams,
                  tcxo,
                  signalFilters,
                  groupDelays,
                  bands,
                  generateDebug)
  # worker.start()
  worker.queueIn = MyQueue()
  worker.queueOut = MyQueue()
  nSamples = 1024
  userTime0_s = 0.
  firstSampleIndex = 1l
  params = (userTime0_s, nSamples, firstSampleIndex)
  worker.queueIn.put(params)
  task = worker.createTask()
  worker.run_once(task)
  result = worker.queueOut.get()
  # result is None because the run_once() catches an error during SV method
  # invocation
  assert result is None
Exemplo n.º 5
0
def test_Task_runOnce1():
    '''
  Worker object loop cycle test. This test verifies error handling during
  data generation.
  '''
    class MyQueue(object):
        def __init__(self):
            self.queue = []

        def get(self):
            return self.queue.pop(0)

        def put(self, obj):
            return self.queue.append(obj)

    outputConfig = NormalRateConfig
    # Wrong SV object to ensure the error is encountered
    sv0 = Satellite('1')
    signalSources = [sv0]
    noiseParams = NoiseParameters(outputConfig.SAMPLE_RATE_HZ, 1.)
    tcxo = None
    signalFilters = [None] * 4
    groupDelays = False
    bands = [outputConfig.GPS.L1]
    generateDebug = False

    worker = Worker(outputConfig, signalSources, noiseParams, tcxo,
                    signalFilters, groupDelays, bands, generateDebug)
    # worker.start()
    worker.queueIn = MyQueue()
    worker.queueOut = MyQueue()
    nSamples = 1024
    userTime0_s = 0.
    firstSampleIndex = 1l
    params = (userTime0_s, nSamples, firstSampleIndex)
    worker.queueIn.put(params)
    task = worker.createTask()
    worker.run_once(task)
    result = worker.queueOut.get()
    # result is None because the run_once() catches an error during SV method
    # invocation
    assert result is None