diff options
author | geronimo <geronimo013@gmx.de> | 2012-07-29 16:00:29 +0200 |
---|---|---|
committer | geronimo <geronimo013@gmx.de> | 2012-07-29 16:00:29 +0200 |
commit | aa714b0076c06d7133c625ab22c86114d4f17e23 (patch) | |
tree | f4773543d7c0bf593c20b1a033dea8dc28dd8ad5 /tests | |
parent | 4039d18078da508ba8c628df8e2aa741cf91f266 (diff) | |
download | cmp-aa714b0076c06d7133c625ab22c86114d4f17e23.tar.gz cmp-aa714b0076c06d7133c625ab22c86114d4f17e23.tar.bz2 |
cleanup
Diffstat (limited to 'tests')
14 files changed, 374 insertions, 44 deletions
diff --git a/tests/FilesystemTest/FilesystemTest.cbp b/tests/FilesystemTest/FilesystemTest.cbp new file mode 100644 index 0000000..43f5b5c --- /dev/null +++ b/tests/FilesystemTest/FilesystemTest.cbp @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<CodeBlocks_project_file> + <FileVersion major="1" minor="6" /> + <Project> + <Option title="Tests.FilesystemTest" /> + <Option pch_mode="2" /> + <Option compiler="gcc" /> + <Build> + <Target title="Debug"> + <Option output="bin/Debug/Tests" prefix_auto="1" extension_auto="1" /> + <Option object_output="obj/Debug/" /> + <Option type="1" /> + <Option compiler="gcc" /> + <Compiler> + <Add option="-g" /> + </Compiler> + </Target> + <Target title="Release"> + <Option output="bin/Release/Tests" prefix_auto="1" extension_auto="1" /> + <Option object_output="obj/Release/" /> + <Option type="1" /> + <Option compiler="gcc" /> + <Compiler> + <Add option="-O2" /> + </Compiler> + <Linker> + <Add option="-s" /> + </Linker> + </Target> + </Build> + <Compiler> + <Add option="-Wall" /> + <Add option="-fexceptions -std=gnu++0x -fomit-frame-pointer -fPIC -pthread -Wall -Wno-parentheses -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=implicit-function-declaration" /> + <Add option="-D_REENTRANT" /> + <Add option="-D_GNU_SOURCE=1" /> + <Add option="-D__STDC_CONSTANT_MACROS" /> + <Add option="-D__STDC_FORMAT_MACROS" /> + <Add option="-D__STDC_LIMIT_MACROS" /> + <Add directory="../../libs/vdr/include" /> + <Add directory="../../libs/util/include" /> + <Add directory="../../libs/networking/include" /> + <Add directory="../../libs/IO/include" /> + <Add directory="../../libs/fsScan/include" /> + <Add directory="include" /> + </Compiler> + <Linker> + <Add library="pthread" /> + <Add library="rt" /> + <Add library="ssl" /> + <Add library="crypt" /> + <Add library="../../libs/fsScan/libfsScan.a" /> + <Add library="../../libs/networking/libnetworking.a" /> + <Add library="../../libs/IO/libIO.a" /> + <Add library="../../libs/util/libutil.a" /> + <Add library="../../libs/vdr/libvdr.a" /> + </Linker> + <Unit filename="main.cpp" /> + <Extensions> + <code_completion /> + <envvars /> + <lib_finder disable_auto="1" /> + <debugger /> + <DoxyBlocks> + <comment_style block="0" line="0" /> + <doxyfile_project /> + <doxyfile_build /> + <doxyfile_warnings /> + <doxyfile_output /> + <doxyfile_dot /> + <general /> + </DoxyBlocks> + </Extensions> + </Project> +</CodeBlocks_project_file> diff --git a/tests/FilesystemTest/FilesystemTest.cscope_file_list b/tests/FilesystemTest/FilesystemTest.cscope_file_list new file mode 100644 index 0000000..7ac8741 --- /dev/null +++ b/tests/FilesystemTest/FilesystemTest.cscope_file_list @@ -0,0 +1 @@ +"/d/linux/CMP/tests/FilesystemTest/main.cpp" diff --git a/tests/FilesystemTest/FilesystemTest.depend b/tests/FilesystemTest/FilesystemTest.depend new file mode 100644 index 0000000..c4ac310 --- /dev/null +++ b/tests/FilesystemTest/FilesystemTest.depend @@ -0,0 +1 @@ +# depslib dependency file v1.0 diff --git a/tests/CredentialPersistence/CredentialPersistence.layout.save b/tests/FilesystemTest/FilesystemTest.layout index f0df7b3..68e17b2 100644 --- a/tests/CredentialPersistence/CredentialPersistence.layout.save +++ b/tests/FilesystemTest/FilesystemTest.layout @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <CodeBlocks_layout_file> <ActiveTarget name="Debug" /> - <File name="CredentialPersistence.cc" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> + <File name="main.cpp" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <Cursor> - <Cursor1 position="98" topLine="0" /> + <Cursor1 position="133" topLine="0" /> </Cursor> </File> </CodeBlocks_layout_file> diff --git a/tests/FilesystemTest/src/File.cc b/tests/FilesystemTest/src/File.cc deleted file mode 100644 index 8f3b528..0000000 --- a/tests/FilesystemTest/src/File.cc +++ /dev/null @@ -1,11 +0,0 @@ -#include "File.h" - -File::File(const char *Path) -{ - //ctor -} - -File::~File() -{ - //dtor -} diff --git a/tests/CredentialPersistence/CredentialPersistence.cbp.save b/tests/MetaScanTest/MetaScanTest.cbp index 0a5cfce..832ce4a 100644 --- a/tests/CredentialPersistence/CredentialPersistence.cbp.save +++ b/tests/MetaScanTest/MetaScanTest.cbp @@ -2,7 +2,7 @@ <CodeBlocks_project_file> <FileVersion major="1" minor="6" /> <Project> - <Option title="Tests.CredentialPersistence" /> + <Option title="Tests.MetaScanTest" /> <Option pch_mode="2" /> <Option compiler="gcc" /> <Build> @@ -30,33 +30,35 @@ </Build> <Compiler> <Add option="-Wall" /> - <Add option="-std=gnu++0x -fomit-frame-pointer -fPIC -pthread -Wall -Wno-parentheses -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=implicit-function-declaration -ansi" /> + <Add option="-fexceptions -std=gnu++0x -fomit-frame-pointer -fPIC -pthread -Wall -Wno-parentheses -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=implicit-function-declaration" /> <Add option="-D_REENTRANT" /> <Add option="-D_GNU_SOURCE=1" /> - <Add directory="../../cmps/serverlib/include" /> + <Add option="-D_FILE_OFFSET_BITS=64" /> + <Add option="-D_LARGEFILE_SOURCE" /> + <Add option="-D_LARGEFILE64_SOURCE" /> + <Add option="-D__STDC_CONSTANT_MACROS" /> + <Add option="-D__STDC_FORMAT_MACROS" /> + <Add option="-D__STDC_LIMIT_MACROS" /> <Add directory="../../libs/fsScan/include" /> <Add directory="../../libs/networking/include" /> + <Add directory="../../libs/IO/include" /> <Add directory="../../libs/util/include" /> <Add directory="../../libs/vdr/include" /> </Compiler> <Linker> - <Add library="../../cmps/serverlib/libserverlib.a" /> <Add library="../../libs/fsScan/libfsScan.a" /> <Add library="../../libs/networking/libnetworking.a" /> + <Add library="../../libs/IO/libIO.a" /> <Add library="../../libs/util/libutil.a" /> <Add library="../../libs/vdr/libvdr.a" /> - <Add library="jpeg" /> - <Add library="pthread" /> - <Add library="dl" /> - <Add library="cap" /> <Add library="rt" /> - <Add library="fribidi" /> - <Add library="freetype" /> - <Add library="yajl" /> + <Add library="pthread" /> <Add library="ssl" /> <Add library="crypt" /> + <Add library="pcrecpp" /> + <Add directory="/usr/lib" /> </Linker> - <Unit filename="CredentialPersistence.cc" /> + <Unit filename="main.cpp" /> <Extensions> <code_completion /> <envvars /> diff --git a/tests/MetaScanTest/MetaScanTest.depend b/tests/MetaScanTest/MetaScanTest.depend new file mode 100644 index 0000000..aa86b49 --- /dev/null +++ b/tests/MetaScanTest/MetaScanTest.depend @@ -0,0 +1,28 @@ +# depslib dependency file v1.0 +1343547065 source:/d/linux/CMP/tests/MetaScanTest/main.cpp + <File.h> + <FileReader.h> + <LineReader.h> + <ConfigReader.h> + <iostream> + <stdlib.h> + <string.h> + <errno.h> + <fcntl.h> + <stdio.h> + <unistd.h> + <wait.h> + <tr1/tuple> + +1343485153 /d/linux/CMP/libs/IO/include/File.h + <stddef.h> + <sys/types.h> + +1343485153 /d/linux/CMP/libs/IO/include/FileReader.h + +1343485153 /d/linux/CMP/libs/IO/include/LineReader.h + +1343538490 /d/linux/CMP/libs/IO/include/ConfigReader.h + <tuple> + <string> + diff --git a/tests/ConnectionHandlerTest/ConnectionHandlerTest.layout.save b/tests/MetaScanTest/MetaScanTest.layout index 130e1dc..c9eeb3d 100644 --- a/tests/ConnectionHandlerTest/ConnectionHandlerTest.layout.save +++ b/tests/MetaScanTest/MetaScanTest.layout @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <CodeBlocks_layout_file> <ActiveTarget name="Debug" /> - <File name="ConnectionHandlerTest.cc" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> + <File name="main.cpp" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> <Cursor> - <Cursor1 position="916" topLine="0" /> + <Cursor1 position="1602" topLine="0" /> </Cursor> </File> </CodeBlocks_layout_file> diff --git a/tests/MetaScanTest/main.cpp b/tests/MetaScanTest/main.cpp new file mode 100644 index 0000000..62c1bda --- /dev/null +++ b/tests/MetaScanTest/main.cpp @@ -0,0 +1,147 @@ +/* + * test case for scanning of meta data + */ +#include <File.h> +#include <FileReader.h> +#include <LineReader.h> +#include <ConfigReader.h> +#include <iostream> +#include <stdlib.h> +#include <string.h> +#include <errno.h> +#include <fcntl.h> +#include <stdio.h> +#include <unistd.h> +#include <wait.h> +#include <tr1/tuple> + +//static const char *mediaInfo = NULL; +//static const char *ffmpeg = NULL; +static void testPipe(const char *chk = NULL); + +#define ASSERT_IS(rv, x) if (x != rv) { fprintf(stderr, "assertation failed at %s #%d\n",__FILE__,__LINE__); exit(-1); } +#define ASSERT_NOT(rv, x) if (x == rv) { fprintf(stderr, "assertation failed at %s #%d\n",__FILE__,__LINE__); exit(-1); } +#define FAIL(s) fprintf(stderr, s); + +static void parseConfig(const char *FileName) +{ + cConfigReader *cr = new cConfigReader(new cLineReader(new cFileReader(new cFile(FileName)))); + cConfigReader::ConfigEntry *ce; + + while ((ce = cr->ReadValue())) { + std::cout << "config entry [" << std::get<0>(*ce) << "] => " << std::get<1>(*ce) << std::endl; + delete ce; + } + cr->Close(); + delete cr; +} + +static void testMediaFiles(const char *FileName) +{ + cLineReader *lr = new cLineReader(new cFileReader(new cFile(FileName))); + const char *line; + + while ((line = lr->ReadLine())) { + std::cout << "media-test-file: " << line << std::endl; + testPipe(line); + } + lr->Close(); + delete lr; +} + +static const short BufferSize = 100; +enum PipeFileDescriptors { + READ_FD = 0, + WRITE_FD = 1 +}; + +static void testPipe(const char *chk) +{ + int parent2Child[2]; + int child2Parent[2]; + pid_t pid; + std::string dataReadFromChild; + char buffer[BufferSize + 1]; + ssize_t readResult; + bool run = true; + int status; + + ASSERT_IS(0, pipe(parent2Child)); + ASSERT_IS(0, pipe(child2Parent)); + + switch (pid = fork()) { + case -1: + FAIL("fork failed"); + exit(-1); + + case 0: /* child */ + ASSERT_NOT(-1, dup2(parent2Child[READ_FD], STDIN_FILENO)); + ASSERT_NOT(-1, dup2(child2Parent[WRITE_FD], STDOUT_FILENO)); + ASSERT_NOT(-1, dup2(child2Parent[WRITE_FD], STDERR_FILENO)); + ASSERT_IS(0, close(parent2Child[WRITE_FD])); + ASSERT_IS(0, close(child2Parent[READ_FD])); + + if (chk) { + execlp("mediainfo", "mediainfo", chk, NULL); + } + else execlp("ls", "ls", "-al", "--color", NULL); + FAIL("this line should never be reached!"); + exit(-1); + + default: /* parent */ + std::cout << "child " << pid << " process running ..." << std::endl; + + ASSERT_IS(0, close(parent2Child[READ_FD])); + ASSERT_IS(0, close(child2Parent[WRITE_FD])); + + while (run) { + switch (readResult = read(child2Parent[READ_FD], buffer, BufferSize)) { + case 0: /* end of file, or non-blocking read. */ + std::cout << "End of File reached ..." << std::endl + << "Data received was (" + << dataReadFromChild.size() << "):" << std::endl + << dataReadFromChild << std::endl; + ASSERT_IS(pid, waitpid(pid, &status, 0)); + + std::cout << std::endl + << "child exit status is: " << WEXITSTATUS(status) << std::endl << std::endl; +// exit(0); + run = false; + break; + + case -1: + if ((errno == EINTR) || (errno == EAGAIN)) { + errno = 0; + } + else { + FAIL("read() failed"); + run = false; + } break; + + default: + dataReadFromChild.append(buffer, readResult); + break; + } + } + } +} + + +// mediainfo ${media} | grep "Scan type" +// ffmpeg -i ${media} +int main() +{ + parseConfig("srclient.conf"); + + std::cout << std::endl << "===========================================" << std::endl << std::endl; + parseConfig("srserver.conf"); + + std::cout << std::endl << "===========================================" << std::endl << std::endl; + testPipe(); + + std::cout << std::endl << "===========================================" << std::endl << std::endl; + testMediaFiles("testMedia.files"); + + cFile::Cleanup(); + return 0; +} diff --git a/tests/JSonTest/JSonTest.cbp.save b/tests/StringBuilderTest/StringBuilderTest.cbp index 9328615..bc86f1b 100644 --- a/tests/JSonTest/JSonTest.cbp.save +++ b/tests/StringBuilderTest/StringBuilderTest.cbp @@ -2,7 +2,7 @@ <CodeBlocks_project_file> <FileVersion major="1" minor="6" /> <Project> - <Option title="Tests.JSonTest" /> + <Option title="Tests.StringBuilderTest" /> <Option pch_mode="2" /> <Option compiler="gcc" /> <Build> @@ -30,32 +30,33 @@ </Build> <Compiler> <Add option="-Wall" /> - <Add option="-std=gnu++0x -fomit-frame-pointer -fPIC -pthread -Wall -Wno-parentheses -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=implicit-function-declaration -ansi" /> + <Add option="-fexceptions -std=gnu++0x -fomit-frame-pointer -fPIC -pthread -Wall -Wno-parentheses -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=implicit-function-declaration" /> <Add option="-D_REENTRANT" /> <Add option="-D_GNU_SOURCE=1" /> - <Add directory="../../libs/fsScan/include" /> - <Add directory="../../libs/networking/include" /> - <Add directory="../../libs/util/include" /> + <Add option="-D_FILE_OFFSET_BITS=64" /> + <Add option="-D_LARGEFILE_SOURCE" /> + <Add option="-D_LARGEFILE64_SOURCE" /> + <Add option="-D__STDC_CONSTANT_MACROS" /> + <Add option="-D__STDC_FORMAT_MACROS" /> + <Add option="-D__STDC_LIMIT_MACROS" /> <Add directory="../../libs/vdr/include" /> + <Add directory="../../libs/util/include" /> + <Add directory="../../libs/IO/include" /> + <Add directory="../../libs/networking/include" /> + <Add directory="../../libs/fsScan/include" /> </Compiler> <Linker> - <Add library="../../libs/fsScan/libfsScan.a" /> - <Add library="../../libs/networking/libnetworking.a" /> - <Add library="../../libs/util/libutil.a" /> - <Add library="../../libs/vdr/libvdr.a" /> - <Add library="jpeg" /> <Add library="pthread" /> - <Add library="dl" /> - <Add library="cap" /> <Add library="rt" /> - <Add library="fribidi" /> - <Add library="freetype" /> - <Add library="fontconfig" /> - <Add library="yajl" /> <Add library="ssl" /> <Add library="crypt" /> + <Add library="../../libs/fsScan/libfsScan.a" /> + <Add library="../../libs/networking/libnetworking.a" /> + <Add library="../../libs/IO/libIO.a" /> + <Add library="../../libs/util/libutil.a" /> + <Add library="../../libs/vdr/libvdr.a" /> </Linker> - <Unit filename="JSonTest.cc" /> + <Unit filename="main.cpp" /> <Extensions> <code_completion /> <envvars /> diff --git a/tests/StringBuilderTest/StringBuilderTest.depend b/tests/StringBuilderTest/StringBuilderTest.depend new file mode 100644 index 0000000..c4ac310 --- /dev/null +++ b/tests/StringBuilderTest/StringBuilderTest.depend @@ -0,0 +1 @@ +# depslib dependency file v1.0 diff --git a/tests/StringBuilderTest/StringBuilderTest.layout b/tests/StringBuilderTest/StringBuilderTest.layout new file mode 100644 index 0000000..a2754af --- /dev/null +++ b/tests/StringBuilderTest/StringBuilderTest.layout @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<CodeBlocks_layout_file> + <ActiveTarget name="Debug" /> + <File name="main.cpp" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0"> + <Cursor> + <Cursor1 position="1759" topLine="0" /> + </Cursor> + </File> +</CodeBlocks_layout_file> diff --git a/tests/StringBuilderTest/main.cpp b/tests/StringBuilderTest/main.cpp new file mode 100644 index 0000000..c06034a --- /dev/null +++ b/tests/StringBuilderTest/main.cpp @@ -0,0 +1,76 @@ +/* + * small tests for class StringBuilder + */ +#include <StringBuilder.h> +#include <FileReader.h> +#include <LineReader.h> +#include <File.h> +#include <string.h> +#include <iostream> + +#define NEW_LINE '\n' + +void rangeTests() +{ // 12345678901 + static const char *sample = "Hello World"; + cStringBuilder *sb; + int chunkSize = strlen(sample) - 4; + char *result; + + std::cout << sample << " has length: " << strlen(sample) << std::endl; + + for (int i=0; i < 6; ++i) { + std::cout << "check chunkSize of " << chunkSize + i << std::endl; + sb = new cStringBuilder(chunkSize + i); + + sb->Append(sample).Append(NEW_LINE); + result = sb->toString(); + + std::cout << "assembled text looks like: " << std::endl << result; + free(result); + delete sb; + } +} + +void basicTests() +{ + cStringBuilder sb(179); + + sb.Append("hello World").Append(NEW_LINE); + sb.Append("logical default true: ").Append(true).Append(NEW_LINE); + sb.Append("logical default false: ").Append(false).Append(NEW_LINE); + sb.Append("logical true value: ").Append(true, "true", "false").Append(NEW_LINE); + sb.Append("logical false value: ").Append(false, "true", "false").Append(NEW_LINE); + sb.Append("double: ").Append(3.1456789).Append(NEW_LINE); + sb.Append("unsigned long: ").Append((size_t) 91237485l).Append(NEW_LINE); + sb.Append("long: ").Append(1234567890l).Append(NEW_LINE); + sb.Append("int: ").Append(512).Append(NEW_LINE); + + char *result = sb.toString(); + + std::cout << "sizeof assembled text: " << sb.Size() << std::endl; + std::cout << "assembled text looks like:" << std::endl << result; + + free(result); +} + +void lineReaderTest() +{ + cLineReader lr(new cFileReader(new cFile("srclient.conf"))); + const char *line = NULL; + + while ((line = lr.ReadLine())) { + std::cout << "line: " << line << std::endl; + } + lr.Close(); + cFile::Cleanup(); +} + +int main() +{ + lineReaderTest(); + basicTests(); + rangeTests(); + + return 0; +} diff --git a/tests/StringBuilderTest/srclient.conf b/tests/StringBuilderTest/srclient.conf new file mode 120000 index 0000000..a159926 --- /dev/null +++ b/tests/StringBuilderTest/srclient.conf @@ -0,0 +1 @@ +/home/django/.cmp/srclient.conf
\ No newline at end of file |