summaryrefslogtreecommitdiff
path: root/libs/taglib/tests/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/taglib/tests/utils.h')
-rw-r--r--libs/taglib/tests/utils.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/libs/taglib/tests/utils.h b/libs/taglib/tests/utils.h
new file mode 100644
index 0000000000..21d94526f0
--- /dev/null
+++ b/libs/taglib/tests/utils.h
@@ -0,0 +1,25 @@
+#include <string>
+#include <stdio.h>
+#include <sys/fcntl.h>
+
+using namespace std;
+
+inline string copyFile(const string &filename, const string &ext)
+{
+ string newname = string(tempnam(NULL, NULL)) + ext;
+ string oldname = string("data/") + filename + ext;
+ char buffer[4096];
+ int bytes;
+ int inf = open(oldname.c_str(), O_RDONLY);
+ int outf = open(newname.c_str(), O_CREAT | O_EXCL | O_RDWR, S_IRUSR | S_IWUSR);
+ while((bytes = read(inf, buffer, sizeof(buffer))) > 0)
+ write(outf, buffer, bytes);
+ close(outf);
+ close(inf);
+ return newname;
+}
+
+inline void deleteFile(const string &filename)
+{
+ remove(filename.c_str());
+}