diff options
Diffstat (limited to 'cras/src/tests/stream_list_unittest.cc')
-rw-r--r-- | cras/src/tests/stream_list_unittest.cc | 129 |
1 files changed, 3 insertions, 126 deletions
diff --git a/cras/src/tests/stream_list_unittest.cc b/cras/src/tests/stream_list_unittest.cc index 500774f1..8f3c2e3e 100644 --- a/cras/src/tests/stream_list_unittest.cc +++ b/cras/src/tests/stream_list_unittest.cc @@ -28,20 +28,13 @@ static int removed_cb(struct cras_rstream* rstream) { static unsigned int create_called; static struct cras_rstream_config* create_config; +static struct cras_rstream dummy_rstream; static int create_rstream_cb(struct cras_rstream_config* stream_config, struct cras_rstream** stream) { create_called++; create_config = stream_config; - *stream = (struct cras_rstream*)malloc(sizeof(struct cras_rstream)); - (*stream)->stream_id = stream_config->stream_id; - (*stream)->direction = stream_config->direction; - if (stream_config->format) - (*stream)->format = *(stream_config->format); - (*stream)->cb_threshold = stream_config->cb_threshold; - (*stream)->client_type = stream_config->client_type; - (*stream)->stream_type = stream_config->stream_type; - clock_gettime(CLOCK_MONOTONIC_RAW, &(*stream)->start_ts); - + *stream = &dummy_rstream; + dummy_rstream.stream_id = 0x3003; return 0; } @@ -50,7 +43,6 @@ static struct cras_rstream* destroyed_stream; static void destroy_rstream_cb(struct cras_rstream* rstream) { destroy_called++; destroyed_stream = rstream; - free(rstream); } static void reset_test_data() { @@ -65,10 +57,6 @@ TEST(StreamList, AddRemove) { struct cras_rstream* s1; struct cras_rstream_config s1_config; - s1_config.stream_id = 0x3003; - s1_config.direction = CRAS_STREAM_OUTPUT; - s1_config.format = NULL; - reset_test_data(); l = stream_list_create(added_cb, removed_cb, create_rstream_cb, destroy_rstream_cb, NULL); @@ -84,117 +72,6 @@ TEST(StreamList, AddRemove) { stream_list_destroy(l); } -TEST(StreamList, AddInDescendingOrderByChannels) { - struct stream_list* l; - struct cras_rstream* s1; - struct cras_rstream* s2; - struct cras_rstream* s3; - struct cras_audio_format s1_format, s2_format, s3_format; - struct cras_rstream_config s1_config, s2_config, s3_config; - - s1_config.stream_id = 0x4001; - s1_config.direction = CRAS_STREAM_INPUT; - s1_format.num_channels = 6; - s1_config.format = &s1_format; - - s2_config.stream_id = 0x4002; - s2_config.direction = CRAS_STREAM_OUTPUT; - s2_format.num_channels = 8; - s2_config.format = &s2_format; - - s3_config.stream_id = 0x4003; - s3_config.direction = CRAS_STREAM_OUTPUT; - s3_format.num_channels = 2; - s3_config.format = &s3_format; - - reset_test_data(); - l = stream_list_create(added_cb, removed_cb, create_rstream_cb, - destroy_rstream_cb, NULL); - stream_list_add(l, &s1_config, &s1); - EXPECT_EQ(1, add_called); - EXPECT_EQ(1, create_called); - EXPECT_EQ(6, stream_list_get(l)->format.num_channels); - - stream_list_add(l, &s2_config, &s2); - EXPECT_EQ(2, add_called); - EXPECT_EQ(2, create_called); - EXPECT_EQ(8, stream_list_get(l)->format.num_channels); - EXPECT_EQ(6, stream_list_get(l)->next->format.num_channels); - - stream_list_add(l, &s3_config, &s3); - EXPECT_EQ(3, add_called); - EXPECT_EQ(3, create_called); - EXPECT_EQ(8, stream_list_get(l)->format.num_channels); - EXPECT_EQ(6, stream_list_get(l)->next->format.num_channels); - EXPECT_EQ(2, stream_list_get(l)->next->next->format.num_channels); - EXPECT_EQ(0, stream_list_rm(l, 0x4001)); - EXPECT_EQ(0, stream_list_rm(l, 0x4002)); - EXPECT_EQ(0, stream_list_rm(l, 0x4003)); - stream_list_destroy(l); -} - -TEST(StreamList, DetectRtcStreamPair) { - struct stream_list* l; - struct cras_rstream *s1, *s2, *s3, *s4; - struct cras_rstream_config s1_config, s2_config, s3_config, s4_config; - - s1_config.stream_id = 0x5001; - s1_config.direction = CRAS_STREAM_OUTPUT; - s1_config.cb_threshold = 480; - s1_config.client_type = CRAS_CLIENT_TYPE_CHROME; - s1_config.stream_type = CRAS_STREAM_TYPE_DEFAULT; - s1_config.format = NULL; - - s2_config.stream_id = 0x5002; - s2_config.direction = CRAS_STREAM_INPUT; - s2_config.cb_threshold = 480; - s2_config.client_type = CRAS_CLIENT_TYPE_CHROME; - s2_config.stream_type = CRAS_STREAM_TYPE_DEFAULT; - s2_config.format = NULL; - - // s3 is not a RTC stream because the cb threshold is not 480. - s3_config.stream_id = 0x5003; - s3_config.direction = CRAS_STREAM_INPUT; - s3_config.cb_threshold = 500; - s3_config.client_type = CRAS_CLIENT_TYPE_CHROME; - s3_config.stream_type = CRAS_STREAM_TYPE_DEFAULT; - s3_config.format = NULL; - - // s4 is not a RTC stream because it is not from the same client with s1. - s4_config.stream_id = 0x5004; - s4_config.direction = CRAS_STREAM_INPUT; - s4_config.cb_threshold = 480; - s4_config.client_type = CRAS_CLIENT_TYPE_LACROS; - s4_config.stream_type = CRAS_STREAM_TYPE_DEFAULT; - s4_config.format = NULL; - - reset_test_data(); - l = stream_list_create(added_cb, removed_cb, create_rstream_cb, - destroy_rstream_cb, NULL); - stream_list_add(l, &s1_config, &s1); - EXPECT_EQ(1, add_called); - EXPECT_EQ(1, create_called); - EXPECT_EQ(&s1_config, create_config); - - stream_list_add(l, &s2_config, &s2); - detect_rtc_stream_pair(l, s2); - stream_list_add(l, &s3_config, &s3); - detect_rtc_stream_pair(l, s3); - stream_list_add(l, &s4_config, &s4); - detect_rtc_stream_pair(l, s4); - - EXPECT_EQ(CRAS_STREAM_TYPE_VOICE_COMMUNICATION, s1->stream_type); - EXPECT_EQ(CRAS_STREAM_TYPE_VOICE_COMMUNICATION, s2->stream_type); - EXPECT_EQ(CRAS_STREAM_TYPE_DEFAULT, s3->stream_type); - EXPECT_EQ(CRAS_STREAM_TYPE_DEFAULT, s4->stream_type); - - EXPECT_EQ(0, stream_list_rm(l, 0x5001)); - EXPECT_EQ(0, stream_list_rm(l, 0x5002)); - EXPECT_EQ(0, stream_list_rm(l, 0x5003)); - EXPECT_EQ(0, stream_list_rm(l, 0x5004)); - stream_list_destroy(l); -} - extern "C" { struct cras_timer* cras_tm_create_timer(struct cras_tm* tm, |