      for use_qcom, logs in zip([True, False], [self.logs_qcom, self.logs], strict=True):
        laikad = Laikad(auto_update=True, valid_ephem_types=EphemerisType.NAV, use_qcom=use_qcom)
        # Disable fetch_orbits to test NAV only
        correct_msgs = verify_messages(logs, laikad)
        correct_msgs_expected = 55 if use_qcom else 560
        valid_fix_expected = 55 if use_qcom else 560
  
        self.assertEqual(correct_msgs_expected, len(correct_msgs))
        self.assertEqual(valid_fix_expected, len([m for m in correct_msgs if m.gnssMeasurements.positionECEF.valid]))
  
    @mock.patch('laika.downloader.download_and_cache_file')
 
</s> remove         self.qcom_reports = [gnss_msg]
 </s> add         self.qcom_reports = [report] </s> remove     if name == "gnssMeasurements":
      msg.gnssMeasurements.measTime = t
      msg.gnssMeasurements.positionECEF.value = [self.x , self.y, self.z]
      msg.gnssMeasurements.positionECEF.std = [0,0,0]
      msg.gnssMeasurements.positionECEF.valid = True
      msg.gnssMeasurements.velocityECEF.value = []
      msg.gnssMeasurements.velocityECEF.std = [0,0,0]
      msg.gnssMeasurements.velocityECEF.valid = True
 </s> add     if name == "gpsLocationExternal":
      msg.gpsLocationExternal.flags = 1
      msg.gpsLocationExternal.verticalAccuracy = 1.0
      msg.gpsLocationExternal.speedAccuracy = 1.0
      msg.gpsLocationExternal.bearingAccuracyDeg = 1.0
      msg.gpsLocationExternal.vNED = [0.0, 0.0, 0.0]
      msg.gpsLocationExternal.latitude = float(self.lat)
      msg.gpsLocationExternal.longitude = float(self.lon)
      msg.gpsLocationExternal.unixTimestampMillis = t * 1e6
      msg.gpsLocationExternal.altitude = float(self.alt)
    #if name == "gnssMeasurements":
    #  msg.gnssMeasurements.measTime = t
    #  msg.gnssMeasurements.positionECEF.value = [self.x , self.y, self.z]
    #  msg.gnssMeasurements.positionECEF.std = [0,0,0]
    #  msg.gnssMeasurements.positionECEF.valid = True
    #  msg.gnssMeasurements.velocityECEF.value = []
    #  msg.gnssMeasurements.velocityECEF.std = [0,0,0]
    #  msg.gnssMeasurements.velocityECEF.valid = True
      correct_msgs_expected = 56 if use_qcom else 560
      valid_fix_expected = 56 if use_qcom else 560
      for use_qcom, logs in zip([True, False], [self.logs_qcom, self.logs], strict=True):
        laikad = Laikad(auto_update=True, valid_ephem_types=EphemerisType.NAV, use_qcom=use_qcom)
        # Disable fetch_orbits to test NAV only
        correct_msgs = verify_messages(logs, laikad)
      correct_msgs_expected = 56 if use_qcom else 560
      valid_fix_expected = 56 if use_qcom else 560
      correct_msgs_expected = 56 if use_qcom else 560
      valid_fix_expected = 56 if use_qcom else 560
  
        self.assertEqual(correct_msgs_expected, len(correct_msgs))
        self.assertEqual(valid_fix_expected, len([m for m in correct_msgs if m.gnssMeasurements.positionECEF.valid]))
  
    @mock.patch('laika.downloader.download_and_cache_file')
keep keep keep keep replace replace keep keep keep keep keep
 Revert laikad llk (#29535)

* Revert "bump laika (#29522)"

This reverts commit 3523bef732316b534de66dcb9e7d29e53e37e99f.

* Revert "Locationd: switch to laikad (#29278)"

This reverts commit fd3b8a3d7511ad3d7c5aa0b82a1e2c28505e5a7f. 
selfdrive/locationd/test/test_laikad.py