summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/CMakeLists.txt2
-rw-r--r--test/test-partial.c48
-rw-r--r--test/test-server.c1
3 files changed, 51 insertions, 0 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 35b0531..4ae047b 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -18,6 +18,8 @@ add_executable(kiro-test-bandwidth test-client-bandwidth.c)
target_link_libraries(kiro-test-bandwidth kiro gobject-2.0 glib-2.0)
add_executable(kiro-server test-server.c)
target_link_libraries(kiro-server kiro gobject-2.0 glib-2.0)
+add_executable(kiro-test-partial test-partial.c)
+target_link_libraries(kiro-test-partial kiro gobject-2.0 glib-2.0)
install(TARGETS kiro-test-bandwidth kiro-test-latency kiro-server
RUNTIME DESTINATION ${KIRO_BINDIR})
diff --git a/test/test-partial.c b/test/test-partial.c
new file mode 100644
index 0000000..62b91ad
--- /dev/null
+++ b/test/test-partial.c
@@ -0,0 +1,48 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include "kiro-trb.h"
+#include "kiro-sb.h"
+
+
+int count = 0;
+
+
+KiroContinueFlag
+callback (KiroSb *sb) {
+ (void)sb;
+ g_message ("Got new element");
+ count++;
+ return KIRO_CALLBACK_CONTINUE;
+}
+
+int
+main ( int argc, char *argv[] )
+{
+ if (argc < 3) {
+ printf ("Not enough aruments. Usage: kiro-test-bandwidth <address> <port>\n");
+ return -1;
+ }
+
+
+ KiroSb *ksb = kiro_sb_new ();
+ kiro_sb_clone (ksb, argv[1], argv[2]);
+ unsigned long int callback_id = kiro_sb_add_sync_callback (ksb, (KiroSbSyncCallbackFunc)callback, ksb);
+
+ while (count < 3) {}
+ kiro_sb_remove_sync_callback (ksb, callback_id);
+
+ while (count < 6) {
+ kiro_sb_get_data_blocking (ksb);
+ g_message ("Got new element");
+ count++;
+ }
+
+ kiro_sb_free (ksb);
+
+ return 0;
+}
+
+
+
diff --git a/test/test-server.c b/test/test-server.c
index 87ff5d0..7d34384 100644
--- a/test/test-server.c
+++ b/test/test-server.c
@@ -178,6 +178,7 @@ main (void)
gchar *buffer = NULL;
while (1) {
+ sleep (1);
buffer = kiro_trb_dma_push (rb);
print_current_frame (buffer, frame, 512, 512, rand);
frame++;