VtsHalHapticGeneratorTargetTest: skip data path testing for older HAL

Only run HapticGeneratorDataTest for effect HAL version 3 and above

Flag: EXEMPT Bugfix
Bug: 397561345
Test: atest VtsHalHapticGeneratorTargetTest
Change-Id: I9a56346d15c03ea45c9567bb7ff17732109bfe05
diff --git a/audio/aidl/vts/VtsHalHapticGeneratorTargetTest.cpp b/audio/aidl/vts/VtsHalHapticGeneratorTargetTest.cpp
index 2802bf9..1b0b681 100644
--- a/audio/aidl/vts/VtsHalHapticGeneratorTargetTest.cpp
+++ b/audio/aidl/vts/VtsHalHapticGeneratorTargetTest.cpp
@@ -275,6 +275,9 @@
 enum DataTestParam { EFFECT_INSTANCE, LAYOUT };
 using HapticGeneratorDataTestParam = std::tuple<EffectInstance, int32_t>;
 
+// minimal HAL interface version to run the data path test
+constexpr int32_t kMinDataTestHalVersion = 3;
+
 class HapticGeneratorDataTest : public ::testing::TestWithParam<HapticGeneratorDataTestParam>,
                                 public HapticGeneratorHelper {
   public:
@@ -293,7 +296,14 @@
         mOutput.resize(mHapticSamples + mAudioSamples, 0);
     }
 
-    void SetUp() override { ASSERT_NO_FATAL_FAILURE(SetUpHapticGenerator(mChMask)); }
+    void SetUp() override {
+        ASSERT_NO_FATAL_FAILURE(SetUpHapticGenerator(mChMask));
+        if (int32_t version;
+            mEffect->getInterfaceVersion(&version).isOk() && version < kMinDataTestHalVersion) {
+            GTEST_SKIP() << "Skipping the data test for version: " << version << "\n";
+        }
+    }
+
     void TearDown() override { ASSERT_NO_FATAL_FAILURE(TearDownHapticGenerator()); }
 
     void generateSinePeriod() {