From 24df1875ef7aa5524363c32837782130f3c262db Mon Sep 17 00:00:00 2001 From: maan4 Date: Thu, 3 Jul 2025 19:08:49 +0800 Subject: [PATCH] change fuzz test Signed-off-by: maan4 --- .../interfaces/sensoragent_fuzzer/sensoragent_fuzzer.cpp | 3 +++ .../sensoragentenhanced_fuzzer.cpp | 3 +++ .../createsocketchannel_fuzzer.cpp | 9 +++++++++ .../reportonchangedata_fuzzer.cpp | 6 ++++++ 4 files changed, 21 insertions(+) diff --git a/test/fuzztest/interfaces/sensoragent_fuzzer/sensoragent_fuzzer.cpp b/test/fuzztest/interfaces/sensoragent_fuzzer/sensoragent_fuzzer.cpp index f96be5b0..744912c1 100644 --- a/test/fuzztest/interfaces/sensoragent_fuzzer/sensoragent_fuzzer.cpp +++ b/test/fuzztest/interfaces/sensoragent_fuzzer/sensoragent_fuzzer.cpp @@ -101,7 +101,9 @@ void SensorAgentFuzzTest(const uint8_t *data, size_t size) SetUpTestCase(); size_t startPos = 0; int32_t sensorTypeId = 0; + int32_t mode = 0; GetObject(sensorTypeId, data + startPos, size - startPos); + GetObject(mode, data, size); bool validSensorId = CheckSensorTypeId(sensorTypeId); if (!validSensorId) { sensorTypeId = SENSOR_TYPE_ID_ACCELEROMETER; @@ -111,6 +113,7 @@ void SensorAgentFuzzTest(const uint8_t *data, size_t size) SubscribeSensor(sensorTypeId, &user); SetBatch(sensorTypeId, &user, g_samplingInterval, g_reportInterval); ActivateSensor(sensorTypeId, &user); + SetMode(sensorTypeId, &user, mode); std::this_thread::sleep_for(std::chrono::milliseconds(1000)); DeactivateSensor(sensorTypeId, &user); UnsubscribeSensor(sensorTypeId, &user); diff --git a/test/fuzztest/interfaces/sensoragentenhanced_fuzzer/sensoragentenhanced_fuzzer.cpp b/test/fuzztest/interfaces/sensoragentenhanced_fuzzer/sensoragentenhanced_fuzzer.cpp index 874156dc..c8816255 100644 --- a/test/fuzztest/interfaces/sensoragentenhanced_fuzzer/sensoragentenhanced_fuzzer.cpp +++ b/test/fuzztest/interfaces/sensoragentenhanced_fuzzer/sensoragentenhanced_fuzzer.cpp @@ -90,7 +90,9 @@ void SensorAgentEnhancedFuzzTest(const uint8_t *data, size_t size) SetUpTestCase(); size_t startPos = 0; int32_t deviceId = 0; + int32_t mode = 0; GetObject(deviceId, data + startPos, size - startPos); + GetObject(mode, data, size); SensorIdentifier sensorIdentifier; GetObject(sensorIdentifier, data + startPos, size - startPos); @@ -105,6 +107,7 @@ void SensorAgentEnhancedFuzzTest(const uint8_t *data, size_t size) SubscribeSensorEnhanced(sensorIdentifier, &user); SetBatchEnhanced(sensorIdentifier, &user, SAMPLING_INTERVAL, REPORT_INTERVAL); ActivateSensorEnhanced(sensorIdentifier, &user); + SetModeEnhanced(sensorIdentifier, &user, mode); std::this_thread::sleep_for(std::chrono::milliseconds(SLEEP_TIME)); diff --git a/test/fuzztest/services/service/createsocketchannel_fuzzer/createsocketchannel_fuzzer.cpp b/test/fuzztest/services/service/createsocketchannel_fuzzer/createsocketchannel_fuzzer.cpp index 84b66c1c..2b00e169 100644 --- a/test/fuzztest/services/service/createsocketchannel_fuzzer/createsocketchannel_fuzzer.cpp +++ b/test/fuzztest/services/service/createsocketchannel_fuzzer/createsocketchannel_fuzzer.cpp @@ -85,6 +85,15 @@ bool CreateSocketChannelFuzzTest(const uint8_t *data, size_t size) GetObject(clientFd, data, size); g_service->CreateSocketChannel(g_remote, clientFd); g_service->OnStart(); + SensorPlugInfo info; + GetObject(info.deviceSensorInfo.deviceId, data, size); + GetObject(info.deviceSensorInfo.sensorType, data, size); + GetObject(info.deviceSensorInfo.sensorId, data, size); + GetObject(info.deviceSensorInfo.location, data, size); + GetObject(info.deviceName, data, size); + GetObject(info.status, data, size); + GetObject(info.reserved, data, size); + g_service->ReportPlugEventCallback(info); g_service->OnStop(); g_service->ProcessDeathObserver(g_remote); return true; diff --git a/test/fuzztest/services/service/reportonchangedata_fuzzer/reportonchangedata_fuzzer.cpp b/test/fuzztest/services/service/reportonchangedata_fuzzer/reportonchangedata_fuzzer.cpp index 08bec1d3..a452a800 100644 --- a/test/fuzztest/services/service/reportonchangedata_fuzzer/reportonchangedata_fuzzer.cpp +++ b/test/fuzztest/services/service/reportonchangedata_fuzzer/reportonchangedata_fuzzer.cpp @@ -33,6 +33,8 @@ using namespace Security::AccessToken; using Security::AccessToken::AccessTokenID; namespace { constexpr size_t U32_AT_SIZE = 4; +constexpr int64_t SAMPLING_INTERVAL = 200000000; +constexpr int64_t REPORT_INTERVAL = 200000000; auto g_service = SensorDelayedSpSingleton::GetInstance(); } // namespace @@ -87,6 +89,10 @@ bool ReportOnChangeDataFuzzTest(const uint8_t *data, size_t size) int32_t location = 0; GetObject(location, data, size); g_service->ReportOnChangeData({deviceId, sensorType, sensorId, location}); + int32_t pid = 0; + GetObject(pid, data, size); + g_service -> SensorReportEvent({deviceId, sensorType, sensorId, location}, + SAMPLING_INTERVAL, REPORT_INTERVAL, pid); return true; } } // namespace Sensors -- Gitee