Пример #1
0
TestSuite addPluginPresetTests(void) {
  TestSuite testSuite = newTestSuite("PluginPreset", NULL, NULL);
  addTest(testSuite, "GuessPluginPresetType", _testGuessPluginPresetType);
  addTest(testSuite, "GuessPluginPresetTypeInvalid", _testGuessPluginPresetTypeInvalid);
  addTest(testSuite, "NewObject", _testNewObject);
  addTest(testSuite, "IsPresetCompatibleWithPlugin", NULL); // _testIsPresetCompatibleWithPlugin);
  return testSuite;
}
Пример #2
0
TestSuite addMidiSourceTests(void) {
  TestSuite testSuite = newTestSuite("MidiSource", NULL, NULL);
  addTest(testSuite, "GuessMidiSourceType", _testGuessMidiSourceType);
  addTest(testSuite, "GuessMidiSourceTypeInvalid",
          _testGuessMidiSourceTypeInvalid);
  addTest(testSuite, "NewObject", _testNewMidiSource);
  return testSuite;
}
Пример #3
0
TestSuite addSampleSourceTests(void) {
  TestSuite testSuite =
      newTestSuite("SampleSource", _sampleSourceSetup, _sampleSourceTeardown);
  addTest(testSuite, "GuessSampleSourceTypePcm", _testGuessSampleSourceTypePcm);
  addTest(testSuite, "GuessSampleSourceTypeEmpty",
          _testGuessSampleSourceTypeEmpty);
  addTest(testSuite, "GuessSampleSourceTypeWrongCase",
          _testGuessSampleSourceTypeWrongCase);
  return testSuite;
}
Пример #4
0
TestSuite addAudioClockTests(void)
{
    TestSuite testSuite = newTestSuite("AudioClock", _audioClockTestSetup, _audioClockTestTeardown);
    addTest(testSuite, "Initialization", _testInitAudioClock);
    addTest(testSuite, "AdvanceClock", _testAdvanceAudioClock);
    addTest(testSuite, "StopClock", _testStopAudioClock);
    addTest(testSuite, "RestartClock", _testRestartAudioClock);
    addTest(testSuite, "MultipleAdvance", _testAdvanceClockMulitpleTimes);
    return testSuite;
}
Пример #5
0
TestSuite addTaskTimerTests(void) {
  TestSuite testSuite = newTestSuite("TaskTimer", NULL, NULL);
  addTest(testSuite, "NewObject", _testNewTaskTimer);
  addTest(testSuite, "TaskDuration", _testTaskTimerDuration);
  addTest(testSuite, "TaskDurationMultipleTimes", _testTaskTimerDurationMultipleTimes);
  addTest(testSuite, "CallStartTwice", _testTaskTimerCallStartTwice);
  addTest(testSuite, "CallStopTwice", _testTaskTimerCallStopTwice);
  addTest(testSuite, "CallStartTwice", _testTaskTimerCallStartTwice);
  addTest(testSuite, "CallStopBeforeStart", _testCallStopBeforeStart);
  return testSuite;
}
Пример #6
0
TestSuite addPluginTests(void)
{
    TestSuite testSuite = newTestSuite("Plugin", NULL, NULL);
    addTest(testSuite, "PluginFactory", _testPluginFactory);
    addTest(testSuite, "PluginFactoryInvalidPlugin", _testPluginFactoryInvalidPlugin);
    addTest(testSuite, "PluginFactoryNullPluginName", _testPluginFactoryNullPluginName);
    addTest(testSuite, "PluginFactoryEmptyPluginName", _testPluginFactoryEmptyPluginName);
    addTest(testSuite, "PluginFactoryNullRoot", _testPluginFactoryNullRoot);
    addTest(testSuite, "FreeNullPlugin", _testFreeNullPlugin);
    return testSuite;
}
Пример #7
0
TestSuite addPluginVst2xIdTests(void)
{
    TestSuite testSuite = newTestSuite("PluginVst2xId", NULL, NULL);

    addTest(testSuite, "NewPluginVst2xId", _testNewPluginVst2xId);
    addTest(testSuite, "NewPluginVst2xIdWithIntId", _testNewPluginVst2xIdWithIntId);
    addTest(testSuite, "NewPluginVst2xIdWithZeroIntId", _testNewPluginVst2xIdWithZeroIntId);
    addTest(testSuite, "NewPluginVst2xIdWithStringId", _testNewPluginVst2xIdWithStringId);
    addTest(testSuite, "NewPluginVst2xIdWithNullStringId", _testNewPluginVst2xIdWithNullStringId);
    addTest(testSuite, "NewPluginVst2xIdWithEmptyStringId", _testNewPluginVst2xIdWithEmptyStringId);
    addTest(testSuite, "NewPluginVst2xIdWithInvalidStringId", _testNewPluginVst2xIdWithInvalidStringId);

    return testSuite;
}
Пример #8
0
TestSuite addPlatformUtilitiesTests(void) {
  TestSuite testSuite = newTestSuite("PlatformUtilities", NULL, NULL);
  addTest(testSuite, "GetPlatformType", _testGetPlatformType);
  addTest(testSuite, "GetPlatformName", _testGetPlatformName);
  addTest(testSuite, "GetShortPlatformName", _testGetShortPlatformName);

  addTest(testSuite, "IsHostLittleEndian", NULL); // _testIsHostLittleEndian);

  addTest(testSuite, "FlipShortEndian", NULL); // _testFlipShortEndian);
  addTest(testSuite, "ConvertBigEndianShortToPlatform", NULL); // _testConvertBigEndianShortToPlatform);
  addTest(testSuite, "ConvertBigEndianIntToPlatform", NULL); // _testConvertBigEndianIntToPlatform);
  addTest(testSuite, "ConvertLittleEndianIntToPlatform", NULL); // _testConvertLittleEndianIntToPlatform);
  addTest(testSuite, "ConvertBigEndianFloatToPlatform", NULL); // _testConvertBigEndianFloatToPlatform);

  addTest(testSuite, "ConvertByteArrayToUnsignedShort", NULL); // _testConvertByteArrayToUnsignedShort);
  addTest(testSuite, "ConvertByteArrayToUnsignedInt", NULL); // _testConvertByteArrayToUnsignedInt);
  return testSuite;
}
Пример #9
0
void runInternalTestSuite(boolByte onlyPrintFailing) {
  TestSuite suiteResults;
  LinkedList internalTestSuites = _getTestSuites();

  if(onlyPrintFailing) {
    linkedListForeach(internalTestSuites, _setTestSuiteOnlyPrintFailing, NULL);
  }
  linkedListForeach(internalTestSuites, runTestSuite, NULL);
  // Create a new test suite to be used as the userData passed to the foreach loop
  suiteResults = newTestSuite("Suite results", NULL, NULL);
  linkedListForeach(internalTestSuites, _sumTestSuiteResults, suiteResults);

  fprintf(stderr, "\n== Ran %d function tests: %d passed, %d failed, %d skipped ==\n",
    suiteResults->numSuccess + suiteResults->numFail + suiteResults->numSkips,
    suiteResults->numSuccess, suiteResults->numFail, suiteResults->numSkips);

  freeLinkedListAndItems(internalTestSuites, (LinkedListFreeItemFunc)freeTestSuite);
  freeTestSuite(suiteResults);
}
Пример #10
0
TestSuite addFileTests(void) {
  TestSuite testSuite = newTestSuite("File", NULL, NULL);
  addTest(testSuite, "NewFileDefault", _testNewFileDefault);
  addTest(testSuite, "NewFileWithRelativePath", _testNewFileWithPath);
  addTest(testSuite, "NewFileWithAbsolutePath", _testNewFileWithPath);
  addTest(testSuite, "NewFileWithInvalidPath", _testNewFileWithInvalidPath);
  addTest(testSuite, "NewFileWithNullPath", _testNewFileWithNullPath);
  addTest(testSuite, "FileCreateFile", _testFileCreateFile);
  addTest(testSuite, "FileCreateDir", _testFileCreateDir);
  addTest(testSuite, "FileCreateNull", _testFileCreateNull);
  addTest(testSuite, "FileCreateAlreadyExists", _testFileCreateAlreadyExists);
  addTest(testSuite, "FileCopyTo", _testFileCopyTo);
  addTest(testSuite, "FileCopyToInvalidDestination", _testFileCopyToInvalidDestination);
  addTest(testSuite, "FileCopyNullTo", _testFileCopyNullTo);
  addTest(testSuite, "FileCopyToNull", _testFileCopyToNull);
  addTest(testSuite, "FileListContents", _testFileListContents);
  addTest(testSuite, "FileListDirectory", _testFileListDirectory);
  addTest(testSuite, "FileListContentsNull", _testFileListContentsNull);
  addTest(testSuite, "FileListContentsInvalidDir", _testFileListContentsInvalidDir);
  addTest(testSuite, "FileListContentsFile", _testFileListContentsFile);
  addTest(testSuite, "FileListContentsEmptyDir", _testFileListContentsEmptyDir);
  addTest(testSuite, "FileRemoveDir", _testFileRemoveDir);
  addTest(testSuite, "FileRemoveFile", _testFileRemoveFile);
  addTest(testSuite, "FileRemoveInvalid", _testFileRemoveInvalid);
  addTest(testSuite, "FileRemoveNull", _testFileRemoveNull);

  addTest(testSuite, "FileGetBasename", _testFileGetBasename);
  addTest(testSuite, "FileGetBasenameNull", _testFileGetBasenameNull);
  addTest(testSuite, "FileGetBasenameInvalid", _testFileGetBasenameInvalid);
  addTest(testSuite, "FileGetDirname", _testFileGetDirname);
  addTest(testSuite, "FileGetDirnameNull", _testFileGetDirnameNull);
  addTest(testSuite, "FileGetDirnameInvalid", _testFileGetDirnameInvalid);
  addTest(testSuite, "FileGetExtension", _testFileGetExtension);
  addTest(testSuite, "FileGetExtensionNull", _testFileGetExtensionNull);
  addTest(testSuite, "FileGetExtensionInvalid", _testFileGetExtensionInvalid);

  addTest(testSuite, "FileExists", _testFileExists);
  addTest(testSuite, "FileExistsNull", _testFileExistsNull);
  addTest(testSuite, "FileExistsInvalid", _testFileExistsInvalid);
  return testSuite;
}
Пример #11
0
TestSuite addIntegrationTests(File mrsWatsonExePath, File resourcesPath) {
  TestSuite testSuite = newTestSuite("Integration", NULL, NULL);
  testSuite->applicationPath =
      newCharStringWithCString(mrsWatsonExePath->absolutePath->data);
  testSuite->resourcesPath =
      newCharStringWithCString(resourcesPath->absolutePath->data);

  // Basic non-processing operations
  addTestWithPaths(testSuite, "List plugins", _testListPlugins);
  addTestWithPaths(testSuite, "List file types", _testListFileTypes);
  addTestWithPaths(testSuite, "Invalid arugment", _testInvalidArgument);

  // Plugin loading
  addTestWithPaths(testSuite, "Load plugin with absolute path",
                   _testLoadPluginWithAbsolutePath);

  // Invalid configurations
  addTestWithPaths(testSuite, "Run with no plugins", _testRunWithNoPlugins);
  addTestWithPaths(testSuite, "Effect with no input source",
                   _testEffectWithNoInputSource);
  addTestWithPaths(testSuite, "Instrument with no MIDI source",
                   _testInstrumentWithNoMidiSource);
  addTestWithPaths(testSuite, "Plugin chain with instrument not at head",
                   _testPluginChainWithInstrumentNotAtHead);
  addTestWithPaths(testSuite, "Plugin with invalid preset",
                   _testPluginWithInvalidPreset);
  addTestWithPaths(testSuite, "Preset for wrong plugin",
                   _testPresetForWrongPlugin);
  addTestWithPaths(testSuite, "Set invalid parameter",
                   _testSetInvalidParameter);
  addTestWithPaths(testSuite, "Set invalid time signature",
                   _testSetInvalidTimeSignature);
  addTestWithPaths(testSuite, "Set invalid tempo", _testSetInvalidTempo);
  addTestWithPaths(testSuite, "Set invalid blocksize",
                   _testSetInvalidBlocksize);
  addTestWithPaths(testSuite, "Set invalid bit depth", _testSetInvalidBitDepth);
  addTestWithPaths(testSuite, "Set invalid channel count",
                   _testSetInvalidChannelCount);
  addTestWithPaths(testSuite, "Set invalid sample rate",
                   _testSetInvalidSampleRate);

  // PCM files
  // TODO: Should add tests for other bit depths
  addTestWithPaths(testSuite, "Process 16-bit PCM file (mono)",
                   _testProcessPcmFile16BitMono);
  addTestWithPaths(testSuite, "Process 16-bit PCM file (stereo)",
                   _testProcessPcmFile16BitStereo);

  // WAVE files
  addTestWithPaths(testSuite, "Process 16-bit WAVE file (mono)",
                   _testProcessWaveFile16BitMono);
  addTestWithPaths(testSuite, "Process 16-bit WAVE file (stereo)",
                   _testProcessWaveFile16BitStereo);
  addTestWithPaths(testSuite, "Process 8-bit WAVE file (mono)",
                   REQUIRES_AUDIOFILE(_testProcessWaveFile8BitMono));
  addTestWithPaths(testSuite, "Process 8-bit WAVE file (stereo)",
                   REQUIRES_AUDIOFILE(_testProcessWaveFile8BitStereo));
  addTestWithPaths(testSuite, "Process 24-bit WAVE file (mono)",
                   REQUIRES_AUDIOFILE(_testProcessWaveFile24BitMono));
  addTestWithPaths(testSuite, "Process 24-bit WAVE file (stereo)",
                   REQUIRES_AUDIOFILE(_testProcessWaveFile24BitStereo));
  addTestWithPaths(testSuite, "Process 32-bit WAVE file (mono)",
                   REQUIRES_AUDIOFILE(_testProcessWaveFile32BitMono));
  addTestWithPaths(testSuite, "Process 32-bit WAVE file (stereo)",
                   REQUIRES_AUDIOFILE(_testProcessWaveFile32BitStereo));
  addTestWithPaths(testSuite, "Process FFMpeg WAVE file (stereo)",
                   _testProcessWaveFileFfmpeg);

  // AIFF files
  addTestWithPaths(testSuite, "Process 16-bit AIFF file (mono)",
                   REQUIRES_AUDIOFILE(_testProcessAiffFile16BitMono));
  addTestWithPaths(testSuite, "Process 16-bit AIFF file (stereo)",
                   REQUIRES_AUDIOFILE(_testProcessAiffFile16BitStereo));
#if TEST_AIFF_BIT_DEPTHS
  // 8-bit AIFF will require some extra work in SampleSourceAudiofile
  addTestWithPaths(testSuite, "Process 8-bit AIFF file (mono)",
                   REQUIRES_AUDIOFILE(_testProcessAiffFile8BitMono));
  addTestWithPaths(testSuite, "Process 8-bit AIFF file (stereo)",
                   REQUIRES_AUDIOFILE(_testProcessAiffFile8BitStereo));
  addTestWithPaths(testSuite, "Process 24-bit AIFF file (mono)",
                   REQUIRES_AUDIOFILE(_testProcessAiffFile24BitMono));
  addTestWithPaths(testSuite, "Process 24-bit AIFF file (stereo)",
                   REQUIRES_AUDIOFILE(_testProcessAiffFile24BitStereo));
  // 32-bit AIFF will require some extra work in SampleSourceAudiofile
  addTestWithPaths(testSuite, "Process 32-bit AIFF file (mono)",
                   REQUIRES_AUDIOFILE(_testProcessAiffFile32BitMono));
  addTestWithPaths(testSuite, "Process 32-bit AIFF file (stereo)",
                   REQUIRES_AUDIOFILE(_testProcessAiffFile32BitStereo));
#endif

  // FLAC files
  addTestWithPaths(testSuite, "Process 8-bit FLAC file (mono)",
                   REQUIRES_FLAC(_testProcessFlacFile8BitMono));
  addTestWithPaths(testSuite, "Process 8-bit FLAC file (stereo)",
                   REQUIRES_FLAC(_testProcessFlacFile8BitStereo));
  addTestWithPaths(testSuite, "Process 16-bit FLAC file (mono)",
                   REQUIRES_FLAC(_testProcessFlacFile16BitMono));
  addTestWithPaths(testSuite, "Process 16-bit FLAC file (stereo)",
                   REQUIRES_FLAC(_testProcessFlacFile16BitStereo));
  addTestWithPaths(testSuite, "Process 24-bit FLAC file (mono)",
                   REQUIRES_FLAC(_testProcessFlacFile24BitMono));
  addTestWithPaths(testSuite, "Process 24-bit FLAC file (stereo)",
                   REQUIRES_FLAC(_testProcessFlacFile24BitStereo));
  addTestWithPaths(testSuite, "Process 32-bit FLAC file (mono)",
                   REQUIRES_FLAC(_testProcessFlacFile32BitMono));
  addTestWithPaths(testSuite, "Process 32-bit FLAC file (stereo)",
                   REQUIRES_FLAC(_testProcessFlacFile32BitStereo));

  // Audio settings
  addTestWithPaths(testSuite, "Process with sample rate",
                   _testProcessWithSampleRate);
  addTestWithPaths(testSuite, "Process with blocksize",
                   _testProcessWithBlocksize);
  addTestWithPaths(testSuite, "Process with time signature",
                   _testProcessWithTimeSignature);

  // Parameter tests
  addTestWithPaths(testSuite, "Set parameter", _testSetParameter);

  // Internal plugins
  addTestWithPaths(testSuite, "Internal limiter", _testInternalLimiter);
  addTestWithPaths(testSuite, "Internal gain plugin", _testInternalGainPlugin);
  addTestWithPaths(testSuite, "Internal gain plugin invalid parameter",
                   _testInternalGainPluginInvalidParameter);
  addTestWithPaths(testSuite, "Internal passthru plugin",
                   _testInternalPassthruPlugin);

#if TEST_SILENCE_PLUGIN
  addTestWithPaths(testSuite, "Internal silence generator",
                   _testInternalSilenceGenerator);
#endif

  // Plugin processing tests
  addTestWithPaths(testSuite, "Process audio with again plugin",
                   _testProcessWithAgainPlugin);
  addTestWithPaths(testSuite, "Process MIDI with vstxsynth plugin",
                   _testProcessWithVstxsynthPlugin);
  addTestWithPaths(testSuite, "Process effect chain", _testProcessEffectChain);
  addTestWithPaths(testSuite, "Load FXP preset in VST",
                   _testLoadFxpPresetInVst);
  addTestWithPaths(testSuite, "Load internal program in VST",
                   _testLoadInternalProgramInVst);

  return testSuite;
}