Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(951)

Unified Diff: webrtc/voice_engine/test/auto_test/voe_stress_test.cc

Issue 2681153003: Remove unused voe_stress_test.cc (Closed)
Patch Set: Removed more things after rebase Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/voice_engine/test/auto_test/voe_stress_test.cc
diff --git a/webrtc/voice_engine/test/auto_test/voe_stress_test.cc b/webrtc/voice_engine/test/auto_test/voe_stress_test.cc
deleted file mode 100644
index 117806c3c6c483276c4d12a9830e6f926de9694a..0000000000000000000000000000000000000000
--- a/webrtc/voice_engine/test/auto_test/voe_stress_test.cc
+++ /dev/null
@@ -1,403 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-// Some ideas of improvements:
-// Break out common init and maybe terminate to separate function(s).
-// How much trace should we have enabled?
-// API error counter, to print info and return -1 if any error.
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#if defined(_WIN32)
-#include <conio.h>
-#endif
-
-#include "webrtc/voice_engine/test/auto_test/voe_stress_test.h"
-
-#include "webrtc/system_wrappers/include/sleep.h"
-#include "webrtc/voice_engine/test/channel_transport/channel_transport.h"
-#include "webrtc/voice_engine/test/auto_test/voe_standard_test.h"
-#include "webrtc/voice_engine/test/auto_test/voe_test_defines.h"
-#include "webrtc/voice_engine/voice_engine_defines.h" // defines build macros
-
-using namespace webrtc;
-using namespace test;
-
-namespace voetest {
-
-#define VALIDATE_STRESS(expr) \
- if (expr) \
- { \
- printf("Error at line: %i, %s \n", __LINE__, #expr); \
- printf("Error code: %i \n", base->LastError()); \
- }
-
-#ifdef _WIN32
-// Pause if supported
-#define PAUSE_OR_SLEEP(x) PAUSE;
-#else
-// Sleep a bit instead if pause not supported
-#define PAUSE_OR_SLEEP(x) SleepMs(x);
-#endif
-
-int VoEStressTest::DoTest() {
- int test(-1);
- while (test != 0) {
- test = MenuSelection();
- switch (test) {
- case 0:
- // Quit stress test
- break;
- case 1:
- // All tests
- StartStopTest();
- CreateDeleteChannelsTest();
- MultipleThreadsTest();
- break;
- case 2:
- StartStopTest();
- break;
- case 3:
- CreateDeleteChannelsTest();
- break;
- case 4:
- MultipleThreadsTest();
- break;
- default:
- // Should not be possible
- printf("Invalid selection! (Test code error)\n");
- assert(false);
- } // switch
- } // while
-
- return 0;
-}
-
-int VoEStressTest::MenuSelection() {
- printf("------------------------------------------------\n");
- printf("Select stress test\n\n");
- printf(" (0) Quit\n");
- printf(" (1) All\n");
- printf("- - - - - - - - - - - - - - - - - - - - - - - - \n");
- printf(" (2) Start/stop\n");
- printf(" (3) Create/delete channels\n");
- printf(" (4) Multiple threads\n");
-
- const int maxMenuSelection = 4;
- int selection(-1);
-
- while ((selection < 0) || (selection > maxMenuSelection)) {
- printf("\n: ");
- int retval = scanf("%d", &selection);
- if ((retval != 1) || (selection < 0) || (selection > maxMenuSelection)) {
- printf("Invalid selection!\n");
- }
- }
-
- return selection;
-}
-
-int VoEStressTest::StartStopTest() {
- printf("------------------------------------------------\n");
- printf("Running start/stop test\n");
- printf("------------------------------------------------\n");
-
- printf("\nNOTE: this thest will fail after a while if Core audio is used\n");
- printf("because MS returns AUDCLNT_E_CPUUSAGE_EXCEEDED (VoE Error 10013).\n");
-
- // Get sub-API pointers
- VoEBase* base = _mgr.BasePtr();
- VoENetwork* voe_network = _mgr.NetworkPtr();
-
- // Set trace
- // VALIDATE_STRESS(base->SetTraceFileName(
- // GetFilename("VoEStressTest_StartStop_trace.txt")));
- // VALIDATE_STRESS(base->SetDebugTraceFileName(
- // GetFilename("VoEStressTest_StartStop_trace_debug.txt")));
- // VALIDATE_STRESS(base->SetTraceFilter(kTraceStateInfo |
- // kTraceWarning | kTraceError |
- // kTraceCritical | kTraceApiCall |
- // kTraceMemory | kTraceInfo));
- VALIDATE_STRESS(base->Init());
- VALIDATE_STRESS(base->CreateChannel());
-
- ///////////// Start test /////////////
-
- int numberOfLoops(2000);
- int loopSleep(200);
- int i(0);
- int markInterval(20);
-
- printf("Running %d loops with %d ms sleep. Mark every %d loop. \n",
- numberOfLoops, loopSleep, markInterval);
- printf("Test will take approximately %d minutes. \n",
- numberOfLoops * loopSleep / 1000 / 60 + 1);
-
- std::unique_ptr<VoiceChannelTransport> voice_channel_transport(
- new VoiceChannelTransport(voe_network, 0));
-
- for (i = 0; i < numberOfLoops; ++i) {
- voice_channel_transport->SetSendDestination("127.0.0.1", 4800);
- voice_channel_transport->SetLocalReceiver(4800);
- VALIDATE_STRESS(base->StartPlayout(0));
- VALIDATE_STRESS(base->StartSend(0));
- if (!(i % markInterval))
- MARK();
- SleepMs(loopSleep);
- VALIDATE_STRESS(base->StopSend(0));
- VALIDATE_STRESS(base->StopPlayout(0));
- }
- ANL();
-
- VALIDATE_STRESS(voice_channel_transport->SetSendDestination("127.0.0.1",
- 4800));
- VALIDATE_STRESS(voice_channel_transport->SetLocalReceiver(4800));
- VALIDATE_STRESS(base->StartPlayout(0));
- VALIDATE_STRESS(base->StartSend(0));
- printf("Verify that audio is good. \n");
- PAUSE_OR_SLEEP(20000);
- VALIDATE_STRESS(base->StopSend(0));
- VALIDATE_STRESS(base->StopPlayout(0));
-
- ///////////// End test /////////////
-
-
- // Terminate
- VALIDATE_STRESS(base->DeleteChannel(0));
- VALIDATE_STRESS(base->Terminate());
-
- printf("Test finished \n");
-
- return 0;
-}
-
-int VoEStressTest::CreateDeleteChannelsTest() {
- printf("------------------------------------------------\n");
- printf("Running create/delete channels test\n");
- printf("------------------------------------------------\n");
-
- // Get sub-API pointers
- VoEBase* base = _mgr.BasePtr();
-
- // Set trace
- // VALIDATE_STRESS(base->SetTraceFileName(
- // GetFilename("VoEStressTest_CreateChannels_trace.txt")));
- // VALIDATE_STRESS(base->SetDebugTraceFileName(
- // GetFilename("VoEStressTest_CreateChannels_trace_debug.txt")));
- // VALIDATE_STRESS(base->SetTraceFilter(kTraceStateInfo |
- // kTraceWarning | kTraceError |
- // kTraceCritical | kTraceApiCall |
- // kTraceMemory | kTraceInfo));
- VALIDATE_STRESS(base->Init());
-
- ///////////// Start test /////////////
-
- int numberOfLoops(10000);
- int loopSleep(10);
- int i(0);
- int markInterval(200);
-
- printf("Running %d loops with %d ms sleep. Mark every %d loop. \n",
- numberOfLoops, loopSleep, markInterval);
- printf("Test will take approximately %d minutes. \n",
- numberOfLoops * loopSleep / 1000 / 60 + 1);
-
- // Some possible extensions include:
- // Different sleep times (fixed or random) or zero.
- // Start call on all or some channels.
- // Two parts: first have a slight overweight to creating channels,
- // then to deleting. (To ensure we hit max channels and go to zero.)
- // Make sure audio is OK after test has finished.
-
- // Set up, start with maxChannels/2 channels
- const int maxChannels = 100;
- VALIDATE_STRESS(maxChannels < 1); // Should always have at least one channel
- bool* channelState = new bool[maxChannels];
- memset(channelState, 0, maxChannels * sizeof(bool));
- int channel(0);
- int noOfActiveChannels(0);
- for (i = 0; i < (maxChannels / 2); ++i) {
- channel = base->CreateChannel();
- VALIDATE_STRESS(channel < 0);
- if (channel >= 0) {
- channelState[channel] = true;
- ++noOfActiveChannels;
- }
- }
- srand((unsigned int) time(NULL));
- bool action(false);
- double rnd(0.0);
- int res(0);
-
- // Create/delete channels with slight
- for (i = 0; i < numberOfLoops; ++i) {
- // Randomize action (create or delete channel)
- action = rand() <= (RAND_MAX / 2);
- if (action) {
- if (noOfActiveChannels < maxChannels) {
- // Create new channel
- channel = base->CreateChannel();
- VALIDATE_STRESS(channel < 0);
- if (channel >= 0) {
- channelState[channel] = true;
- ++noOfActiveChannels;
- }
- }
- } else {
- if (noOfActiveChannels > 0) {
- // Delete random channel that's created [0, maxChannels - 1]
- do {
- rnd = static_cast<double> (rand());
- channel = static_cast<int> (rnd /
- (static_cast<double> (RAND_MAX) + 1.0f) *
- maxChannels);
- } while (!channelState[channel]); // Must find a created channel
-
- res = base->DeleteChannel(channel);
- VALIDATE_STRESS(0 != res);
- if (0 == res) {
- channelState[channel] = false;
- --noOfActiveChannels;
- }
- }
- }
-
- if (!(i % markInterval))
- MARK();
- SleepMs(loopSleep);
- }
- ANL();
-
- delete[] channelState;
-
- ///////////// End test /////////////
-
-
- // Terminate
- VALIDATE_STRESS(base->Terminate()); // Deletes all channels
-
- printf("Test finished \n");
-
- return 0;
-}
-
-int VoEStressTest::MultipleThreadsTest() {
- printf("------------------------------------------------\n");
- printf("Running multiple threads test\n");
- printf("------------------------------------------------\n");
-
- // Get sub-API pointers
- VoEBase* base = _mgr.BasePtr();
-
- // Set trace
- // VALIDATE_STRESS(base->SetTraceFileName(
- // GetFilename("VoEStressTest_MultipleThreads_trace.txt")));
- // VALIDATE_STRESS(base->SetDebugTraceFileName(
- // GetFilename("VoEStressTest_MultipleThreads_trace_debug.txt")));
- // VALIDATE_STRESS(base->SetTraceFilter(kTraceStateInfo |
- // kTraceWarning | kTraceError |
- // kTraceCritical | kTraceApiCall |
- // kTraceMemory | kTraceInfo));
-
- // Init
- VALIDATE_STRESS(base->Init());
- VALIDATE_STRESS(base->CreateChannel());
-
- ///////////// Start test /////////////
-
- int numberOfLoops(10000);
- int loopSleep(0);
- int i(0);
- int markInterval(1000);
-
- printf("Running %d loops with %d ms sleep. Mark every %d loop. \n",
- numberOfLoops, loopSleep, markInterval);
- printf("Test will take approximately %d minutes. \n",
- numberOfLoops * loopSleep / 1000 / 60 + 1);
-
- srand((unsigned int) time(NULL));
- int rnd(0);
-
- // Start extra thread
- _ptrExtraApiThread.reset(
- new rtc::PlatformThread(RunExtraApi, this, "StressTestExtraApiThread"));
- _ptrExtraApiThread->Start();
-
- // Some possible extensions include:
- // Add more API calls to randomize
- // More threads
- // Different sleep times (fixed or random).
- // Make sure audio is OK after test has finished.
-
- // Call random API functions here and in extra thread, ignore any error
- for (i = 0; i < numberOfLoops; ++i) {
- // This part should be equal to the marked part in the extra thread
- // --- BEGIN ---
- rnd = rand();
- if (rnd < (RAND_MAX / 2)) {
- // Start playout
- base->StartPlayout(0);
- } else {
- // Stop playout
- base->StopPlayout(0);
- }
- // --- END ---
-
- if (!(i % markInterval))
- MARK();
- SleepMs(loopSleep);
- }
- ANL();
-
- // Stop extra thread
- _ptrExtraApiThread->Stop();
-
- ///////////// End test /////////////
-
- // Terminate
- VALIDATE_STRESS(base->Terminate()); // Deletes all channels
-
- printf("Test finished \n");
-
- return 0;
-}
-
-// Thread functions
-
-bool VoEStressTest::RunExtraApi(void* ptr) {
- return static_cast<VoEStressTest*> (ptr)->ProcessExtraApi();
-}
-
-bool VoEStressTest::ProcessExtraApi() {
- // Prepare
- VoEBase* base = _mgr.BasePtr();
- int rnd(0);
-
- // Call random API function, ignore any error
-
- // This part should be equal to the marked part in the main thread
- // --- BEGIN ---
- rnd = rand();
- if (rnd < (RAND_MAX / 2)) {
- // Start playout
- base->StartPlayout(0);
- } else {
- // Stop playout
- base->StopPlayout(0);
- }
- // --- END ---
-
- return true;
-}
-
-} // namespace voetest
« no previous file with comments | « webrtc/voice_engine/test/auto_test/voe_stress_test.h ('k') | webrtc/voice_engine/test/auto_test/voe_test_interface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698