annotate data/fileio/test/svcore-data-fileio-test.cpp @ 1752:6d09d68165a4 by-id

Further review of ById: make IDs only available when adding a model to the ById store, not by querying the item directly. This means any id encountered in the wild must have been added to the store at some point (even if later released), which simplifies reasoning about lifecycles
author Chris Cannam
date Fri, 05 Jul 2019 15:28:07 +0100
parents 021556fcd30b
children 2654bf447a84
rev   line source
Chris@756 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@879 2 /*
Chris@879 3 Sonic Visualiser
Chris@879 4 An audio file viewer and annotation editor.
Chris@879 5 Centre for Digital Music, Queen Mary, University of London.
Chris@879 6 This file copyright 2013 Chris Cannam.
Chris@879 7
Chris@879 8 This program is free software; you can redistribute it and/or
Chris@879 9 modify it under the terms of the GNU General Public License as
Chris@879 10 published by the Free Software Foundation; either version 2 of the
Chris@879 11 License, or (at your option) any later version. See the file
Chris@879 12 COPYING included with this distribution for more information.
Chris@879 13 */
Chris@756 14
Chris@756 15 #include "AudioFileReaderTest.h"
Chris@1698 16 #include "BogusAudioFileReaderTest.h"
Chris@1359 17 #include "AudioFileWriterTest.h"
Chris@1345 18 #include "EncodingTest.h"
Chris@1359 19 #include "MIDIFileReaderTest.h"
Chris@1524 20 #include "CSVFormatTest.h"
dev@1430 21 #include "CSVStreamWriterTest.h"
Chris@756 22
Chris@1601 23 #include "system/Init.h"
Chris@1601 24
Chris@756 25 #include <QtTest>
Chris@756 26
Chris@756 27 #include <iostream>
Chris@756 28
Chris@756 29 int main(int argc, char *argv[])
Chris@756 30 {
Chris@756 31 int good = 0, bad = 0;
Chris@756 32
Chris@1601 33 svSystemSpecificInitialisation();
Chris@1601 34
Chris@1346 35 QString testDir;
Chris@1346 36
Chris@1346 37 #ifdef Q_OS_WIN
Chris@1346 38 // incredible to have to hardcode this, but I just can't figure out how to
Chris@1346 39 // get QMAKE_POST_LINK to add an arg to its command successfully on Windows
Chris@1716 40 testDir = "svcore/data/fileio/test";
Chris@1346 41 #endif
Chris@1346 42
Chris@756 43 QCoreApplication app(argc, argv);
Chris@1392 44 app.setOrganizationName("sonic-visualiser");
Chris@1524 45 app.setApplicationName("test-svcore-data-fileio");
Chris@756 46
Chris@1607 47 if (argc == 3 && string(argv[1]) == "--testdir") {
Chris@1607 48 testDir = argv[2];
Chris@1607 49 argc = 1;
Chris@1607 50 }
Chris@1607 51
Chris@1504 52 if (testDir != "") {
Chris@1504 53 SVCERR << "Setting test directory base path to \"" << testDir << "\"" << endl;
Chris@1504 54 }
Chris@1504 55
Chris@756 56 {
Chris@1346 57 AudioFileReaderTest t(testDir);
Chris@1346 58 if (QTest::qExec(&t, argc, argv) == 0) ++good;
Chris@1346 59 else ++bad;
Chris@756 60 }
Chris@756 61
Chris@1345 62 {
Chris@1359 63 AudioFileWriterTest t(testDir);
Chris@1359 64 if (QTest::qExec(&t, argc, argv) == 0) ++good;
Chris@1359 65 else ++bad;
Chris@1359 66 }
Chris@1359 67
Chris@1359 68 {
Chris@1698 69 BogusAudioFileReaderTest t;
Chris@1698 70 if (QTest::qExec(&t, argc, argv) == 0) ++good;
Chris@1698 71 else ++bad;
Chris@1698 72 }
Chris@1698 73
Chris@1698 74 {
Chris@1346 75 EncodingTest t(testDir);
Chris@1346 76 if (QTest::qExec(&t, argc, argv) == 0) ++good;
Chris@1346 77 else ++bad;
Chris@1345 78 }
Chris@1345 79
Chris@1359 80 {
Chris@1359 81 MIDIFileReaderTest t(testDir);
Chris@1359 82 if (QTest::qExec(&t, argc, argv) == 0) ++good;
Chris@1359 83 else ++bad;
Chris@1359 84 }
Chris@1359 85
dev@1437 86 {
Chris@1524 87 CSVFormatTest t(testDir);
Chris@1524 88 if (QTest::qExec(&t, argc, argv) == 0) ++good;
Chris@1524 89 else ++bad;
Chris@1524 90 }
Chris@1524 91
Chris@1524 92 {
dev@1437 93 CSVStreamWriterTest t;
dev@1437 94 if (QTest::qExec(&t, argc, argv) == 0) ++good;
dev@1437 95 else ++bad;
dev@1437 96 }
dev@1437 97
Chris@756 98 if (bad > 0) {
Chris@1524 99 SVCERR << "\n********* " << bad << " test suite(s) failed!\n" << endl;
Chris@1429 100 return 1;
Chris@756 101 } else {
Chris@1524 102 SVCERR << "All tests passed" << endl;
Chris@1429 103 return 0;
Chris@756 104 }
Chris@756 105 }
Chris@1714 106