Minor fixes on VTS tests
- call startSvStatus()/startNmea() before calling start(). This will
avoid missing the first SvStatus
- in TestGnssSvInfoFieldsTest, avoid calling list::back() if the list is
empty.
Bug: 235062809
Test: atest VtsHalGnssTargetTest
Change-Id: I612d42e23085dbb0b32da328869bfd443ee66362
diff --git a/gnss/aidl/vts/gnss_hal_test.cpp b/gnss/aidl/vts/gnss_hal_test.cpp
index 407ac0c..0e1218e 100644
--- a/gnss/aidl/vts/gnss_hal_test.cpp
+++ b/gnss/aidl/vts/gnss_hal_test.cpp
@@ -141,18 +141,18 @@
}
SetPositionMode(min_interval_msec, low_power_mode);
- auto status = aidl_gnss_hal_->start();
- EXPECT_TRUE(status.isOk());
-
if (start_sv_status) {
- status = aidl_gnss_hal_->startSvStatus();
+ auto status = aidl_gnss_hal_->startSvStatus();
EXPECT_TRUE(status.isOk());
}
if (start_nmea) {
- status = aidl_gnss_hal_->startNmea();
+ auto status = aidl_gnss_hal_->startNmea();
EXPECT_TRUE(status.isOk());
}
+ auto status = aidl_gnss_hal_->start();
+ EXPECT_TRUE(status.isOk());
+
/*
* GnssLocationProvider support of AGPS SUPL & XtraDownloader is not available in VTS,
* so allow time to demodulate ephemeris over the air.
diff --git a/gnss/aidl/vts/gnss_hal_test_cases.cpp b/gnss/aidl/vts/gnss_hal_test_cases.cpp
index f926c40..3696233 100644
--- a/gnss/aidl/vts/gnss_hal_test_cases.cpp
+++ b/gnss/aidl/vts/gnss_hal_test_cases.cpp
@@ -291,10 +291,12 @@
EXPECT_GT(aidl_gnss_cb_->sv_info_list_cbq_.retrieve(sv_info_lists, kNumSvInfoLists,
kTimeoutSeconds),
0);
- last_sv_info_list = sv_info_lists.back();
- } while (last_sv_info_list.size() == 0);
+ if (!sv_info_lists.empty()) {
+ last_sv_info_list = sv_info_lists.back();
+ ALOGD("last_sv_info size = %d", (int)last_sv_info_list.size());
+ }
+ } while (!sv_info_lists.empty() && last_sv_info_list.size() == 0);
- ALOGD("last_sv_info size = %d", (int)last_sv_info_list.size());
bool nonZeroCn0Found = false;
for (auto sv_info : last_sv_info_list) {
EXPECT_TRUE(sv_info.basebandCN0DbHz >= 0.0 && sv_info.basebandCN0DbHz <= 65.0);