diff options
Diffstat (limited to 'libs/taglib/tests/utils.h')
-rw-r--r-- | libs/taglib/tests/utils.h | 25 |
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()); +} |