diff --git a/.gitignore b/.gitignore index 8c35832a4..4d503cd89 100644 --- a/.gitignore +++ b/.gitignore @@ -72,6 +72,10 @@ src/udev/keyboard-keys.txt test/test-libudev test/test-udev test/test -test/test-device_nodes -test/test-utf8 test-driver + +test/rules-test.sh.log +test/rules-test.sh.trs +test/test-suite.log +test/udev-test.pl.log +test/udev-test.pl.trs diff --git a/test/Makefile.am b/test/Makefile.am index f6d68c24b..6d9c77624 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -10,9 +10,7 @@ AM_CPPFLAGS = \ noinst_PROGRAMS = \ test-libudev \ - test-udev \ - test-utf8 \ - test-device_nodes + test-udev test_libudev_SOURCES = \ test-libudev.c @@ -34,26 +32,6 @@ test_udev_LDADD = \ $(BLKID_LIBS) \ $(SELINUX_LIBS) -test_utf8_SOURCES = \ - test-utf8.c - -test_utf8_CFLAGS = \ - $(AM_CFLAGS) - -test_utf8_LDADD = \ - $(top_builddir)/src/shared/libudev_shared.la \ - $(top_builddir)/src/libudev/libudev-private.la - -test_device_nodes_SOURCES = \ - test-device-nodes.c - -test_device_nodes_CFLAGS = \ - $(AM_CFLAGS) - -test_device_nodes_LDADD = \ - $(top_builddir)/src/shared/libudev_shared.la \ - $(top_builddir)/src/libudev/libudev-private.la - if HAVE_KMOD test_udev_LDADD += \ $(KMOD_LIBS) diff --git a/test/test-device-nodes.c b/test/test-device-nodes.c deleted file mode 100644 index 59ba4be08..000000000 --- a/test/test-device-nodes.c +++ /dev/null @@ -1,57 +0,0 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - -/*** - This file is part of systemd. - - Copyright 2013 Dave Reisner - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see . -***/ - -#include - -#include "device-nodes.h" -#include "util.h" - -/* helpers for test_encode_devnode_name */ -static char *do_encode_string(const char *in) { - size_t out_len = strlen(in) * 4 + 1; - char *out = malloc(out_len); - - assert_se(out); - assert_se(encode_devnode_name(in, out, out_len) >= 0); - puts(out); - - return out; -} - -static bool expect_encoded_as(const char *in, const char *expected) { - _cleanup_free_ char *encoded = do_encode_string(in); - return streq(encoded, expected); -} - -static void test_encode_devnode_name(void) { - assert_se(expect_encoded_as("systemd sucks", "systemd\\x20sucks")); - assert_se(expect_encoded_as("pinkiepie", "pinkiepie")); - assert_se(expect_encoded_as("valíd\\ųtf8", "valíd\\x5cųtf8")); - assert_se(expect_encoded_as("s/ash/ng", "s\\x2fash\\x2fng")); - assert_se(expect_encoded_as("/", "\\x2f")); - assert_se(expect_encoded_as("!", "\\x21")); -} - -int main(int argc, char *argv[]) { - test_encode_devnode_name(); - - return 0; -} diff --git a/test/test-utf8.c b/test/test-utf8.c deleted file mode 100644 index 2f0a95f1c..000000000 --- a/test/test-utf8.c +++ /dev/null @@ -1,66 +0,0 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - -/*** - This file is part of systemd. - - Copyright 2013 Dave Reisner - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see . -***/ - -#include "utf8.h" -#include "util.h" - -static void test_utf8_is_printable(void) { - assert_se(utf8_is_printable("ascii is valid\tunicode", 22)); - assert_se(utf8_is_printable("\342\204\242", 3)); - assert_se(!utf8_is_printable("\341\204", 2)); - assert_se(utf8_is_printable("ąę", 4)); -} - -static void test_ascii_is_valid(void) { - assert_se(ascii_is_valid("alsdjf\t\vbarr\nba z")); - assert_se(!ascii_is_valid("\342\204\242")); - assert_se(!ascii_is_valid("\341\204")); -} - -static void test_utf8_encoded_valid_unichar(void) { - assert_se(utf8_encoded_valid_unichar("\342\204\242") == 3); - assert_se(utf8_encoded_valid_unichar("\302\256") == 2); - assert_se(utf8_encoded_valid_unichar("a") == 1); - assert_se(utf8_encoded_valid_unichar("\341\204") < 0); - assert_se(utf8_encoded_valid_unichar("\341\204\341\204") < 0); - -} - -static void test_utf16_to_utf8(void) { - char *a = NULL; - const uint16_t utf16[] = { 'a', 0xd800, 'b', 0xdc00, 'c', 0xd801, 0xdc37 }; - const char utf8[] = { 'a', 'b', 'c', 0xf0, 0x90, 0x90, 0xb7, 0 }; - - a = utf16_to_utf8(utf16, 14); - assert_se(a); - assert_se(streq(a, utf8)); - - free(a); -} - -int main(int argc, char *argv[]) { - test_utf8_is_printable(); - test_ascii_is_valid(); - test_utf8_encoded_valid_unichar(); - test_utf16_to_utf8(); - - return 0; -}