summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorliuxueli <[email protected]>2023-06-14 20:25:07 +0800
committerliuxueli <[email protected]>2023-06-14 20:25:07 +0800
commit1680dcede1b89aaac81faf52a7b85cdfe614f80d (patch)
tree760d59755b3e889b3c3e95c8344bb2799b5bf58f /test
parentc77480e1596a3d7e0d01bd08569d5e27adbb2ab2 (diff)
TSG-15568: 获取server subscriber ID时判断条件错误导致段错误
Diffstat (limited to 'test')
-rw-r--r--test/src/gtest_bridge.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/src/gtest_bridge.cpp b/test/src/gtest_bridge.cpp
index b839e13..562d172 100644
--- a/test/src/gtest_bridge.cpp
+++ b/test/src/gtest_bridge.cpp
@@ -846,6 +846,27 @@ TEST(TSGBridge, SessionSessionRuntimeAttributeTSG15457)
EXPECT_EQ(nullptr, session_runtime_attribute_get(&a_stream));
}
+TEST(TSGBridge, SessionSessionRuntimeAttributeSubscriberIDTSG15568)
+{
+ const struct streaminfo a_stream = {0};
+ struct session_runtime_attribute *srt_attribute = (struct session_runtime_attribute *)session_runtime_attribute_new(&a_stream);
+
+ srt_attribute->client_subscribe_id=(struct subscribe_id_info *)dictator_malloc(0, sizeof(struct subscribe_id_info));
+ srt_attribute->client_subscribe_id->ref_cnt=1;
+ srt_attribute->client_subscribe_id->subscribe_id=(char *)"zhansan";
+
+ struct session_runtime_attribute *srt_attribute_out=(struct session_runtime_attribute *)session_runtime_attribute_get(&a_stream);
+ EXPECT_NE(nullptr, srt_attribute_out);
+
+ EXPECT_NE(nullptr, srt_attribute_out->client_subscribe_id);
+ EXPECT_EQ(1, srt_attribute_out->client_subscribe_id->ref_cnt);
+ EXPECT_STREQ("zhansan", srt_attribute_out->client_subscribe_id->subscribe_id);
+ EXPECT_STREQ("zhansan", srt_attribute_get_client_subscriber_id((const struct session_runtime_attribute *)srt_attribute_out));
+
+ EXPECT_EQ(nullptr, srt_attribute_out->server_subscribe_id);
+ EXPECT_EQ(nullptr, srt_attribute_get_server_subscriber_id((const struct session_runtime_attribute *)srt_attribute_out));
+}
+
int main(int argc, char *argv[])
{
int ret=tsg_bridge_init("tsgconf/main.conf");