haltest: revise codes 09/256409/3
authorSeungbae Shin <seungbae.shin@samsung.com>
Fri, 2 Apr 2021 05:53:00 +0000 (14:53 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Fri, 2 Apr 2021 10:13:08 +0000 (19:13 +0900)
[Version] 0.0.6
[Issue Type] Revise

Change-Id: I65ac20038a8432d6fb1c0d641c0cb4be1fd7c46a

packaging/hal-api-audio.spec
testcase/CMakeLists.txt
testcase/audio_haltests.cpp

index ce1a3c4647b53521201ed21eb1ee737179d69f7f..dae195147b6cc77573093a2c9624715b753e90b1 100644 (file)
@@ -1,6 +1,6 @@
 Name:       hal-api-audio
 Summary:    TIZEN Audio HAL
-Version:    0.0.5
+Version:    0.0.6
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
index 3de3682a6bafd570c5ad86a866d797d41f37e30b..0190103348f73758b207b8889b014803296db29b 100644 (file)
@@ -6,7 +6,7 @@ FOREACH(flag ${${target}_CFLAGS})
     SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
 ENDFOREACH()
 
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -fPIC -Wall -Werror -std=c++0x -pie")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -fPIC -Wall -Werror -std=c++14 -pie")
 
 AUX_SOURCE_DIRECTORY(. sources)
 ADD_EXECUTABLE(${target} ${sources})
index 7e6da818e9609b22b6afc963437bfaf84b09b8cc..26bb88f45cfb4b75c781055abd6c1470203002cd 100644 (file)
  * limitations under the License.
  */
 
-#include <string.h>
-#include <unistd.h>
+#include <string>
 #include <iostream>
 #include <fstream>
 #include <array>
 
+#include <unistd.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -71,6 +71,9 @@ typedef struct {
 class AudioHalTest : public testing::Test
 {
        public:
+               AudioHalTest() : m_h(), m_spec() { }
+               virtual ~AudioHalTest() = default;
+
                virtual void SetUp();
                virtual void TearDown();
 
@@ -79,29 +82,30 @@ class AudioHalTest : public testing::Test
                void SetRouteToMicrophone();
                int32_t WritePcmFromFile(pcm_handle pcm_h);
                int32_t ReadPcmFromDevice(pcm_handle pcm_h);
-               uint32_t BytesToFrames(uint32_t bytes, audio_pcm_sample_spec_t *spec);
-               uint32_t BytesToFrames(uint32_t bytes);
-               uint32_t FramesToBytes(uint32_t frames, audio_pcm_sample_spec_t *spec);
-               uint32_t FramesToBytes(uint32_t frames);
-               uint32_t GetDefaultFrames();
+               uint32_t BytesToFrames(uint32_t bytes, audio_pcm_sample_spec_t *spec) const;
+               uint32_t BytesToFrames(uint32_t bytes) const;
+               uint32_t FramesToBytes(uint32_t frames, audio_pcm_sample_spec_t *spec) const;
+               uint32_t FramesToBytes(uint32_t frames) const;
+               uint32_t GetDefaultFrames() const;
 
                static void HalMessageCallback(const char *name, int value, void *user_data);
 
+               // Todo : following value may vary depends on targets
+               static constexpr int default_frames = 6400;
+               static constexpr int default_periods = 5;
+               static constexpr int default_rate = 44100;
+               static constexpr int default_channels = 2;
+
                void *m_h;
                audio_pcm_sample_spec_t m_spec;
 
-               // Todo : following value may vary depends on targets
-               const int default_frames = 6400;
-               const int default_periods = 5;
-               const int default_rate = 44100;
-               const int default_channels = 2;
-
                // ToDo : following types may need to be fixed.
-               const array<string, 8> vol_types = { "system", "notification", "alarm", "ringtone",
-                                                                                       "media", "call", "voip", "voice" };
-
+               static const array<string, 8> vol_types;
 };
 
