summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/FilesystemTest/FilesystemTest.cbp74
-rw-r--r--tests/FilesystemTest/FilesystemTest.cscope_file_list1
-rw-r--r--tests/FilesystemTest/FilesystemTest.depend1
-rw-r--r--tests/FilesystemTest/FilesystemTest.layout (renamed from tests/CredentialPersistence/CredentialPersistence.layout.save)4
-rw-r--r--tests/FilesystemTest/src/File.cc11
-rw-r--r--tests/MetaScanTest/MetaScanTest.cbp (renamed from tests/CredentialPersistence/CredentialPersistence.cbp.save)26
-rw-r--r--tests/MetaScanTest/MetaScanTest.depend28
-rw-r--r--tests/MetaScanTest/MetaScanTest.layout (renamed from tests/ConnectionHandlerTest/ConnectionHandlerTest.layout.save)4
-rw-r--r--tests/MetaScanTest/main.cpp147
-rw-r--r--tests/StringBuilderTest/StringBuilderTest.cbp (renamed from tests/JSonTest/JSonTest.cbp.save)35
-rw-r--r--tests/StringBuilderTest/StringBuilderTest.depend1
-rw-r--r--tests/StringBuilderTest/StringBuilderTest.layout9
-rw-r--r--tests/StringBuilderTest/main.cpp76
l---------tests/StringBuilderTest/srclient.conf1
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