diff --git a/.augment-guidelines b/.augment-guidelines index ffe99d33c..ddd6de9a1 100644 --- a/.augment-guidelines +++ b/.augment-guidelines @@ -304,6 +304,14 @@ build_and_development: working_directory: "trunk/3rdparty/srs-bench" testing: + utest_file_naming: + description: "Unit test file naming indicates ownership and maintenance responsibility" + + patterns: + - "srs_utest_ai*.cpp - AI-managed, AI has full autonomy" + - "srs_utest_workflow_*.cpp - Human-dominated with AI help, human maintains" + - "srs_utest_manual_*.cpp - Human-written, AI should NOT modify without permission" + error_handling_macros: - Use HELPER_EXPECT_SUCCESS(x) when expecting a function to succeed (returns srs_success) - Use HELPER_EXPECT_FAILED(x) when expecting a function to fail (returns non-srs_success error) diff --git a/trunk/configure b/trunk/configure index cac0f9b41..5fb52bbc3 100755 --- a/trunk/configure +++ b/trunk/configure @@ -375,20 +375,20 @@ fi # # utest, the unit-test cases of srs, base on gtest1.6 if [[ $SRS_UTEST == YES ]]; then - MODULE_FILES=("srs_utest" "srs_utest_amf0" "srs_utest_kernel" "srs_utest_core" "srs_utest_srt" - "srs_utest_config" "srs_utest_rtmp" "srs_utest_http" "srs_utest_avc" "srs_utest_reload" - "srs_utest_mp4" "srs_utest_service" "srs_utest_app_rtc2rtmp" "srs_utest_rtc" "srs_utest_config2" - "srs_utest_protocol" "srs_utest_protocol2" "srs_utest_kernel2" "srs_utest_st" "srs_utest_fmp4" - "srs_utest_source_lock" "srs_utest_stream_token" "srs_utest_rtc_recv_track" "srs_utest_st2" - "srs_utest_hevc_structs" "srs_utest_coworkers" "srs_utest_pithy_print" "srs_utest_protocol3" - "srs_utest_app" "srs_utest_mock" "srs_utest_rtc_playstream" "srs_utest_rtc_publishstream" - "srs_utest_rtc_conn" "srs_utest_rtmp_conn" "srs_utest_srt_conn" "srs_utest_http_conn") + MODULE_FILES=("srs_utest" "srs_utest_manual_amf0" "srs_utest_manual_kernel" "srs_utest_manual_core" "srs_utest_manual_srt" + "srs_utest_manual_config" "srs_utest_manual_rtmp" "srs_utest_manual_http" "srs_utest_manual_avc" "srs_utest_manual_reload" + "srs_utest_manual_mp4" "srs_utest_manual_service" "srs_utest_manual_app_rtc2rtmp" "srs_utest_manual_rtc" "srs_utest_manual_config2" + "srs_utest_manual_protocol" "srs_utest_manual_protocol2" "srs_utest_manual_kernel2" "srs_utest_manual_st" "srs_utest_manual_fmp4" + "srs_utest_manual_source_lock" "srs_utest_manual_stream_token" "srs_utest_manual_rtc_recv_track" "srs_utest_manual_st2" + "srs_utest_manual_hevc_structs" "srs_utest_manual_coworkers" "srs_utest_manual_pithy_print" "srs_utest_manual_protocol3" + "srs_utest_manual_app" "srs_utest_manual_mock" "srs_utest_workflow_rtc_playstream" "srs_utest_workflow_rtc_publishstream" + "srs_utest_workflow_rtc_conn" "srs_utest_workflow_rtmp_conn" "srs_utest_workflow_srt_conn" "srs_utest_workflow_http_conn") MODULE_FILES+=("srs_utest_ai01" "srs_utest_ai02" "srs_utest_ai03" "srs_utest_ai04" "srs_utest_ai05" "srs_utest_ai06" "srs_utest_ai07" "srs_utest_ai08" "srs_utest_ai09" "srs_utest_ai10" "srs_utest_ai11" "srs_utest_ai12" "srs_utest_ai13" "srs_utest_ai14" "srs_utest_ai15" "srs_utest_ai16" "srs_utest_ai17" - "srs_utest_ai18" "srs_utest_ai19" "srs_utest_ai20" "srs_utest_forward") + "srs_utest_ai18" "srs_utest_ai19" "srs_utest_ai20" "srs_utest_workflow_forward") if [[ $SRS_GB28181 == YES ]]; then - MODULE_FILES+=("srs_utest_gb28181" "srs_utest_ai23") + MODULE_FILES+=("srs_utest_manual_gb28181" "srs_utest_ai23") fi if [[ $SRS_RTSP == YES ]]; then MODULE_FILES+=("srs_utest_ai21" "srs_utest_ai22") diff --git a/trunk/src/utest/srs_utest.hpp b/trunk/src/utest/srs_utest.hpp index 3ecd21d48..1c2031cd4 100644 --- a/trunk/src/utest/srs_utest.hpp +++ b/trunk/src/utest/srs_utest.hpp @@ -33,7 +33,7 @@ using namespace std; #include // Include headers for all the mocks. -#include +#include // we add an empty macro for upp to show the smart tips. #define VOID diff --git a/trunk/src/utest/srs_utest_ai01.hpp b/trunk/src/utest/srs_utest_ai01.hpp index 9d9857483..97f6c0ec3 100644 --- a/trunk/src/utest/srs_utest_ai01.hpp +++ b/trunk/src/utest/srs_utest_ai01.hpp @@ -10,6 +10,6 @@ /* #include */ -#include +#include #endif diff --git a/trunk/src/utest/srs_utest_ai02.cpp b/trunk/src/utest/srs_utest_ai02.cpp index 7e137362c..b5ea22abe 100644 --- a/trunk/src/utest/srs_utest_ai02.cpp +++ b/trunk/src/utest/srs_utest_ai02.cpp @@ -12,7 +12,7 @@ using namespace std; #include #include #include -#include +#include VOID TEST(ConfigHttpsStreamTest, CheckHttpsStreamListensDefault) { diff --git a/trunk/src/utest/srs_utest_ai03.cpp b/trunk/src/utest/srs_utest_ai03.cpp index 563dbe357..e122efd9b 100644 --- a/trunk/src/utest/srs_utest_ai03.cpp +++ b/trunk/src/utest/srs_utest_ai03.cpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_ai04.cpp b/trunk/src/utest/srs_utest_ai04.cpp index 4bfc3ee24..7e28caced 100644 --- a/trunk/src/utest/srs_utest_ai04.cpp +++ b/trunk/src/utest/srs_utest_ai04.cpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include // Helper function to create a mock RTP packet for testing SrsRtpPacket *mock_create_audio_rtp_packet(uint16_t sequence, uint32_t timestamp, const char *payload_data = NULL, int payload_size = 10) @@ -211,19 +211,21 @@ VOID TEST(RTC3AudioCacheTest, PacketLossWithTimeout) // Should not process yet, waiting for missing packets EXPECT_EQ(0, (int)ready_packets.size()); - // Sleep for 10ms to exceed the 1ms timeout - srs_usleep(10 * SRS_UTIME_MILLISECONDS); - - // Process another packet to trigger timeout check - SrsUniquePtr pkt4(mock_create_audio_rtp_packet(104, 1080)); - HELPER_EXPECT_SUCCESS(cache.process_packet(pkt4.get(), ready_packets)); - - // Should process packet 103 despite missing 101, 102 due to timeout bool found_103 = false; - for (size_t i = 0; i < ready_packets.size(); i++) { - if (ready_packets[i]->header_.get_sequence() == 103) { - found_103 = true; - break; + for (int i = 0; i < 10 && !found_103; i++) { + // Sleep for N ms to exceed the 1ms timeout + srs_usleep(3 * SRS_UTIME_MILLISECONDS); + + // Process another packet to trigger timeout check + SrsUniquePtr pkt4(mock_create_audio_rtp_packet(104, 1080)); + HELPER_EXPECT_SUCCESS(cache.process_packet(pkt4.get(), ready_packets)); + + // Should process packet 103 despite missing 101, 102 due to timeout + for (size_t i = 0; i < ready_packets.size(); i++) { + if (ready_packets[i]->header_.get_sequence() == 103) { + found_103 = true; + break; + } } } EXPECT_TRUE(found_103); diff --git a/trunk/src/utest/srs_utest_ai05.cpp b/trunk/src/utest/srs_utest_ai05.cpp index 5ca8402db..7d838d617 100644 --- a/trunk/src/utest/srs_utest_ai05.cpp +++ b/trunk/src/utest/srs_utest_ai05.cpp @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include diff --git a/trunk/src/utest/srs_utest_ai05.hpp b/trunk/src/utest/srs_utest_ai05.hpp index daa18c1a1..a8b4e347c 100644 --- a/trunk/src/utest/srs_utest_ai05.hpp +++ b/trunk/src/utest/srs_utest_ai05.hpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include // Mock classes for IO testing class MockSrsReader : public ISrsReader diff --git a/trunk/src/utest/srs_utest_ai06.cpp b/trunk/src/utest/srs_utest_ai06.cpp index fd4b1368c..c33a235ec 100644 --- a/trunk/src/utest/srs_utest_ai06.cpp +++ b/trunk/src/utest/srs_utest_ai06.cpp @@ -19,7 +19,7 @@ using namespace std; #include #include #include -#include +#include VOID TEST(HTTPClientTest, HTTPClientUtility) { diff --git a/trunk/src/utest/srs_utest_ai08.cpp b/trunk/src/utest/srs_utest_ai08.cpp index 606211f98..130381dae 100644 --- a/trunk/src/utest/srs_utest_ai08.cpp +++ b/trunk/src/utest/srs_utest_ai08.cpp @@ -3291,17 +3291,17 @@ VOID TEST(StreamBridgeTest, SrsRtcRtpBuilder_OnAudioFormatConsumeError) SrsUniquePtr invalid_frame(new SrsMediaPacket()); invalid_frame->message_type_ = SrsFrameTypeAudio; - // Create invalid audio data (empty payload) + // Create invalid audio data with unsupported codec (Linear PCM, codec ID 0) char *invalid_data = new char[1]; - invalid_data[0] = 0x00; // Invalid audio format + invalid_data[0] = 0x00; // Linear PCM codec (ID=0) - unsupported invalid_frame->wrap(invalid_data, 1); invalid_frame->timestamp_ = 1000; // Test on_frame which calls on_audio internally - // This should call format_->on_audio(msg) but the format parsing should handle gracefully - // Note: SrsFormat::on_audio returns success for invalid data, just doesn't parse codec - HELPER_EXPECT_SUCCESS(builder.on_frame(invalid_frame.get())); + // This should call format_->on_audio(msg) which will return error for unsupported codec + // SrsFormat::on_audio now returns error for codecs that are not MP3/AAC/Opus + HELPER_EXPECT_FAILED(builder.on_frame(invalid_frame.get())); // Test with NULL payload data SrsUniquePtr null_frame(new SrsMediaPacket()); @@ -3334,7 +3334,7 @@ VOID TEST(StreamBridgeTest, SrsRtcRtpBuilder_OnAudioNoAcodecParsed) HELPER_EXPECT_SUCCESS(builder.initialize(req.get())); // Test with audio data that has unknown/unsupported codec - // This will cause format_->on_audio() to succeed but not parse acodec_ + // This will cause format_->on_audio() to return error for unsupported codec SrsUniquePtr unknown_codec_frame(new SrsMediaPacket()); unknown_codec_frame->message_type_ = SrsFrameTypeAudio; @@ -3349,23 +3349,18 @@ VOID TEST(StreamBridgeTest, SrsRtcRtpBuilder_OnAudioNoAcodecParsed) unknown_codec_frame->timestamp_ = 1000; // Test on_frame which calls on_audio internally - // This should call format_->on_audio(msg) successfully, but format_->acodec_ will be NULL - // because ADPCM is not supported, so the method should return early at line 1033-1035 - HELPER_EXPECT_SUCCESS(builder.on_frame(unknown_codec_frame.get())); + // This should call format_->on_audio(msg) which returns error for unsupported codec + // SrsFormat::on_audio now validates codec and returns error for non-MP3/AAC/Opus codecs + HELPER_EXPECT_FAILED(builder.on_frame(unknown_codec_frame.get())); - // Test with very short audio data that can't be parsed - SrsUniquePtr short_frame(new SrsMediaPacket()); - short_frame->message_type_ = SrsFrameTypeAudio; + // Test with NULL payload - this should succeed as format handles NULL gracefully + SrsUniquePtr null_frame(new SrsMediaPacket()); + null_frame->message_type_ = SrsFrameTypeAudio; + null_frame->timestamp_ = 2000; + // Don't wrap any data, payload will be NULL - // Create very short audio data (less than minimum required) - char *short_data = new char[1]; - short_data[0] = 0xFF; // Some data but too short to parse properly - - short_frame->wrap(short_data, 1); - short_frame->timestamp_ = 2000; - - // This should also result in format_->acodec_ being NULL after parsing - HELPER_EXPECT_SUCCESS(builder.on_frame(short_frame.get())); + // This should call format_->on_audio(msg) with NULL payload which returns success + HELPER_EXPECT_SUCCESS(builder.on_frame(null_frame.get())); // Verify that frames were processed successfully EXPECT_TRUE(true); // Basic test passed - no crash occurred @@ -3424,8 +3419,8 @@ VOID TEST(StreamBridgeTest, SrsRtcRtpBuilder_OnAudioUnsupportedCodec) speex_frame->wrap(speex_data, 6); speex_frame->timestamp_ = 2000; - // This should also fail the codec validation since Speex is not AAC or MP3 - HELPER_EXPECT_SUCCESS(builder.on_frame(speex_frame.get())); + // This should fail the codec validation since Speex is not MP3/AAC/Opus + HELPER_EXPECT_FAILED(builder.on_frame(speex_frame.get())); // Test with Linear PCM codec (codec ID 0) SrsUniquePtr pcm_frame(new SrsMediaPacket()); @@ -3443,8 +3438,8 @@ VOID TEST(StreamBridgeTest, SrsRtcRtpBuilder_OnAudioUnsupportedCodec) pcm_frame->wrap(pcm_data, 6); pcm_frame->timestamp_ = 3000; - // This should also fail the codec validation since Linear PCM is not AAC or MP3 - HELPER_EXPECT_SUCCESS(builder.on_frame(pcm_frame.get())); + // This should also fail the codec validation since Linear PCM is not MP3/AAC/Opus + HELPER_EXPECT_FAILED(builder.on_frame(pcm_frame.get())); // Verify that frames were processed successfully EXPECT_TRUE(true); // Basic test passed - no crash occurred @@ -3577,8 +3572,7 @@ VOID TEST(StreamBridgeTest, SrsRtcRtpBuilder_OnAudioCodecValidationFailure) // This should succeed and set up format_->acodec_ HELPER_EXPECT_SUCCESS(builder.on_frame(aac_frame.get())); - // Now test with Linear PCM codec (ID=0) which is not supported by RTC builder - // but could theoretically be parsed (though format_ doesn't actually support it either) + // Now test with Linear PCM codec (ID=0) which is not supported by format SrsUniquePtr pcm_frame(new SrsMediaPacket()); pcm_frame->message_type_ = SrsFrameTypeAudio; @@ -3593,9 +3587,9 @@ VOID TEST(StreamBridgeTest, SrsRtcRtpBuilder_OnAudioCodecValidationFailure) pcm_frame->wrap(pcm_data, 6); pcm_frame->timestamp_ = 2000; - // This should call format_->on_audio() which will not parse Linear PCM (returns early), - // so format_->acodec_ will remain NULL, covering the path at lines 1033-1035 - HELPER_EXPECT_SUCCESS(builder.on_frame(pcm_frame.get())); + // This should call format_->on_audio() which will return error for unsupported codec + // SrsFormat::on_audio validates codec and returns error for non-MP3/AAC/Opus codecs + HELPER_EXPECT_FAILED(builder.on_frame(pcm_frame.get())); // Verify that frames were processed successfully EXPECT_TRUE(true); // Test passed - covered codec validation paths @@ -3626,7 +3620,7 @@ VOID TEST(StreamBridgeTest, SrsRtcRtpBuilder_OnAudioComprehensiveCoverage) // This covers the path where format_->on_audio() handles NULL/empty data gracefully HELPER_EXPECT_SUCCESS(builder.on_frame(empty_frame.get())); - // Test 2: Invalid codec data - covers format_->acodec_ being NULL after parsing + // Test 2: Invalid codec data - covers format_->on_audio() returning error for unsupported codec SrsUniquePtr invalid_frame(new SrsMediaPacket()); invalid_frame->message_type_ = SrsFrameTypeAudio; @@ -3637,8 +3631,8 @@ VOID TEST(StreamBridgeTest, SrsRtcRtpBuilder_OnAudioComprehensiveCoverage) invalid_frame->wrap(invalid_data, 2); invalid_frame->timestamp_ = 2000; - // This covers the path where format_->acodec_ is NULL (lines 1033-1035) - HELPER_EXPECT_SUCCESS(builder.on_frame(invalid_frame.get())); + // This covers the path where format_->on_audio() returns error for unsupported codec + HELPER_EXPECT_FAILED(builder.on_frame(invalid_frame.get())); // Test 3: OPUS codec - covers format_->on_audio() error path SrsUniquePtr opus_frame(new SrsMediaPacket()); diff --git a/trunk/src/utest/srs_utest_ai11.hpp b/trunk/src/utest/srs_utest_ai11.hpp index e0420aed6..0c248691e 100644 --- a/trunk/src/utest/srs_utest_ai11.hpp +++ b/trunk/src/utest/srs_utest_ai11.hpp @@ -23,7 +23,7 @@ #include #include #include -#include +#include // Mock ISrsResourceManager for testing SrsGbMediaTcpConn::bind_session class MockResourceManagerForBindSession : public ISrsResourceManager diff --git a/trunk/src/utest/srs_utest_ai12.hpp b/trunk/src/utest/srs_utest_ai12.hpp index 10b8b6fcd..0ce0ca983 100644 --- a/trunk/src/utest/srs_utest_ai12.hpp +++ b/trunk/src/utest/srs_utest_ai12.hpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include // Mock video recv track for testing check_send_nacks class MockRtcVideoRecvTrackForNack : public SrsRtcVideoRecvTrack diff --git a/trunk/src/utest/srs_utest_ai13.cpp b/trunk/src/utest/srs_utest_ai13.cpp index 44ef34881..5a1e07be9 100644 --- a/trunk/src/utest/srs_utest_ai13.cpp +++ b/trunk/src/utest/srs_utest_ai13.cpp @@ -15,7 +15,7 @@ using namespace std; #include #include #include -#include +#include // Mock app config implementation for HLS notify testing MockAppConfigForHlsNotify::MockAppConfigForHlsNotify() diff --git a/trunk/src/utest/srs_utest_ai13.hpp b/trunk/src/utest/srs_utest_ai13.hpp index b8d5e7947..fd5114cf9 100644 --- a/trunk/src/utest/srs_utest_ai13.hpp +++ b/trunk/src/utest/srs_utest_ai13.hpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include // Extended mock app config for HLS notify testing class MockAppConfigForHlsNotify : public MockAppConfig diff --git a/trunk/src/utest/srs_utest_ai14.cpp b/trunk/src/utest/srs_utest_ai14.cpp index 7712128a2..d65690de3 100644 --- a/trunk/src/utest/srs_utest_ai14.cpp +++ b/trunk/src/utest/srs_utest_ai14.cpp @@ -25,9 +25,9 @@ using namespace std; #include #include #include -#include -#include -#include +#include +#include +#include MockMediaPacketForJitter::MockMediaPacketForJitter(int64_t timestamp, bool is_av) { diff --git a/trunk/src/utest/srs_utest_ai15.cpp b/trunk/src/utest/srs_utest_ai15.cpp index ec898f38f..d463f24f3 100644 --- a/trunk/src/utest/srs_utest_ai15.cpp +++ b/trunk/src/utest/srs_utest_ai15.cpp @@ -27,6 +27,22 @@ using namespace std; #include #include +// Mock PID file locker implementation for SrsServer::initialize() testing +MockPidFileLocker::MockPidFileLocker() +{ +} + +MockPidFileLocker::~MockPidFileLocker() +{ +} + +srs_error_t MockPidFileLocker::acquire() +{ + // Mock implementation that always succeeds without actually locking a file + // This allows tests to run even when a real SRS server is running + return srs_success; +} + // Mock config implementation for SrsServer::listen() testing MockAppConfigForServerListen::MockAppConfigForServerListen() { @@ -170,6 +186,11 @@ VOID TEST(SrsServerTest, InitializeSuccess) SrsUniquePtr server(new SrsServer()); EXPECT_TRUE(server.get() != NULL); + // Replace the PID file locker with a mock to avoid conflicts with running SRS server + SrsPidFileLocker *original_locker = server->pid_file_locker_; + MockPidFileLocker *mock_locker = new MockPidFileLocker(); + server->pid_file_locker_ = mock_locker; + // Call initialize() - this is the main test // This will initialize all server components in the correct sequence: // 1. PID file locker acquisition @@ -188,6 +209,10 @@ VOID TEST(SrsServerTest, InitializeSuccess) // The fact that initialize() returned success means all components // were initialized properly without errors EXPECT_TRUE(server.get() != NULL); + + // Restore original locker and cleanup mock + server->pid_file_locker_ = original_locker; + srs_freep(mock_locker); } // Test SrsServer::listen() method to verify proper listener setup for RTMP protocol. @@ -212,6 +237,11 @@ VOID TEST(SrsServerTest, ListenRtmpSuccess) // Inject mock config server->config_ = &mock_config; + // Replace the PID file locker with a mock to avoid conflicts with running SRS server + SrsPidFileLocker *original_locker = server->pid_file_locker_; + MockPidFileLocker *mock_locker = new MockPidFileLocker(); + server->pid_file_locker_ = mock_locker; + // Initialize server first (required before listen) HELPER_EXPECT_SUCCESS(server->initialize()); @@ -228,6 +258,10 @@ VOID TEST(SrsServerTest, ListenRtmpSuccess) // - Socket binding succeeded on the random port // - Connection manager started successfully EXPECT_TRUE(server.get() != NULL); + + // Restore original locker and cleanup mock + server->pid_file_locker_ = original_locker; + srs_freep(mock_locker); } // Test SrsServer::http_handle() method to verify proper HTTP API handler registration. diff --git a/trunk/src/utest/srs_utest_ai15.hpp b/trunk/src/utest/srs_utest_ai15.hpp index b450c5940..191aa6659 100644 --- a/trunk/src/utest/srs_utest_ai15.hpp +++ b/trunk/src/utest/srs_utest_ai15.hpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -69,6 +70,17 @@ public: virtual std::string get_exporter_listen(); }; +// Mock PID file locker for testing SrsServer::initialize() +class MockPidFileLocker : public SrsPidFileLocker +{ +public: + MockPidFileLocker(); + virtual ~MockPidFileLocker(); + +public: + virtual srs_error_t acquire(); +}; + // Mock ISrsLog for testing SrsServer::on_signal() class MockLogForSignal : public ISrsLog { diff --git a/trunk/src/utest/srs_utest_ai16.cpp b/trunk/src/utest/srs_utest_ai16.cpp index e6358c41f..97ff408b9 100644 --- a/trunk/src/utest/srs_utest_ai16.cpp +++ b/trunk/src/utest/srs_utest_ai16.cpp @@ -20,8 +20,8 @@ using namespace std; #include #include #include -#include -#include +#include +#include #include // External function declarations for testing diff --git a/trunk/src/utest/srs_utest_ai17.cpp b/trunk/src/utest/srs_utest_ai17.cpp index f0e0e36bd..0e8385e53 100644 --- a/trunk/src/utest/srs_utest_ai17.cpp +++ b/trunk/src/utest/srs_utest_ai17.cpp @@ -23,10 +23,10 @@ using namespace std; #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include // Mock ISrsMpdWriter implementation MockMpdWriter::MockMpdWriter() diff --git a/trunk/src/utest/srs_utest_ai19.cpp b/trunk/src/utest/srs_utest_ai19.cpp index 362a06356..a3d348224 100644 --- a/trunk/src/utest/srs_utest_ai19.cpp +++ b/trunk/src/utest/srs_utest_ai19.cpp @@ -28,8 +28,8 @@ using namespace std; #include #include #include -#include -#include +#include +#include // Mock ISrsAppConfig implementation MockAppConfigForUdpCaster::MockAppConfigForUdpCaster() diff --git a/trunk/src/utest/srs_utest_ai19.hpp b/trunk/src/utest/srs_utest_ai19.hpp index befee6f4b..a4fbc736c 100644 --- a/trunk/src/utest/srs_utest_ai19.hpp +++ b/trunk/src/utest/srs_utest_ai19.hpp @@ -27,7 +27,7 @@ #include #include #include -#include +#include // Mock ISrsAppConfig for testing SrsUdpCasterListener class MockAppConfigForUdpCaster : public MockAppConfig diff --git a/trunk/src/utest/srs_utest_ai20.cpp b/trunk/src/utest/srs_utest_ai20.cpp index 8d2f320a8..109772b58 100644 --- a/trunk/src/utest/srs_utest_ai20.cpp +++ b/trunk/src/utest/srs_utest_ai20.cpp @@ -12,7 +12,7 @@ using namespace std; #include #include #include -#include +#include #include // Mock ISrsSignalHandler implementation diff --git a/trunk/src/utest/srs_utest_ai21.cpp b/trunk/src/utest/srs_utest_ai21.cpp index 75b35b457..61a014a93 100644 --- a/trunk/src/utest/srs_utest_ai21.cpp +++ b/trunk/src/utest/srs_utest_ai21.cpp @@ -22,8 +22,8 @@ using namespace std; #include #include #include -#include -#include +#include +#include // Mock frame target implementation MockSrtFrameTarget::MockSrtFrameTarget() diff --git a/trunk/src/utest/srs_utest_ai22.cpp b/trunk/src/utest/srs_utest_ai22.cpp index e1bdc7d39..1f5d583f1 100644 --- a/trunk/src/utest/srs_utest_ai22.cpp +++ b/trunk/src/utest/srs_utest_ai22.cpp @@ -22,10 +22,10 @@ using namespace std; #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include // Mock request implementation MockEdgeRequest::MockEdgeRequest(std::string vhost, std::string app, std::string stream) @@ -1049,7 +1049,7 @@ VOID TEST(EdgeIngesterTest, ProcessPublishMessageAudioVideo) srs_freep(ingester->upstream_); ingester->upstream_ = mock_upstream; - // Test 1: Process audio message + // Test 1: Process audio message with valid AAC codec { SrsUniquePtr audio_msg(new SrsRtmpCommonMessage()); audio_msg->header_.message_type_ = RTMP_MSG_AudioMessage; @@ -1057,6 +1057,14 @@ VOID TEST(EdgeIngesterTest, ProcessPublishMessageAudioVideo) audio_msg->header_.timestamp_ = 1000; audio_msg->create_payload(10); + // Set valid AAC audio data (codec ID 10) + char *payload = audio_msg->payload(); + payload[0] = 0xAF; // AAC codec (ID=10), 44kHz, 16-bit, stereo + payload[1] = 0x01; // AAC raw data (not sequence header) + for (int i = 2; i < 10; i++) { + payload[i] = 0x00; // Sample AAC data + } + std::string redirect; HELPER_EXPECT_SUCCESS(ingester->process_publish_message(audio_msg.get(), redirect)); } diff --git a/trunk/src/utest/srs_utest_ai23.cpp b/trunk/src/utest/srs_utest_ai23.cpp index ecf072ab3..879e73d70 100644 --- a/trunk/src/utest/srs_utest_ai23.cpp +++ b/trunk/src/utest/srs_utest_ai23.cpp @@ -25,9 +25,9 @@ using namespace std; #include #include #include -#include -#include -#include +#include +#include +#include // Mock ISrsGbMuxer implementation MockGbMuxer::MockGbMuxer() diff --git a/trunk/src/utest/srs_utest_amf0.cpp b/trunk/src/utest/srs_utest_manual_amf0.cpp similarity index 99% rename from trunk/src/utest/srs_utest_amf0.cpp rename to trunk/src/utest/srs_utest_manual_amf0.cpp index 2ce441f79..b87d026e3 100644 --- a/trunk/src/utest/srs_utest_amf0.cpp +++ b/trunk/src/utest/srs_utest_manual_amf0.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include #include using namespace std; diff --git a/trunk/src/utest/srs_utest_amf0.hpp b/trunk/src/utest/srs_utest_manual_amf0.hpp similarity index 100% rename from trunk/src/utest/srs_utest_amf0.hpp rename to trunk/src/utest/srs_utest_manual_amf0.hpp diff --git a/trunk/src/utest/srs_utest_app.cpp b/trunk/src/utest/srs_utest_manual_app.cpp similarity index 99% rename from trunk/src/utest/srs_utest_app.cpp rename to trunk/src/utest/srs_utest_manual_app.cpp index 97cd9c040..92cb13126 100644 --- a/trunk/src/utest/srs_utest_app.cpp +++ b/trunk/src/utest/srs_utest_manual_app.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include using namespace std; diff --git a/trunk/src/utest/srs_utest_app.hpp b/trunk/src/utest/srs_utest_manual_app.hpp similarity index 83% rename from trunk/src/utest/srs_utest_app.hpp rename to trunk/src/utest/srs_utest_manual_app.hpp index 6fa70aa07..8c9a3027e 100644 --- a/trunk/src/utest/srs_utest_app.hpp +++ b/trunk/src/utest/srs_utest_manual_app.hpp @@ -8,7 +8,7 @@ #define SRS_UTEST_APP_HPP /* -#include +#include */ #include diff --git a/trunk/src/utest/srs_utest_app_rtc2rtmp.cpp b/trunk/src/utest/srs_utest_manual_app_rtc2rtmp.cpp similarity index 99% rename from trunk/src/utest/srs_utest_app_rtc2rtmp.cpp rename to trunk/src/utest/srs_utest_manual_app_rtc2rtmp.cpp index 36d124c1d..615afd157 100644 --- a/trunk/src/utest/srs_utest_app_rtc2rtmp.cpp +++ b/trunk/src/utest/srs_utest_manual_app_rtc2rtmp.cpp @@ -4,7 +4,7 @@ // SPDX-License-Identifier: MIT // -#include +#include #include #include @@ -16,7 +16,7 @@ #include #include -#include +#include #include using namespace std; diff --git a/trunk/src/utest/srs_utest_app_rtc2rtmp.hpp b/trunk/src/utest/srs_utest_manual_app_rtc2rtmp.hpp similarity index 100% rename from trunk/src/utest/srs_utest_app_rtc2rtmp.hpp rename to trunk/src/utest/srs_utest_manual_app_rtc2rtmp.hpp diff --git a/trunk/src/utest/srs_utest_avc.cpp b/trunk/src/utest/srs_utest_manual_avc.cpp similarity index 99% rename from trunk/src/utest/srs_utest_avc.cpp rename to trunk/src/utest/srs_utest_manual_avc.cpp index 568a36ac8..8cabf67eb 100644 --- a/trunk/src/utest/srs_utest_avc.cpp +++ b/trunk/src/utest/srs_utest_manual_avc.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_avc.hpp b/trunk/src/utest/srs_utest_manual_avc.hpp similarity index 100% rename from trunk/src/utest/srs_utest_avc.hpp rename to trunk/src/utest/srs_utest_manual_avc.hpp diff --git a/trunk/src/utest/srs_utest_config.cpp b/trunk/src/utest/srs_utest_manual_config.cpp similarity index 99% rename from trunk/src/utest/srs_utest_config.cpp rename to trunk/src/utest/srs_utest_manual_config.cpp index 2e8a6bedb..679ce7f81 100644 --- a/trunk/src/utest/srs_utest_config.cpp +++ b/trunk/src/utest/srs_utest_manual_config.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include using namespace std; @@ -16,7 +16,7 @@ using namespace std; #include #include #include -#include +#include MockSrsConfigBuffer::MockSrsConfigBuffer(string buf) { diff --git a/trunk/src/utest/srs_utest_config.hpp b/trunk/src/utest/srs_utest_manual_config.hpp similarity index 98% rename from trunk/src/utest/srs_utest_config.hpp rename to trunk/src/utest/srs_utest_manual_config.hpp index e9d4f68a1..8a86b6d3b 100644 --- a/trunk/src/utest/srs_utest_config.hpp +++ b/trunk/src/utest/srs_utest_manual_config.hpp @@ -8,7 +8,7 @@ #define SRS_UTEST_CONFIG_HPP /* -#include +#include */ #include diff --git a/trunk/src/utest/srs_utest_config2.cpp b/trunk/src/utest/srs_utest_manual_config2.cpp similarity index 99% rename from trunk/src/utest/srs_utest_config2.cpp rename to trunk/src/utest/srs_utest_manual_config2.cpp index 46be2b7ba..895b69323 100644 --- a/trunk/src/utest/srs_utest_config2.cpp +++ b/trunk/src/utest/srs_utest_manual_config2.cpp @@ -3,13 +3,13 @@ // // SPDX-License-Identifier: MIT // -#include +#include #include #include #include #include -#include +#include VOID TEST(ConfigMainTest, CheckIncludeEmptyConfig) { diff --git a/trunk/src/utest/srs_utest_config2.hpp b/trunk/src/utest/srs_utest_manual_config2.hpp similarity index 83% rename from trunk/src/utest/srs_utest_config2.hpp rename to trunk/src/utest/srs_utest_manual_config2.hpp index 2c2af02f4..c9f91d040 100644 --- a/trunk/src/utest/srs_utest_config2.hpp +++ b/trunk/src/utest/srs_utest_manual_config2.hpp @@ -10,6 +10,6 @@ /* #include */ -#include +#include #endif diff --git a/trunk/src/utest/srs_utest_core.cpp b/trunk/src/utest/srs_utest_manual_core.cpp similarity index 99% rename from trunk/src/utest/srs_utest_core.cpp rename to trunk/src/utest/srs_utest_manual_core.cpp index 18e3f8207..51c131358 100644 --- a/trunk/src/utest/srs_utest_core.cpp +++ b/trunk/src/utest/srs_utest_manual_core.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include using namespace std; diff --git a/trunk/src/utest/srs_utest_core.hpp b/trunk/src/utest/srs_utest_manual_core.hpp similarity index 100% rename from trunk/src/utest/srs_utest_core.hpp rename to trunk/src/utest/srs_utest_manual_core.hpp diff --git a/trunk/src/utest/srs_utest_coworkers.cpp b/trunk/src/utest/srs_utest_manual_coworkers.cpp similarity index 98% rename from trunk/src/utest/srs_utest_coworkers.cpp rename to trunk/src/utest/srs_utest_manual_coworkers.cpp index 585085d90..f7561aecc 100644 --- a/trunk/src/utest/srs_utest_coworkers.cpp +++ b/trunk/src/utest/srs_utest_manual_coworkers.cpp @@ -4,7 +4,7 @@ // SPDX-License-Identifier: MIT // -#include +#include using namespace std; @@ -14,7 +14,7 @@ using namespace std; #include #include #include -#include +#include // Use the config from srs_utest_config.hpp diff --git a/trunk/src/utest/srs_utest_coworkers.hpp b/trunk/src/utest/srs_utest_manual_coworkers.hpp similarity index 100% rename from trunk/src/utest/srs_utest_coworkers.hpp rename to trunk/src/utest/srs_utest_manual_coworkers.hpp diff --git a/trunk/src/utest/srs_utest_fmp4.cpp b/trunk/src/utest/srs_utest_manual_fmp4.cpp similarity index 99% rename from trunk/src/utest/srs_utest_fmp4.cpp rename to trunk/src/utest/srs_utest_manual_fmp4.cpp index a4a062d0b..1dfce2f94 100644 --- a/trunk/src/utest/srs_utest_fmp4.cpp +++ b/trunk/src/utest/srs_utest_manual_fmp4.cpp @@ -4,7 +4,7 @@ // SPDX-License-Identifier: MIT // -#include +#include #include using namespace std; @@ -16,7 +16,7 @@ using namespace std; #include #include #include -#include +#include // Mock class implementations MockFmp4SrsRequest::MockFmp4SrsRequest() diff --git a/trunk/src/utest/srs_utest_fmp4.hpp b/trunk/src/utest/srs_utest_manual_fmp4.hpp similarity index 94% rename from trunk/src/utest/srs_utest_fmp4.hpp rename to trunk/src/utest/srs_utest_manual_fmp4.hpp index 7fa2dc0e6..cc4a013a0 100644 --- a/trunk/src/utest/srs_utest_fmp4.hpp +++ b/trunk/src/utest/srs_utest_manual_fmp4.hpp @@ -8,7 +8,7 @@ #define SRS_UTEST_FMP4_HPP /* -#include +#include */ #include diff --git a/trunk/src/utest/srs_utest_gb28181.cpp b/trunk/src/utest/srs_utest_manual_gb28181.cpp similarity index 99% rename from trunk/src/utest/srs_utest_gb28181.cpp rename to trunk/src/utest/srs_utest_manual_gb28181.cpp index 8ef0817e4..565a160cd 100644 --- a/trunk/src/utest/srs_utest_gb28181.cpp +++ b/trunk/src/utest/srs_utest_manual_gb28181.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include #include using namespace std; @@ -19,8 +19,8 @@ using namespace std; #include #include #include -#include -#include +#include +#include VOID TEST(KernelPSTest, PsPacketDecodePartialPesHeader) { diff --git a/trunk/src/utest/srs_utest_gb28181.hpp b/trunk/src/utest/srs_utest_manual_gb28181.hpp similarity index 83% rename from trunk/src/utest/srs_utest_gb28181.hpp rename to trunk/src/utest/srs_utest_manual_gb28181.hpp index 4617cffbe..6bf0dcc0f 100644 --- a/trunk/src/utest/srs_utest_gb28181.hpp +++ b/trunk/src/utest/srs_utest_manual_gb28181.hpp @@ -10,6 +10,6 @@ /* #include */ -#include +#include #endif diff --git a/trunk/src/utest/srs_utest_hevc_structs.cpp b/trunk/src/utest/srs_utest_manual_hevc_structs.cpp similarity index 100% rename from trunk/src/utest/srs_utest_hevc_structs.cpp rename to trunk/src/utest/srs_utest_manual_hevc_structs.cpp diff --git a/trunk/src/utest/srs_utest_hevc_structs.hpp b/trunk/src/utest/srs_utest_manual_hevc_structs.hpp similarity index 100% rename from trunk/src/utest/srs_utest_hevc_structs.hpp rename to trunk/src/utest/srs_utest_manual_hevc_structs.hpp diff --git a/trunk/src/utest/srs_utest_http.cpp b/trunk/src/utest/srs_utest_manual_http.cpp similarity index 99% rename from trunk/src/utest/srs_utest_http.cpp rename to trunk/src/utest/srs_utest_manual_http.cpp index 27faf453c..86183dc6b 100644 --- a/trunk/src/utest/srs_utest_http.cpp +++ b/trunk/src/utest/srs_utest_manual_http.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include #include using namespace std; @@ -16,8 +16,8 @@ using namespace std; #include #include #include -#include -#include +#include +#include MockMSegmentsReader::MockMSegmentsReader() { diff --git a/trunk/src/utest/srs_utest_http.hpp b/trunk/src/utest/srs_utest_manual_http.hpp similarity index 97% rename from trunk/src/utest/srs_utest_http.hpp rename to trunk/src/utest/srs_utest_manual_http.hpp index c414b55e0..513115ad4 100644 --- a/trunk/src/utest/srs_utest_http.hpp +++ b/trunk/src/utest/srs_utest_manual_http.hpp @@ -8,13 +8,13 @@ #define SRS_UTEST_PROTO_STACK_HPP /* -#include +#include */ #include #include #include -#include +#include #include using namespace std; diff --git a/trunk/src/utest/srs_utest_kernel.cpp b/trunk/src/utest/srs_utest_manual_kernel.cpp similarity index 99% rename from trunk/src/utest/srs_utest_kernel.cpp rename to trunk/src/utest/srs_utest_manual_kernel.cpp index 7aca88a5f..a0c0003ad 100644 --- a/trunk/src/utest/srs_utest_kernel.cpp +++ b/trunk/src/utest/srs_utest_manual_kernel.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include using namespace std; diff --git a/trunk/src/utest/srs_utest_kernel.hpp b/trunk/src/utest/srs_utest_manual_kernel.hpp similarity index 99% rename from trunk/src/utest/srs_utest_kernel.hpp rename to trunk/src/utest/srs_utest_manual_kernel.hpp index 8a3c578a1..d7a335923 100644 --- a/trunk/src/utest/srs_utest_kernel.hpp +++ b/trunk/src/utest/srs_utest_manual_kernel.hpp @@ -8,7 +8,7 @@ #define SRS_UTEST_KERNEL_HPP /* -#include +#include */ #include diff --git a/trunk/src/utest/srs_utest_kernel2.cpp b/trunk/src/utest/srs_utest_manual_kernel2.cpp similarity index 99% rename from trunk/src/utest/srs_utest_kernel2.cpp rename to trunk/src/utest/srs_utest_manual_kernel2.cpp index 9a1a51500..0b4f63a5d 100644 --- a/trunk/src/utest/srs_utest_kernel2.cpp +++ b/trunk/src/utest/srs_utest_manual_kernel2.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_kernel2.hpp b/trunk/src/utest/srs_utest_manual_kernel2.hpp similarity index 84% rename from trunk/src/utest/srs_utest_kernel2.hpp rename to trunk/src/utest/srs_utest_manual_kernel2.hpp index 0e780818a..21ea2021a 100644 --- a/trunk/src/utest/srs_utest_kernel2.hpp +++ b/trunk/src/utest/srs_utest_manual_kernel2.hpp @@ -12,6 +12,6 @@ */ #include -#include +#include #endif diff --git a/trunk/src/utest/srs_utest_mock.cpp b/trunk/src/utest/srs_utest_manual_mock.cpp similarity index 99% rename from trunk/src/utest/srs_utest_mock.cpp rename to trunk/src/utest/srs_utest_manual_mock.cpp index 3d2185e85..12f1e024d 100644 --- a/trunk/src/utest/srs_utest_mock.cpp +++ b/trunk/src/utest/srs_utest_manual_mock.cpp @@ -4,7 +4,7 @@ // SPDX-License-Identifier: MIT // -#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_mock.hpp b/trunk/src/utest/srs_utest_manual_mock.hpp similarity index 100% rename from trunk/src/utest/srs_utest_mock.hpp rename to trunk/src/utest/srs_utest_manual_mock.hpp diff --git a/trunk/src/utest/srs_utest_mp4.cpp b/trunk/src/utest/srs_utest_manual_mp4.cpp similarity index 99% rename from trunk/src/utest/srs_utest_mp4.cpp rename to trunk/src/utest/srs_utest_manual_mp4.cpp index 890f90f74..02eb05a79 100644 --- a/trunk/src/utest/srs_utest_mp4.cpp +++ b/trunk/src/utest/srs_utest_manual_mp4.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include #include using namespace std; @@ -12,7 +12,7 @@ using namespace std; #include #include #include -#include +#include VOID TEST(KernelMp4Test, PrintPadding) { diff --git a/trunk/src/utest/srs_utest_mp4.hpp b/trunk/src/utest/srs_utest_manual_mp4.hpp similarity index 100% rename from trunk/src/utest/srs_utest_mp4.hpp rename to trunk/src/utest/srs_utest_manual_mp4.hpp diff --git a/trunk/src/utest/srs_utest_pithy_print.cpp b/trunk/src/utest/srs_utest_manual_pithy_print.cpp similarity index 99% rename from trunk/src/utest/srs_utest_pithy_print.cpp rename to trunk/src/utest/srs_utest_manual_pithy_print.cpp index f80aa8d03..2ddb74457 100644 --- a/trunk/src/utest/srs_utest_pithy_print.cpp +++ b/trunk/src/utest/srs_utest_manual_pithy_print.cpp @@ -4,7 +4,7 @@ // SPDX-License-Identifier: MIT // -#include +#include using namespace std; diff --git a/trunk/src/utest/srs_utest_pithy_print.hpp b/trunk/src/utest/srs_utest_manual_pithy_print.hpp similarity index 100% rename from trunk/src/utest/srs_utest_pithy_print.hpp rename to trunk/src/utest/srs_utest_manual_pithy_print.hpp diff --git a/trunk/src/utest/srs_utest_protocol.cpp b/trunk/src/utest/srs_utest_manual_protocol.cpp similarity index 99% rename from trunk/src/utest/srs_utest_protocol.cpp rename to trunk/src/utest/srs_utest_manual_protocol.cpp index 1967140e5..7f5e232bc 100644 --- a/trunk/src/utest/srs_utest_protocol.cpp +++ b/trunk/src/utest/srs_utest_manual_protocol.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include using namespace std; diff --git a/trunk/src/utest/srs_utest_protocol.hpp b/trunk/src/utest/srs_utest_manual_protocol.hpp similarity index 98% rename from trunk/src/utest/srs_utest_protocol.hpp rename to trunk/src/utest/srs_utest_manual_protocol.hpp index b8f9129e4..a23b965cc 100644 --- a/trunk/src/utest/srs_utest_protocol.hpp +++ b/trunk/src/utest/srs_utest_manual_protocol.hpp @@ -8,7 +8,7 @@ #define SRS_UTEST_PROTOCOL_HPP /* -#include +#include */ #include diff --git a/trunk/src/utest/srs_utest_protocol2.cpp b/trunk/src/utest/srs_utest_manual_protocol2.cpp similarity index 99% rename from trunk/src/utest/srs_utest_protocol2.cpp rename to trunk/src/utest/srs_utest_manual_protocol2.cpp index 38c17fc5e..9512111ef 100644 --- a/trunk/src/utest/srs_utest_protocol2.cpp +++ b/trunk/src/utest/srs_utest_manual_protocol2.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include using namespace std; diff --git a/trunk/src/utest/srs_utest_protocol2.hpp b/trunk/src/utest/srs_utest_manual_protocol2.hpp similarity index 66% rename from trunk/src/utest/srs_utest_protocol2.hpp rename to trunk/src/utest/srs_utest_manual_protocol2.hpp index dc0b5b983..f0d053294 100644 --- a/trunk/src/utest/srs_utest_protocol2.hpp +++ b/trunk/src/utest/srs_utest_manual_protocol2.hpp @@ -8,8 +8,8 @@ #define SRS_UTEST_PROTOCOL2_HPP /* -#include +#include */ -#include +#include #endif diff --git a/trunk/src/utest/srs_utest_protocol3.cpp b/trunk/src/utest/srs_utest_manual_protocol3.cpp similarity index 99% rename from trunk/src/utest/srs_utest_protocol3.cpp rename to trunk/src/utest/srs_utest_manual_protocol3.cpp index 14bfa6c78..084ab256c 100644 --- a/trunk/src/utest/srs_utest_protocol3.cpp +++ b/trunk/src/utest/srs_utest_manual_protocol3.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include using namespace std; diff --git a/trunk/src/utest/srs_utest_protocol3.hpp b/trunk/src/utest/srs_utest_manual_protocol3.hpp similarity index 86% rename from trunk/src/utest/srs_utest_protocol3.hpp rename to trunk/src/utest/srs_utest_manual_protocol3.hpp index 48037110c..afc836fef 100644 --- a/trunk/src/utest/srs_utest_protocol3.hpp +++ b/trunk/src/utest/srs_utest_manual_protocol3.hpp @@ -8,9 +8,9 @@ #define SRS_UTEST_PROTOCOL3_HPP /* -#include +#include */ -#include +#include #include diff --git a/trunk/src/utest/srs_utest_reload.cpp b/trunk/src/utest/srs_utest_manual_reload.cpp similarity index 98% rename from trunk/src/utest/srs_utest_reload.cpp rename to trunk/src/utest/srs_utest_manual_reload.cpp index 2d342e3ed..b3ba4e084 100644 --- a/trunk/src/utest/srs_utest_reload.cpp +++ b/trunk/src/utest/srs_utest_manual_reload.cpp @@ -4,7 +4,7 @@ // SPDX-License-Identifier: MIT // -#include +#include using namespace std; diff --git a/trunk/src/utest/srs_utest_reload.hpp b/trunk/src/utest/srs_utest_manual_reload.hpp similarity index 95% rename from trunk/src/utest/srs_utest_reload.hpp rename to trunk/src/utest/srs_utest_manual_reload.hpp index f30b8e82f..a132f9e9d 100644 --- a/trunk/src/utest/srs_utest_reload.hpp +++ b/trunk/src/utest/srs_utest_manual_reload.hpp @@ -13,7 +13,7 @@ #include #include -#include +#include class MockReloadHandler : public ISrsReloadHandler { diff --git a/trunk/src/utest/srs_utest_rtc.cpp b/trunk/src/utest/srs_utest_manual_rtc.cpp similarity index 99% rename from trunk/src/utest/srs_utest_rtc.cpp rename to trunk/src/utest/srs_utest_manual_rtc.cpp index fd83ea40a..0416512b1 100644 --- a/trunk/src/utest/srs_utest_rtc.cpp +++ b/trunk/src/utest/srs_utest_manual_rtc.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include #include #include @@ -16,8 +16,8 @@ #include #include -#include -#include +#include +#include #include using namespace std; diff --git a/trunk/src/utest/srs_utest_rtc.hpp b/trunk/src/utest/srs_utest_manual_rtc.hpp similarity index 100% rename from trunk/src/utest/srs_utest_rtc.hpp rename to trunk/src/utest/srs_utest_manual_rtc.hpp diff --git a/trunk/src/utest/srs_utest_rtc_recv_track.cpp b/trunk/src/utest/srs_utest_manual_rtc_recv_track.cpp similarity index 99% rename from trunk/src/utest/srs_utest_rtc_recv_track.cpp rename to trunk/src/utest/srs_utest_manual_rtc_recv_track.cpp index e18a3f07b..e6e95b72e 100644 --- a/trunk/src/utest/srs_utest_rtc_recv_track.cpp +++ b/trunk/src/utest/srs_utest_manual_rtc_recv_track.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include "srs_utest_rtc_recv_track.hpp" +#include "srs_utest_manual_rtc_recv_track.hpp" #include #include diff --git a/trunk/src/utest/srs_utest_rtc_recv_track.hpp b/trunk/src/utest/srs_utest_manual_rtc_recv_track.hpp similarity index 85% rename from trunk/src/utest/srs_utest_rtc_recv_track.hpp rename to trunk/src/utest/srs_utest_manual_rtc_recv_track.hpp index 3474cc9ce..b170fde38 100644 --- a/trunk/src/utest/srs_utest_rtc_recv_track.hpp +++ b/trunk/src/utest/srs_utest_manual_rtc_recv_track.hpp @@ -11,6 +11,6 @@ #include */ #include -#include +#include #endif diff --git a/trunk/src/utest/srs_utest_rtmp.cpp b/trunk/src/utest/srs_utest_manual_rtmp.cpp similarity index 99% rename from trunk/src/utest/srs_utest_rtmp.cpp rename to trunk/src/utest/srs_utest_manual_rtmp.cpp index 4439a6a44..2e61a468e 100644 --- a/trunk/src/utest/srs_utest_rtmp.cpp +++ b/trunk/src/utest/srs_utest_manual_rtmp.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_rtmp.hpp b/trunk/src/utest/srs_utest_manual_rtmp.hpp similarity index 95% rename from trunk/src/utest/srs_utest_rtmp.hpp rename to trunk/src/utest/srs_utest_manual_rtmp.hpp index 3622a5a0f..6feb66245 100644 --- a/trunk/src/utest/srs_utest_rtmp.hpp +++ b/trunk/src/utest/srs_utest_manual_rtmp.hpp @@ -13,7 +13,7 @@ #include #include -#include +#include // Mock classes for RTMP testing class MockPacket : public SrsRtmpCommand diff --git a/trunk/src/utest/srs_utest_service.cpp b/trunk/src/utest/srs_utest_manual_service.cpp similarity index 99% rename from trunk/src/utest/srs_utest_service.cpp rename to trunk/src/utest/srs_utest_manual_service.cpp index ad6f9a35f..37d8643fc 100644 --- a/trunk/src/utest/srs_utest_service.cpp +++ b/trunk/src/utest/srs_utest_manual_service.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include using namespace std; @@ -24,8 +24,8 @@ using namespace std; #include #include #include -#include -#include +#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_service.hpp b/trunk/src/utest/srs_utest_manual_service.hpp similarity index 98% rename from trunk/src/utest/srs_utest_service.hpp rename to trunk/src/utest/srs_utest_manual_service.hpp index 61c6b405c..2689c8f5c 100644 --- a/trunk/src/utest/srs_utest_service.hpp +++ b/trunk/src/utest/srs_utest_manual_service.hpp @@ -8,7 +8,7 @@ #define SRS_UTEST_SERVICE_HPP /* -#include +#include */ #include diff --git a/trunk/src/utest/srs_utest_source_lock.cpp b/trunk/src/utest/srs_utest_manual_source_lock.cpp similarity index 99% rename from trunk/src/utest/srs_utest_source_lock.cpp rename to trunk/src/utest/srs_utest_manual_source_lock.cpp index 813145620..caca712cc 100644 --- a/trunk/src/utest/srs_utest_source_lock.cpp +++ b/trunk/src/utest/srs_utest_manual_source_lock.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include using namespace std; diff --git a/trunk/src/utest/srs_utest_source_lock.hpp b/trunk/src/utest/srs_utest_manual_source_lock.hpp similarity index 100% rename from trunk/src/utest/srs_utest_source_lock.hpp rename to trunk/src/utest/srs_utest_manual_source_lock.hpp diff --git a/trunk/src/utest/srs_utest_srt.cpp b/trunk/src/utest/srs_utest_manual_srt.cpp similarity index 99% rename from trunk/src/utest/srs_utest_srt.cpp rename to trunk/src/utest/srs_utest_manual_srt.cpp index 43dcdcdf6..d2d7faadf 100644 --- a/trunk/src/utest/srs_utest_srt.cpp +++ b/trunk/src/utest/srs_utest_manual_srt.cpp @@ -3,7 +3,7 @@ // // SPDX-License-Identifier: MIT // -#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_srt.hpp b/trunk/src/utest/srs_utest_manual_srt.hpp similarity index 100% rename from trunk/src/utest/srs_utest_srt.hpp rename to trunk/src/utest/srs_utest_manual_srt.hpp diff --git a/trunk/src/utest/srs_utest_st.cpp b/trunk/src/utest/srs_utest_manual_st.cpp similarity index 93% rename from trunk/src/utest/srs_utest_st.cpp rename to trunk/src/utest/srs_utest_manual_st.cpp index e213cdbfe..833218277 100644 --- a/trunk/src/utest/srs_utest_st.cpp +++ b/trunk/src/utest/srs_utest_manual_st.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include @@ -83,8 +83,13 @@ VOID TEST(StTest, StUtimePerformance) EXPECT_GE(gettimeofday_elapsed_time, 0); EXPECT_GE(st_utime_elapsed_time, 0); - // pass the test, if - EXPECT_LT(gettimeofday_elapsed_time > st_utime_elapsed_time ? gettimeofday_elapsed_time - st_utime_elapsed_time : st_utime_elapsed_time - gettimeofday_elapsed_time, 30); + // Calculate absolute difference between the two elapsed times + int time_diff = gettimeofday_elapsed_time > st_utime_elapsed_time + ? gettimeofday_elapsed_time - st_utime_elapsed_time + : st_utime_elapsed_time - gettimeofday_elapsed_time; + + // The difference should be less than N clock ticks (microseconds) + EXPECT_LT(time_diff, 100); } // check gettimeofday first, then st_utime @@ -104,7 +109,13 @@ VOID TEST(StTest, StUtimePerformance) EXPECT_GE(gettimeofday_elapsed_time, 0); EXPECT_GE(st_utime_elapsed_time, 0); - EXPECT_LT(gettimeofday_elapsed_time > st_utime_elapsed_time ? gettimeofday_elapsed_time - st_utime_elapsed_time : st_utime_elapsed_time - gettimeofday_elapsed_time, 30); + // Calculate absolute difference between the two elapsed times + int time_diff = gettimeofday_elapsed_time > st_utime_elapsed_time + ? gettimeofday_elapsed_time - st_utime_elapsed_time + : st_utime_elapsed_time - gettimeofday_elapsed_time; + + // The difference should be less than N clock ticks (microseconds) + EXPECT_LT(time_diff, 100); } // compare st_utime & gettimeofday in a loop @@ -126,7 +137,13 @@ VOID TEST(StTest, StUtimePerformance) EXPECT_GE(gettimeofday_elapsed_time, 0); EXPECT_GE(st_utime_elapsed_time, 0); - EXPECT_LT(gettimeofday_elapsed_time > st_utime_elapsed_time ? gettimeofday_elapsed_time - st_utime_elapsed_time : st_utime_elapsed_time - gettimeofday_elapsed_time, 100); + // Calculate absolute difference between the two elapsed times + int time_diff = gettimeofday_elapsed_time > st_utime_elapsed_time + ? gettimeofday_elapsed_time - st_utime_elapsed_time + : st_utime_elapsed_time - gettimeofday_elapsed_time; + + // The difference should be less than N clock ticks (microseconds) + EXPECT_LT(time_diff, 100); } } diff --git a/trunk/src/utest/srs_utest_st.hpp b/trunk/src/utest/srs_utest_manual_st.hpp similarity index 100% rename from trunk/src/utest/srs_utest_st.hpp rename to trunk/src/utest/srs_utest_manual_st.hpp diff --git a/trunk/src/utest/srs_utest_st2.cpp b/trunk/src/utest/srs_utest_manual_st2.cpp similarity index 99% rename from trunk/src/utest/srs_utest_st2.cpp rename to trunk/src/utest/srs_utest_manual_st2.cpp index 792d404ff..7b8e77bf7 100644 --- a/trunk/src/utest/srs_utest_st2.cpp +++ b/trunk/src/utest/srs_utest_manual_st2.cpp @@ -4,7 +4,7 @@ // SPDX-License-Identifier: MIT // -#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_st2.hpp b/trunk/src/utest/srs_utest_manual_st2.hpp similarity index 100% rename from trunk/src/utest/srs_utest_st2.hpp rename to trunk/src/utest/srs_utest_manual_st2.hpp diff --git a/trunk/src/utest/srs_utest_stream_token.cpp b/trunk/src/utest/srs_utest_manual_stream_token.cpp similarity index 99% rename from trunk/src/utest/srs_utest_stream_token.cpp rename to trunk/src/utest/srs_utest_manual_stream_token.cpp index 80dff3711..53f7e0d6a 100644 --- a/trunk/src/utest/srs_utest_stream_token.cpp +++ b/trunk/src/utest/srs_utest_manual_stream_token.cpp @@ -4,7 +4,7 @@ // SPDX-License-Identifier: MIT // -#include +#include using namespace std; diff --git a/trunk/src/utest/srs_utest_stream_token.hpp b/trunk/src/utest/srs_utest_manual_stream_token.hpp similarity index 100% rename from trunk/src/utest/srs_utest_stream_token.hpp rename to trunk/src/utest/srs_utest_manual_stream_token.hpp diff --git a/trunk/src/utest/srs_utest_forward.cpp b/trunk/src/utest/srs_utest_workflow_forward.cpp similarity index 99% rename from trunk/src/utest/srs_utest_forward.cpp rename to trunk/src/utest/srs_utest_workflow_forward.cpp index a9f5574a6..70bd15f22 100644 --- a/trunk/src/utest/srs_utest_forward.cpp +++ b/trunk/src/utest/srs_utest_workflow_forward.cpp @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_forward.hpp b/trunk/src/utest/srs_utest_workflow_forward.hpp similarity index 97% rename from trunk/src/utest/srs_utest_forward.hpp rename to trunk/src/utest/srs_utest_workflow_forward.hpp index 4020e4330..4d3353f58 100644 --- a/trunk/src/utest/srs_utest_forward.hpp +++ b/trunk/src/utest/srs_utest_workflow_forward.hpp @@ -34,7 +34,7 @@ #include #include #include -#include +#include // Mock ISrsAppFactory for testing SrsForwarder class MockAppFactoryForForwarder : public SrsAppFactory diff --git a/trunk/src/utest/srs_utest_http_conn.cpp b/trunk/src/utest/srs_utest_workflow_http_conn.cpp similarity index 98% rename from trunk/src/utest/srs_utest_http_conn.cpp rename to trunk/src/utest/srs_utest_workflow_http_conn.cpp index ad2aee6fd..8b31e665e 100644 --- a/trunk/src/utest/srs_utest_http_conn.cpp +++ b/trunk/src/utest/srs_utest_workflow_http_conn.cpp @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include +#include #include #include @@ -33,9 +33,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include // This test is used to verify the basic workflow of the HTTP connection. // It's finished with the help of AI, but each step is manually designed diff --git a/trunk/src/utest/srs_utest_http_conn.hpp b/trunk/src/utest/srs_utest_workflow_http_conn.hpp similarity index 100% rename from trunk/src/utest/srs_utest_http_conn.hpp rename to trunk/src/utest/srs_utest_workflow_http_conn.hpp diff --git a/trunk/src/utest/srs_utest_rtc_conn.cpp b/trunk/src/utest/srs_utest_workflow_rtc_conn.cpp similarity index 99% rename from trunk/src/utest/srs_utest_rtc_conn.cpp rename to trunk/src/utest/srs_utest_workflow_rtc_conn.cpp index ec6ad3618..8829f0335 100644 --- a/trunk/src/utest/srs_utest_rtc_conn.cpp +++ b/trunk/src/utest/srs_utest_workflow_rtc_conn.cpp @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include +#include #include #include @@ -31,8 +31,8 @@ #include #include #include -#include -#include +#include +#include MockProtocolUtilityForRtcConn::MockProtocolUtilityForRtcConn(std::string ip) { diff --git a/trunk/src/utest/srs_utest_rtc_conn.hpp b/trunk/src/utest/srs_utest_workflow_rtc_conn.hpp similarity index 100% rename from trunk/src/utest/srs_utest_rtc_conn.hpp rename to trunk/src/utest/srs_utest_workflow_rtc_conn.hpp diff --git a/trunk/src/utest/srs_utest_rtc_playstream.cpp b/trunk/src/utest/srs_utest_workflow_rtc_playstream.cpp similarity index 98% rename from trunk/src/utest/srs_utest_rtc_playstream.cpp rename to trunk/src/utest/srs_utest_workflow_rtc_playstream.cpp index 9b2ee1abf..4f756d241 100644 --- a/trunk/src/utest/srs_utest_rtc_playstream.cpp +++ b/trunk/src/utest/srs_utest_workflow_rtc_playstream.cpp @@ -4,14 +4,14 @@ // SPDX-License-Identifier: MIT // -#include +#include #include #include #include #include -#include -#include +#include +#include // This test is used to verify the basic workflow of the RTC play stream. // It's finished with the help of AI, but each step is manually designed diff --git a/trunk/src/utest/srs_utest_rtc_playstream.hpp b/trunk/src/utest/srs_utest_workflow_rtc_playstream.hpp similarity index 100% rename from trunk/src/utest/srs_utest_rtc_playstream.hpp rename to trunk/src/utest/srs_utest_workflow_rtc_playstream.hpp diff --git a/trunk/src/utest/srs_utest_rtc_publishstream.cpp b/trunk/src/utest/srs_utest_workflow_rtc_publishstream.cpp similarity index 97% rename from trunk/src/utest/srs_utest_rtc_publishstream.cpp rename to trunk/src/utest/srs_utest_workflow_rtc_publishstream.cpp index 1b829aa49..5a8f48e57 100644 --- a/trunk/src/utest/srs_utest_rtc_publishstream.cpp +++ b/trunk/src/utest/srs_utest_workflow_rtc_publishstream.cpp @@ -21,13 +21,13 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include +#include #include #include #include #include -#include +#include // This test is used to verify the basic workflow of the RTC publish stream. // It's finished with the help of AI, but each step is manually designed diff --git a/trunk/src/utest/srs_utest_rtc_publishstream.hpp b/trunk/src/utest/srs_utest_workflow_rtc_publishstream.hpp similarity index 100% rename from trunk/src/utest/srs_utest_rtc_publishstream.hpp rename to trunk/src/utest/srs_utest_workflow_rtc_publishstream.hpp diff --git a/trunk/src/utest/srs_utest_rtmp_conn.cpp b/trunk/src/utest/srs_utest_workflow_rtmp_conn.cpp similarity index 99% rename from trunk/src/utest/srs_utest_rtmp_conn.cpp rename to trunk/src/utest/srs_utest_workflow_rtmp_conn.cpp index fb5453173..0b64ef910 100644 --- a/trunk/src/utest/srs_utest_rtmp_conn.cpp +++ b/trunk/src/utest/srs_utest_workflow_rtmp_conn.cpp @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include +#include #include #include @@ -32,8 +32,8 @@ #include #include #include -#include -#include +#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_rtmp_conn.hpp b/trunk/src/utest/srs_utest_workflow_rtmp_conn.hpp similarity index 100% rename from trunk/src/utest/srs_utest_rtmp_conn.hpp rename to trunk/src/utest/srs_utest_workflow_rtmp_conn.hpp diff --git a/trunk/src/utest/srs_utest_srt_conn.cpp b/trunk/src/utest/srs_utest_workflow_srt_conn.cpp similarity index 98% rename from trunk/src/utest/srs_utest_srt_conn.cpp rename to trunk/src/utest/srs_utest_workflow_srt_conn.cpp index e2040a94f..75e919e3c 100644 --- a/trunk/src/utest/srs_utest_srt_conn.cpp +++ b/trunk/src/utest/srs_utest_workflow_srt_conn.cpp @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include +#include #include #include @@ -29,8 +29,8 @@ #include #include #include -#include -#include +#include +#include #include #include diff --git a/trunk/src/utest/srs_utest_srt_conn.hpp b/trunk/src/utest/srs_utest_workflow_srt_conn.hpp similarity index 100% rename from trunk/src/utest/srs_utest_srt_conn.hpp rename to trunk/src/utest/srs_utest_workflow_srt_conn.hpp