+const array<string, 8> AudioHalTest::vol_types = { "system", "notification","alarm", "ringtone",
+                                                                                                       "media", "call", "voip", "voice" };
+
 void AudioHalTest::SetUp()
 {
        m_h = nullptr;
@@ -125,50 +129,28 @@ void AudioHalTest::TearDown()
 
 void AudioHalTest::SetRouteToSpeaker()
 {
-       audio_route_info info;
-       int32_t num_of_devices = 1;
-
-       memset(&info, 0, sizeof(audio_route_info));
-
-       info.role = "media";
-       info.device_infos = (device_info_s*)malloc(sizeof(device_info_s) * num_of_devices);
-       if (info.device_infos == nullptr) {
-               cout << "malloc error!!! : " << errno << endl;
-               return;
-       }
-       info.device_infos[0].direction = AUDIO_DIRECTION_OUT;
-       info.device_infos[0].type = "builtin-speaker";
-       info.device_infos[0].id = 100;
-       info.num_of_devices = num_of_devices;
+       device_info_s device_infos[] {
+               { "builtin-speaker", AUDIO_DIRECTION_OUT, 100 }
+       };
+       audio_route_info info {
+               "media", device_infos, 1
+       };
 
        int32_t ret = hal_audio_update_route(m_h, &info);
        cout << "update route : " << ret << endl;
-
-       free(info.device_infos);
 }
 
 void AudioHalTest::SetRouteToMicrophone()
 {
-       audio_route_info info;
-       int32_t num_of_devices = 1;
-
-       memset(&info, 0, sizeof(audio_route_info));
-
-       info.role = "media";
-       info.device_infos = (device_info_s*)malloc(sizeof(device_info_s) * num_of_devices);
-       if (info.device_infos == nullptr) {
-               cout << "malloc error!!! : " << errno << endl;
-               return;
-       }
-       info.device_infos[0].direction = AUDIO_DIRECTION_IN;
-       info.device_infos[0].type = "builtin-mic";
-       info.device_infos[0].id = 100;
-       info.num_of_devices = num_of_devices;
+       device_info_s device_infos[] {
+               { "builtin-mic", AUDIO_DIRECTION_IN, 200 }
+       };
+       audio_route_info info {
+               "media", device_infos, 1
+       };
 
        int32_t ret = hal_audio_update_route(m_h, &info);
        cout << "update route : " << ret << endl;
-
-       free(info.device_infos);
 }
 
 int32_t AudioHalTest::WritePcmFromFile(pcm_handle pcm_h)
@@ -196,7 +178,7 @@ int32_t AudioHalTest::WritePcmFromFile(pcm_handle pcm_h)
 
        cout << "start to play dtmf+noise sounds ( " << res_path << " ) for 5 sec. " << endl;
 
-       while (1) {
+       while (true) {
                ret = hal_audio_pcm_avail(m_h, pcm_h, &avail_frames);
                if (ret == AUDIO_ERR_INTERNAL)
                        break;
@@ -277,31 +259,31 @@ int32_t AudioHalTest::ReadPcmFromDevice(pcm_handle pcm_h)
        return ret;
 }
 
-uint32_t AudioHalTest::BytesToFrames(uint32_t bytes, audio_pcm_sample_spec_t *spec)
+uint32_t AudioHalTest::BytesToFrames(uint32_t bytes, audio_pcm_sample_spec_t *spec) const
 {
        // ToDo : support various sample format
        return (spec->format == AUDIO_SAMPLE_S16LE) ? bytes / spec->channels / 2 : 0;
 }
 
-uint32_t AudioHalTest::BytesToFrames(uint32_t bytes)
+uint32_t AudioHalTest::BytesToFrames(uint32_t bytes) const
 {
        // ToDo : support various sample format
        return (m_spec.format == AUDIO_SAMPLE_S16LE) ? bytes / m_spec.channels / 2 : 0;
 }
 
-uint32_t AudioHalTest::FramesToBytes(uint32_t frames, audio_pcm_sample_spec_t *spec)
+uint32_t AudioHalTest::FramesToBytes(uint32_t frames, audio_pcm_sample_spec_t *spec) const
 {
        // ToDo : support various sample format
        return (spec->format == AUDIO_SAMPLE_S16LE) ? frames * spec->channels * 2 : 0;
 }
 
-uint32_t AudioHalTest::FramesToBytes(uint32_t frames)
+uint32_t AudioHalTest::FramesToBytes(uint32_t frames) const
 {
        // ToDo : support various sample format
        return (m_spec.format == AUDIO_SAMPLE_S16LE) ? frames * m_spec.channels * 2 : 0;
 }
 
-uint32_t AudioHalTest::GetDefaultFrames()
+uint32_t AudioHalTest::GetDefaultFrames() const
 {
        return BytesToFrames(default_frames);
 }
@@ -313,9 +295,9 @@ void AudioHalTest::HalMessageCallback(const char *name, int value, void *user_da
 
 /**
  * @testcase           InitP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Initialize audio HAL handle
  * @apicovered         audio_init, audio_deinit
@@ -338,9 +320,9 @@ TEST(AudioHalPreTest, InitP)
 
 /**
  * @testcase           InitN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, Initialize audio HAL handle
  * @apicovered         audio_init
@@ -357,9 +339,9 @@ TEST(AudioHalPreTest, InitN)
 
 /**
  * @testcase           DeinitP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Deinitialize audio HAL handle
  * @apicovered         audio_init, audio_deinit
@@ -382,9 +364,9 @@ TEST(AudioHalPreTest, DeinitP)
 
 /**
  * @testcase           GetVolumeLevelMaxP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Get maximum volume level of each volume types
  * @apicovered         audio_get_volume_level_max
@@ -396,7 +378,9 @@ TEST(AudioHalPreTest, DeinitP)
 TEST_F(AudioHalTest, GetVolumeLevelMaxP)
 {
        uint32_t level_max;
-       audio_volume_info_s info = { NULL, NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               nullptr, nullptr, AUDIO_DIRECTION_OUT
+       };
 
        for (const auto& i : vol_types) {
                info.type = i.c_str();
@@ -408,9 +392,9 @@ TEST_F(AudioHalTest, GetVolumeLevelMaxP)
 
 /**
  * @testcase           GetVolumeLevelMaxN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, Get maximum volume level of each volume types
  * @apicovered         audio_get_volume_level_max
@@ -421,16 +405,18 @@ TEST_F(AudioHalTest, GetVolumeLevelMaxP)
  */
 TEST_F(AudioHalTest, GetVolumeLevelMaxN)
 {
-       audio_volume_info_s info = { "media", NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               "media", nullptr, AUDIO_DIRECTION_OUT
+       };
        int32_t ret = hal_audio_get_volume_level_max(m_h, &info, nullptr);
        EXPECT_EQ(ret, AUDIO_ERR_PARAMETER);
 }
 
 /**
  * @testcase           GetVolumeLevelP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Get volume level of each volume types
  * @apicovered         audio_get_volume_level
@@ -443,7 +429,9 @@ TEST_F(AudioHalTest, GetVolumeLevelP)
 {
        uint32_t level;
        int32_t ret;
-       audio_volume_info_s info = { NULL, NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               nullptr, nullptr, AUDIO_DIRECTION_OUT
+       };
 
        for (const auto& i : vol_types) {
                info.type = i.c_str();
@@ -455,9 +443,9 @@ TEST_F(AudioHalTest, GetVolumeLevelP)
 
 /**
  * @testcase           GetVolumeLevelN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, Get volume level of each volume types
  * @apicovered         audio_get_volume_level
@@ -468,16 +456,18 @@ TEST_F(AudioHalTest, GetVolumeLevelP)
  */
 TEST_F(AudioHalTest, GetVolumeLevelN)
 {
-       audio_volume_info_s info = { "media", NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               "media", nullptr, AUDIO_DIRECTION_OUT
+       };
        int32_t ret = hal_audio_get_volume_level(m_h, &info, nullptr);
        EXPECT_EQ(ret, AUDIO_ERR_PARAMETER);
 }
 
 /**
  * @testcase           SetVolumeLevelP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Set volume level of each volume types
  * @apicovered         audio_set_volume_level
@@ -489,7 +479,10 @@ TEST_F(AudioHalTest, GetVolumeLevelN)
 TEST_F(AudioHalTest, SetVolumeLevelP)
 {
        /* FIXME : need to revise */
-       audio_volume_info_s info = { "media", NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               "media", nullptr, AUDIO_DIRECTION_OUT
+       };
+
        int32_t ret = hal_audio_set_volume_level(m_h, &info, 15);
        EXPECT_EQ(ret, AUDIO_RET_OK);
 
@@ -500,9 +493,9 @@ TEST_F(AudioHalTest, SetVolumeLevelP)
 
 /**
  * @testcase           SetVolumeLevelN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, Set volume level of each volume types
  * @apicovered         audio_set_volume_level
@@ -513,7 +506,9 @@ TEST_F(AudioHalTest, SetVolumeLevelP)
  */
 TEST_F(AudioHalTest, SetVolumeLevelN)
 {
-       audio_volume_info_s info = { "media", NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               "media", nullptr, AUDIO_DIRECTION_OUT
+       };
        int32_t ret = hal_audio_set_volume_level(m_h, &info, 10000);
        EXPECT_EQ(ret, AUDIO_ERR_PARAMETER);
 }
@@ -521,9 +516,9 @@ TEST_F(AudioHalTest, SetVolumeLevelN)
 
 /**
  * @testcase           GetVolumeValueP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Get volume value of each volume types with given volume level
  * @apicovered         audio_get_volume_value
@@ -537,7 +532,9 @@ TEST_F(AudioHalTest, GetVolumeValueP)
        double value;
        uint32_t level_max;
        int32_t ret;
-       audio_volume_info_s info = { NULL, NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               nullptr, nullptr, AUDIO_DIRECTION_OUT
+       };
 
        for (const auto& i : vol_types) {
                info.type = i.c_str();
@@ -555,9 +552,9 @@ TEST_F(AudioHalTest, GetVolumeValueP)
 
 /**
  * @testcase           GetVolumeValueN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, Get volume value of each volume types with given volume level
  * @apicovered         audio_get_volume_value
@@ -568,16 +565,18 @@ TEST_F(AudioHalTest, GetVolumeValueP)
  */
 TEST_F(AudioHalTest, GetVolumeValueN)
 {
-       audio_volume_info_s info = { "media", NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               "media", nullptr, AUDIO_DIRECTION_OUT
+       };
        int32_t ret = hal_audio_get_volume_value(m_h, &info, 0, nullptr);
        EXPECT_EQ(ret, AUDIO_ERR_PARAMETER);
 }
 
 /**
  * @testcase           GetVolumeMuteP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Get volume mute of each volume types.
  * @apicovered         audio_get_volume_mute
@@ -590,7 +589,9 @@ TEST_F(AudioHalTest, GetVolumeMuteP)
 {
        uint32_t mute = 0;
        int32_t ret;
-       audio_volume_info_s info = { NULL, NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               nullptr, nullptr, AUDIO_DIRECTION_OUT
+       };
 
        for (const auto& i : vol_types) {
                info.type = i.c_str();
@@ -602,9 +603,9 @@ TEST_F(AudioHalTest, GetVolumeMuteP)
 
 /**
  * @testcase           GetVolumeMuteN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, Get volume mute of each volume types.
  * @apicovered         audio_get_volume_mute
@@ -615,16 +616,18 @@ TEST_F(AudioHalTest, GetVolumeMuteP)
  */
 TEST_F(AudioHalTest, GetVolumeMuteN)
 {
-       audio_volume_info_s info = { "media", NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               "media", nullptr, AUDIO_DIRECTION_OUT
+       };
        int32_t ret = hal_audio_get_volume_mute(m_h, &info, nullptr);
        EXPECT_EQ(ret, AUDIO_ERR_PARAMETER);
 }
 
 /**
  * @testcase           SetVolumeMuteP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Set volume mute of each volume types.
  * @apicovered         audio_set_volume_mute
@@ -635,7 +638,9 @@ TEST_F(AudioHalTest, GetVolumeMuteN)
  */
 TEST_F(AudioHalTest, SetVolumeMuteP)
 {
-       audio_volume_info_s info = { "media", NULL, AUDIO_DIRECTION_OUT };
+       audio_volume_info_s info {
+               "media", nullptr, AUDIO_DIRECTION_OUT
+       };
        int32_t ret = hal_audio_set_volume_mute(m_h, &info, 1);
        EXPECT_EQ(ret, AUDIO_RET_OK);
 
@@ -653,9 +658,9 @@ TEST_F(AudioHalTest, SetVolumeMuteN)
 
 /**
  * @testcase           UpdateRouteP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Update route
  * @apicovered         audio_update_route
@@ -666,31 +671,22 @@ TEST_F(AudioHalTest, SetVolumeMuteN)
  */
 TEST_F(AudioHalTest, UpdateRouteP)
 {
-       audio_route_info info;
-       int32_t num_of_devices = 1;
-
-       memset(&info, 0, sizeof(audio_route_info));
-
-       info.role = "media";
-       info.device_infos = (device_info_s*)malloc(sizeof(device_info_s) * num_of_devices);
-       ASSERT_NE(info.device_infos, nullptr);
-       info.device_infos[0].direction = AUDIO_DIRECTION_OUT;
-       info.device_infos[0].type = "builtin-speaker";
-       info.device_infos[0].id = 100;
-       info.num_of_devices = num_of_devices;
+       device_info_s device_infos[] {
+               { "builtin-speaker", AUDIO_DIRECTION_OUT, 100 }
+       };
+       audio_route_info info {
+               "media", device_infos, 1
+       };
 
        int32_t ret = hal_audio_update_route(m_h, &info);
        EXPECT_EQ(ret, AUDIO_RET_OK);
-
-       free(info.device_infos);
 }
 
-
 /**
  * @testcase           UpdateRouteN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, Update route
  * @apicovered         audio_update_route
@@ -704,18 +700,18 @@ TEST_F(AudioHalTest, UpdateRouteN)
        int32_t ret = hal_audio_update_route(m_h, nullptr);
        EXPECT_EQ(ret, AUDIO_ERR_PARAMETER);
 
-       audio_route_info info;
-       memset(&info, 0, sizeof(audio_route_info));
-       info.role = nullptr;
+       audio_route_info info {
+               nullptr, nullptr, 0
+       };
        ret = hal_audio_update_route(m_h, &info);
        EXPECT_EQ(ret, AUDIO_ERR_PARAMETER);
 }
 
 /**
  * @testcase           UpdateRouteOptionP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Update route option
  * @apicovered         audio_update_route_option
@@ -735,9 +731,9 @@ TEST_F(AudioHalTest, UpdateRouteOptionP)
 
 /**
  * @testcase           UpdateRouteOptionN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, Update route option
  * @apicovered         audio_update_route_option
@@ -754,9 +750,9 @@ TEST_F(AudioHalTest, UpdateRouteOptionN)
 
 /**
  * @testcase           NotifyStreamConnectionChangedP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, Notify stream connection changed
  * @apicovered         audio_notify_stream_connection_changed
@@ -767,12 +763,9 @@ TEST_F(AudioHalTest, UpdateRouteOptionN)
  */
 TEST_F(AudioHalTest, NotifyStreamConnectionChangedP)
 {
-       audio_stream_info_s info;
-
-       memset(&info, 0, sizeof(audio_stream_info_s));
-       info.role = "media";
-       info.direction = AUDIO_DIRECTION_OUT;
-       info.idx = 100;
+       audio_stream_info_s info {
+               "media", AUDIO_DIRECTION_OUT, 100
+       };
 
        int32_t ret = hal_audio_notify_stream_connection_changed(m_h, &info, 1);
        EXPECT_EQ(ret, AUDIO_RET_OK);
@@ -780,9 +773,9 @@ TEST_F(AudioHalTest, NotifyStreamConnectionChangedP)
 
 /**
  * @testcase           NotifyStreamConnectionChangedN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, Notify stream connection changed
  * @apicovered         audio_notify_stream_connection_changed
@@ -798,21 +791,18 @@ TEST_F(AudioHalTest, NotifyStreamConnectionChangedN)
        EXPECT_EQ(ret, AUDIO_ERR_PARAMETER);
 
        // check for invalid role
-       audio_stream_info_s info;
-       memset(&info, 0, sizeof(audio_stream_info_s));
-       info.role = nullptr;
-       info.direction = AUDIO_DIRECTION_OUT;
-       info.idx = 100;
-
+       audio_stream_info_s info {
+               nullptr, AUDIO_DIRECTION_OUT, 100
+       };
        ret = hal_audio_notify_stream_connection_changed(m_h, &info, 1);
        EXPECT_EQ(ret, AUDIO_ERR_PARAMETER);
 }
 
 /**
  * @testcase           MessageCallbackP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, add/remove message callback
  * @apicovered         audio_add_message_cb, audio_remove_message_cb
@@ -832,9 +822,9 @@ TEST_F(AudioHalTest, MessageCallbackP)
 
 /**
  * @testcase           MessageCallbackN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, add/remove message callback
  * @apicovered         audio_add_message_cb, audio_remove_message_cb
@@ -855,9 +845,9 @@ TEST_F(AudioHalTest, MessageCallbackN)
 
 /**
  * @testcase           PcmGetFdP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, get fd from the pcm handle
  * @apicovered         audio_pcm_get_fd, audio_pcm_open, audio_pcm_close
@@ -873,12 +863,11 @@ TEST_F(AudioHalTest, PcmGetFdP)
        string card, dev;
        int rate = default_rate, channels = default_channels;
 
-       CDeviceMapParser parser;
-       parser.get_playback(card, dev, rate, channels);
+       CDeviceMapParser().get_playback(card, dev, rate, channels);
 
-       m_spec.format = AUDIO_SAMPLE_S16LE;
-       m_spec.rate = rate;
-       m_spec.channels = channels;
+       m_spec = {
+               AUDIO_SAMPLE_S16LE, static_cast<uint32_t>(rate), static_cast<uint8_t>(channels)
+       };
 
        SetRouteToSpeaker();
 
@@ -898,9 +887,9 @@ TEST_F(AudioHalTest, PcmGetFdP)
 
 /**
  * @testcase           PcmGetFdN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, get fd from the pcm handle
  * @apicovered         audio_pcm_get_fd, audio_pcm_open, audio_pcm_close
@@ -921,12 +910,11 @@ TEST_F(AudioHalTest, PcmGetFdN)
        string card, dev;
        int rate = default_rate, channels = default_channels;
 
-       CDeviceMapParser parser;
-       parser.get_playback(card, dev, rate, channels);
+       CDeviceMapParser().get_playback(card, dev, rate, channels);
 
-       m_spec.format = AUDIO_SAMPLE_S16LE;
-       m_spec.rate = rate;
-       m_spec.channels = channels;
+       m_spec = {
+               AUDIO_SAMPLE_S16LE, static_cast<uint32_t>(rate), static_cast<uint8_t>(channels)
+       };
 
        SetRouteToSpeaker();
 
@@ -944,9 +932,9 @@ TEST_F(AudioHalTest, PcmGetFdN)
 
 /**
  * @testcase           PcmOpenWriteCloseP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, open pcm handle, start pcm handle, write pcm buffers, stop pcm handle and close pcm_handle
  * @apicovered         audio_pcm_open, audio_pcm_start, audio_pcm_avail, audio_pcm_write, audio_pcm_stop, audio_pcm_close
@@ -961,12 +949,11 @@ TEST_F(AudioHalTest, PcmOpenWriteCloseP)
        string card, dev;
        int rate = default_rate, channels = default_channels;
 
-       CDeviceMapParser parser;
-       parser.get_playback(card, dev, rate, channels);
+       CDeviceMapParser().get_playback(card, dev, rate, channels);
 
-       m_spec.format = AUDIO_SAMPLE_S16LE;
-       m_spec.rate = rate;
-       m_spec.channels = channels;
+       m_spec = {
+               AUDIO_SAMPLE_S16LE, static_cast<uint32_t>(rate), static_cast<uint8_t>(channels)
+       };
 
        SetRouteToSpeaker();
 
@@ -990,9 +977,9 @@ TEST_F(AudioHalTest, PcmOpenWriteCloseP)
 
 /**
  * @testcase           PcmOpenReadCloseP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, open pcm handle, start pcm handle, read pcm buffers, stop pcm handle and close pcm_handle
  * @apicovered         audio_pcm_open, audio_pcm_start, audio_pcm_avail, audio_pcm_read, audio_pcm_stop, audio_pcm_close
@@ -1007,12 +994,11 @@ TEST_F(AudioHalTest, PcmOpenReadCloseP)
        string card, dev;
        int rate = default_rate, channels = default_channels;
 
-       CDeviceMapParser parser;
-       parser.get_capture(card, dev, rate, channels);
+       CDeviceMapParser().get_capture(card, dev, rate, channels);
 
-       m_spec.format = AUDIO_SAMPLE_S16LE;
-       m_spec.rate = rate;
-       m_spec.channels = channels;
+       m_spec = {
+               AUDIO_SAMPLE_S16LE, static_cast<uint32_t>(rate), static_cast<uint8_t>(channels)
+       };
 
        SetRouteToMicrophone();
 
@@ -1036,9 +1022,9 @@ TEST_F(AudioHalTest, PcmOpenReadCloseP)
 
 /**
  * @testcase           PcmRecoverN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, pcm recovery
  * @apicovered         audio_pcm_recover
@@ -1055,9 +1041,9 @@ TEST_F(AudioHalTest, PcmRecoverN)
 
 /**
  * @testcase           PcmSetParamP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, set audio parameters
  * @apicovered         audio_pcm_pcm_set_param, audio_pcm_open, audio_pcm_close
@@ -1072,12 +1058,11 @@ TEST_F(AudioHalTest, PcmSetParamP)
        string card, dev;
        int rate = default_rate, channels = default_channels;
 
-       CDeviceMapParser parser;
-       parser.get_playback(card, dev, rate, channels);
+       CDeviceMapParser().get_playback(card, dev, rate, channels);
 
-       m_spec.format = AUDIO_SAMPLE_S16LE;
-       m_spec.rate = rate;
-       m_spec.channels = channels;
+       m_spec = {
+               AUDIO_SAMPLE_S16LE, static_cast<uint32_t>(rate), static_cast<uint8_t>(channels)
+       };
 
        SetRouteToSpeaker();
 
@@ -1096,9 +1081,9 @@ TEST_F(AudioHalTest, PcmSetParamP)
 
 /**
  * @testcase           PcmSetParamN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, set audio parameters
  * @apicovered         audio_pcm_pcm_set_param, audio_pcm_open, audio_pcm_close
@@ -1113,17 +1098,16 @@ TEST_F(AudioHalTest, PcmSetParamN)
        string card, dev;
        int rate = default_rate, channels = default_channels;
 
-       CDeviceMapParser parser;
-       parser.get_playback(card, dev, rate, channels);
+       CDeviceMapParser().get_playback(card, dev, rate, channels);
 
-       m_spec.format = AUDIO_SAMPLE_S16LE;
-       m_spec.rate = rate;
-       m_spec.channels = channels;
+       m_spec = {
+               AUDIO_SAMPLE_S16LE, static_cast<uint32_t>(rate), static_cast<uint8_t>(channels)
+       };
 
        SetRouteToSpeaker();
 
        int32_t ret = hal_audio_pcm_open(m_h, card.c_str(), dev.c_str(),
-                                                                                       AUDIO_DIRECTION_OUT, &m_spec,   GetDefaultFrames(), default_periods, &pcm_h);
+                                                                       AUDIO_DIRECTION_OUT, &m_spec,   GetDefaultFrames(), default_periods, &pcm_h);
        ASSERT_EQ(ret, AUDIO_RET_OK);
 
        ret = hal_audio_pcm_set_params(m_h, nullptr, AUDIO_DIRECTION_OUT, &m_spec, GetDefaultFrames(), default_periods);
@@ -1135,9 +1119,9 @@ TEST_F(AudioHalTest, PcmSetParamN)
 
 /**
  * @testcase           PcmGetParamP
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Positive, get audio parameters
  * @apicovered         audio_pcm_pcm_get_param, audio_pcm_open, audio_pcm_close
@@ -1152,12 +1136,11 @@ TEST_F(AudioHalTest, PcmGetParamP)
        string card, dev;
        int rate = default_rate, channels = default_channels;
 
-       CDeviceMapParser parser;
-       parser.get_playback(card, dev, rate, channels);
+       CDeviceMapParser().get_playback(card, dev, rate, channels);
 
-       m_spec.format = AUDIO_SAMPLE_S16LE;
-       m_spec.rate = rate;
-       m_spec.channels = channels;
+       m_spec = {
+               AUDIO_SAMPLE_S16LE, static_cast<uint32_t>(rate), static_cast<uint8_t>(channels)
+       };
 
        // Precondition
        SetRouteToSpeaker();
@@ -1167,12 +1150,11 @@ TEST_F(AudioHalTest, PcmGetParamP)
        ASSERT_EQ(ret, AUDIO_RET_OK);
 
        // Test Body
-       audio_pcm_sample_spec_t local_spec;
-       audio_pcm_sample_spec_t * p_spec = &local_spec;
+       audio_pcm_sample_spec_t local_spec {};
+       audio_pcm_sample_spec_t* p_spec = &local_spec;
        uint32_t period_size = 0;
        uint32_t periods = 0;
 
-       memset(p_spec, 0, sizeof(audio_pcm_sample_spec_t));
        ret = hal_audio_pcm_get_params(m_h, pcm_h, AUDIO_DIRECTION_OUT, (void**)&p_spec, &period_size, &periods);
        EXPECT_EQ(ret, AUDIO_RET_OK);
 
@@ -1189,9 +1171,9 @@ TEST_F(AudioHalTest, PcmGetParamP)
 
 /**
  * @testcase           PcmGetParamN
- * @since_tizen                4.0
+ * @since_tizen                6.5
  * @author                     SR(seungbae.shin)
- * @reviewer           SR(sc11.lee)
+ * @reviewer           SR(sc11.lee, jcsing.lee)
  * @type                       auto
  * @description                Negative, get audio parameters
  * @apicovered         audio_pcm_pcm_get_param
@@ -1209,7 +1191,7 @@ TEST_F(AudioHalTest, PcmGetParamN)
 int main(int argc, char **argv)
 {
 #ifdef DISABLE_DEBUG_LOG
-       cout.rdbuf(NULL);
+       cout.rdbuf(nullptr);
 #endif
 
        testing::InitGoogleTest(&argc, argv);