Fix for lame OSs that don't have mkdtemp
This commit is contained in:
parent
f162d9d620
commit
43309a13d0
|
@ -203,8 +203,9 @@ TEST_F(SongLoaderTest, LoadRemotePlainM3U) {
|
||||||
|
|
||||||
TEST_F(SongLoaderTest, LoadLocalDirectory) {
|
TEST_F(SongLoaderTest, LoadLocalDirectory) {
|
||||||
// Make a directory and shove some files in it
|
// Make a directory and shove some files in it
|
||||||
QByteArray dir(QString(QDir::tempPath() + "/songloader_testdir-XXXXXX").toLocal8Bit());
|
char* dir = tmpnam(NULL);
|
||||||
ASSERT_TRUE(mkdtemp(dir.data()));
|
ASSERT_TRUE(dir);
|
||||||
|
mkdir(dir, S_IRWXU);
|
||||||
|
|
||||||
QFile resource(":/testdata/beep.mp3");
|
QFile resource(":/testdata/beep.mp3");
|
||||||
resource.open(QIODevice::ReadOnly);
|
resource.open(QIODevice::ReadOnly);
|
||||||
|
@ -212,26 +213,26 @@ TEST_F(SongLoaderTest, LoadLocalDirectory) {
|
||||||
|
|
||||||
// Write 3 MP3 files
|
// Write 3 MP3 files
|
||||||
for (int i=0 ; i<3 ; ++i) {
|
for (int i=0 ; i<3 ; ++i) {
|
||||||
QFile mp3(QString("%1/%2.mp3").arg(QString(dir)).arg(i));
|
QFile mp3(QString("%1/%2.mp3").arg(dir).arg(i));
|
||||||
mp3.open(QIODevice::WriteOnly);
|
mp3.open(QIODevice::WriteOnly);
|
||||||
mp3.write(data);
|
mp3.write(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
// And one file that isn't an MP3
|
// And one file that isn't an MP3
|
||||||
QFile somethingelse(dir + "/somethingelse.foo");
|
QFile somethingelse(QString(dir) + "/somethingelse.foo");
|
||||||
somethingelse.open(QIODevice::WriteOnly);
|
somethingelse.open(QIODevice::WriteOnly);
|
||||||
somethingelse.write("I'm not an MP3!");
|
somethingelse.write("I'm not an MP3!");
|
||||||
somethingelse.close();
|
somethingelse.close();
|
||||||
|
|
||||||
// The actual test happens in another function so we can always clean up if
|
// The actual test happens in another function so we can always clean up if
|
||||||
// it asserts
|
// it asserts
|
||||||
LoadLocalDirectory(QString(dir));
|
LoadLocalDirectory(dir);
|
||||||
|
|
||||||
QFile::remove(QString(dir) + "/0.mp3");
|
QFile::remove(QString(dir) + "/0.mp3");
|
||||||
QFile::remove(QString(dir) + "/1.mp3");
|
QFile::remove(QString(dir) + "/1.mp3");
|
||||||
QFile::remove(QString(dir) + "/2.mp3");
|
QFile::remove(QString(dir) + "/2.mp3");
|
||||||
QFile::remove(QString(dir) + "/somethingelse.foo");
|
QFile::remove(QString(dir) + "/somethingelse.foo");
|
||||||
rmdir(dir.constData());
|
rmdir(dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SongLoaderTest::LoadLocalDirectory(const QString &filename) {
|
void SongLoaderTest::LoadLocalDirectory(const QString &filename) {
|
||||||
|
|
Loading…
Reference in New Issue