diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2012-04-22 16:57:45 +0200 |
---|---|---|
committer | David Herrmann <dh.herrmann@googlemail.com> | 2012-04-22 16:57:45 +0200 |
commit | 508a3be3635ffa368dadddc9fca3ad310c7f2b81 (patch) | |
tree | 6a9ba0c3e54580256b89255c357ae157b862a6ff /tests | |
parent | 1081c76274b7b220ec905e707ed1accaa49370c0 (diff) |
tests: remove unneeded tests
test_buffer and test_terminal no longer compile and are not needed so
remove them.
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_buffer.c | 170 | ||||
-rw-r--r-- | tests/test_terminal.c | 281 |
2 files changed, 0 insertions, 451 deletions
diff --git a/tests/test_buffer.c b/tests/test_buffer.c deleted file mode 100644 index ab6c9f6..0000000 --- a/tests/test_buffer.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - * test_buffer - Test Buffer - * - * Copyright (c) 2011 David Herrmann <dh.herrmann@googlemail.com> - * Copyright (c) 2011 University of Tuebingen - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * Test Buffer - * This runs some stress tests on the buffer implementation. It can also be used - * to run some performance benchmarks and similar. - * This does not access the display output or perform any other _useful_ action. - * - * Use this as playground for new buffer features. - */ - -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> - -#include "console.h" -#include "log.h" -#include "unicode.h" - -/* print buffer with boundary */ -static void print_buf(struct kmscon_buffer *buf) -{ - unsigned int width, height, x, y; - kmscon_symbol_t ch; - - width = kmscon_buffer_get_width(buf); - height = kmscon_buffer_get_height(buf); - - log_info("Buffer: %ux%u\n", width, height); - - printf("x"); - for (x = 0; x < width; ++x) - printf("x"); - printf("x\n"); - - for (y = 0; y < height; ++y) { - printf("x"); - for (x = 0; x < width; ++x) { - ch = kmscon_buffer_read(buf, x, y); - printf("%c", ch ? ch : ' '); - } - printf("x\n"); - } - - printf("x"); - for (x = 0; x < width; ++x) - printf("x"); - printf("x\n"); -} - -static void test1(struct kmscon_buffer *buf) -{ - kmscon_symbol_t ch; - - log_info("Test1:\n"); - - kmscon_buffer_set_margins(buf, 1, 1); - ch = kmscon_symbol_make('?'); - - kmscon_buffer_write(buf, 0, 0, ch); - kmscon_buffer_write(buf, 2, 0, ch); - kmscon_buffer_write(buf, 4, 0, ch); - kmscon_buffer_write(buf, 1, 4, ch); - kmscon_buffer_write(buf, 3, 4, ch); - kmscon_buffer_write(buf, 5, 4, ch); - kmscon_buffer_write(buf, 9, 1, ch); - kmscon_buffer_write(buf, 9, 2, ch); - print_buf(buf); - kmscon_buffer_resize(buf, 20, 3); - print_buf(buf); - kmscon_buffer_resize(buf, 20, 5); - print_buf(buf); - kmscon_buffer_write(buf, 15, 1, ch); - print_buf(buf); - kmscon_buffer_scroll_up(buf, 1); - print_buf(buf); -} - -static void test2() -{ - kmscon_symbol_t sym, sym2, sym3, sym4; - const uint32_t *str; - size_t len, i; - - log_info("Test2:\n"); - - sym = kmscon_symbol_make('a'); - sym2 = kmscon_symbol_append(sym, '^'); - sym3 = kmscon_symbol_append(sym2, '^'); - sym4 = kmscon_symbol_append(sym, '^'); - - log_info("equality: %i %i %i\n", sym == sym2, sym2 == sym4, - sym3 == sym2); - - str = kmscon_symbol_get(&sym3, &len); - - printf("sym3: "); - for (i = 0; i < len; ++i) - printf("%c", str[i]); - printf("\n"); -} - -static void test3() -{ - int ret, i; - struct kmscon_utf8_mach *mach; - char buf[] = { 'a', 'b', 0xE2, 0x82, 0xAC }; - uint32_t val;; - - log_info("Test3:\n"); - - ret = kmscon_utf8_mach_new(&mach); - if (ret) - return; - - for (i = 0; i < sizeof(buf); ++i) { - ret = kmscon_utf8_mach_feed(mach, buf[i]); - if (ret == KMSCON_UTF8_ACCEPT) { - val = kmscon_utf8_mach_get(mach); - printf("ret: %d 0x%X\n", ret, val); - } - } - - kmscon_utf8_mach_free(mach); -} - -int main(int argc, char **argv) -{ - struct kmscon_buffer *buf; - int ret; - - ret = kmscon_buffer_new(&buf, 10, 5); - if (ret) { - log_err("Cannot create buffer object\n"); - goto err_out; - } - kmscon_buffer_set_max_sb(buf, 128); - - test1(buf); - test2(); - test3(); - - kmscon_buffer_unref(buf); -err_out: - return abs(ret); -} diff --git a/tests/test_terminal.c b/tests/test_terminal.c deleted file mode 100644 index 814872c..0000000 --- a/tests/test_terminal.c +++ /dev/null @@ -1,281 +0,0 @@ -/* - * test_terminal - Test Terminal - * - * Copyright (c) 2011 David Herrmann <dh.herrmann@googlemail.com> - * Copyright (c) 2011 University of Tuebingen - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/* - * Test Terminal - * This runs a terminal emulator with default settings on all connected outputs. - * This is supposed to be a fully functional VT. It's only missing - * configurability and extended features. - */ - -#include <errno.h> -#include <signal.h> -#include <stdbool.h> -#include <stdlib.h> -#include <string.h> -#include <sys/wait.h> -#include "conf.h" -#include "eloop.h" -#include "input.h" -#include "log.h" -#include "terminal.h" -#include "uterm.h" -#include "vt.h" - -struct app { - struct ev_eloop *eloop; - struct ev_signal *sig_term; - struct ev_signal *sig_int; - struct ev_signal *sig_chld; - struct kmscon_symbol_table *st; - struct kmscon_font_factory *ff; - struct uterm_video *video; - struct kmscon_input *input; - struct kmscon_vt *vt; - struct kmscon_terminal *term; -}; - -static volatile sig_atomic_t terminate; - -static void sig_term(struct ev_signal *sig, int signum, void *data) -{ - terminate = 1; -} - -static void sig_chld(struct ev_signal *sig, int signum, void *data) -{ - pid_t pid; - int status; - - /* - * If multiple children exit at the same time, signalfd would put them - * all in one event. So we reap in a loop. - */ - while (1) { - pid = waitpid(-1, &status, WNOHANG); - if (pid == -1) { - if (errno != ECHILD) - log_warn("test: cannot wait on child: %m\n"); - break; - } else if (pid == 0) { - break; - } else if (WIFEXITED(status)) { - if (WEXITSTATUS(status) != 0) - log_info("test: child %d exited with status " - "%d\n", pid, WEXITSTATUS(status)); - else - log_debug("test: child %d exited " - "successfully\n", pid); - } else if (WIFSIGNALED(status)) { - log_debug("test: child %d exited by signal %d\n", pid, - WTERMSIG(status)); - } - } -} - -static void terminal_closed(struct kmscon_terminal *term, void *data) -{ - kmscon_terminal_close(term); - terminate = 1; -} - -static void read_input(struct kmscon_input *input, - struct kmscon_input_event *ev, void *data) -{ - struct app *app = data; - int ret; - - ret = kmscon_terminal_input(app->term, ev); - if (ret) { - kmscon_terminal_close(app->term); - terminate = 1; - } -} - -static void activate_outputs(struct app *app) -{ - struct uterm_display *iter; - int ret; - - iter = uterm_video_get_displays(app->video); - - for ( ; iter; iter = uterm_display_next(iter)) { - if (uterm_display_get_state(iter) == UTERM_DISPLAY_INACTIVE) { - ret = uterm_display_activate(iter, NULL); - if (ret) { - log_err("test: cannot activate output: %d\n", - ret); - continue; - } - } - - ret = kmscon_terminal_add_output(app->term, iter); - if (ret) { - log_err("test: cannot assign output: %d\n", ret); - continue; - } - } -} - -static bool vt_switch(struct kmscon_vt *vt, - enum kmscon_vt_action action, - void *data) -{ - struct app *app = data; - int ret; - - if (action == KMSCON_VT_ENTER) { - ret = uterm_video_wake_up(app->video); - if (!ret) - activate_outputs(app); - - kmscon_input_wake_up(app->input); - } else if (action == KMSCON_VT_LEAVE) { - kmscon_input_sleep(app->input); - kmscon_terminal_rm_all_outputs(app->term); - uterm_video_sleep(app->video); - } - - return true; -} - -static void destroy_app(struct app *app) -{ - kmscon_terminal_unref(app->term); - kmscon_vt_unref(app->vt); - kmscon_input_unref(app->input); - uterm_video_unref(app->video); - kmscon_font_factory_unref(app->ff); - kmscon_symbol_table_unref(app->st); - ev_eloop_rm_signal(app->sig_chld); - ev_eloop_rm_signal(app->sig_int); - ev_eloop_rm_signal(app->sig_term); - ev_eloop_unref(app->eloop); -} - -static int setup_app(struct app *app) -{ - int ret; - - ret = ev_eloop_new(&app->eloop); - if (ret) - goto err_loop; - - ret = ev_eloop_new_signal(app->eloop, &app->sig_term, SIGTERM, - sig_term, NULL); - if (ret) - goto err_loop; - - ret = ev_eloop_new_signal(app->eloop, &app->sig_int, SIGINT, - sig_term, NULL); - if (ret) - goto err_loop; - - ret = ev_eloop_new_signal(app->eloop, &app->sig_chld, SIGCHLD, - sig_chld, NULL); - if (ret) - goto err_loop; - - ret = kmscon_symbol_table_new(&app->st); - if (ret) - goto err_loop; - - ret = uterm_video_new(&app->video, UTERM_VIDEO_DRM, app->eloop); - if (ret) - goto err_loop; - - ret = kmscon_font_factory_new(&app->ff, app->st); - if (ret) - goto err_loop; - - ret = kmscon_input_new(&app->input); - if (ret) - goto err_loop; - - ret = kmscon_vt_new(&app->vt, vt_switch, app); - if (ret) - goto err_loop; - - ret = kmscon_vt_open(app->vt, KMSCON_VT_NEW, app->eloop); - if (ret) - goto err_loop; - - ret = kmscon_terminal_new(&app->term, app->eloop, - app->ff, app->video, app->st); - if (ret) - goto err_loop; - - ret = kmscon_terminal_open(app->term, terminal_closed, app); - if (ret) - goto err_loop; - - ret = kmscon_input_connect_eloop(app->input, app->eloop, read_input, - app); - if (ret) - goto err_loop; - - return 0; - -err_loop: - destroy_app(app); - return ret; -} - -int main(int argc, char **argv) -{ - struct app app; - int ret; - - log_info("test: starting\n"); - conf_parse_argv(argc, argv); - log_set_config(&LOG_CONFIG_INFO(1, 1)); - memset(&app, 0, sizeof(app)); - - ret = setup_app(&app); - if (ret) - goto err_out; - - log_info("test: starting main-loop\n"); - - while (!terminate) { - ret = ev_eloop_dispatch(app.eloop, -1); - if (ret) - break; - } - - log_info("test: stopping main-loop\n"); - -err_out: - destroy_app(&app); - - if (ret) { - log_err("test: failed with: %d\n", ret); - return EXIT_FAILURE; - } else { - log_info("test: terminating\n"); - return EXIT_SUCCESS; - } -} |