summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2018-05-31 09:42:15 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2018-06-08 14:33:35 +1000
commit3ce70cfa91e823afd50c1f6a70b178a75a9015a9 (patch)
tree27f9b5c1bd86d8ae9563913c179d81c3c5b8c8dd /test
parentfc6e6aad363a612110e43dcc5f471c69f8560064 (diff)
quirks: allow for in-line comments
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'test')
-rw-r--r--test/test-quirks.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/test-quirks.c b/test/test-quirks.c
index 646559ed..6c427dad 100644
--- a/test/test-quirks.c
+++ b/test/test-quirks.c
@@ -264,6 +264,25 @@ START_TEST(quirks_parse_error_section)
}
END_TEST
+START_TEST(quirks_parse_error_trailing_whitespace)
+{
+ struct quirks_context *ctx;
+ const char quirks_file[] =
+ "[Section name]\n"
+ "MatchUdevType=mouse \n"
+ "AttrSizeHint=10x10\n";
+ struct data_dir dd = make_data_dir(quirks_file);
+
+ ctx = quirks_init_subsystem(dd.dirname,
+ NULL,
+ log_handler,
+ NULL,
+ QLOG_CUSTOM_LOG_PRIORITIES);
+ ck_assert(ctx == NULL);
+ cleanup_data_dir(dd);
+}
+END_TEST
+
START_TEST(quirks_parse_error_unknown_match)
{
struct quirks_context *ctx;
@@ -340,6 +359,48 @@ START_TEST(quirks_parse_error_model_not_one)
}
END_TEST
+START_TEST(quirks_parse_comment_inline)
+{
+ struct quirks_context *ctx;
+ const char quirks_file[] =
+ "[Section name] # some inline comment\n"
+ "MatchUdevType=mouse\t # another inline comment\n"
+ "ModelAppleTouchpad=1#\n";
+ struct data_dir dd = make_data_dir(quirks_file);
+
+ ctx = quirks_init_subsystem(dd.dirname,
+ NULL,
+ log_handler,
+ NULL,
+ QLOG_CUSTOM_LOG_PRIORITIES);
+ ck_assert_notnull(ctx);
+ quirks_context_unref(ctx);
+ cleanup_data_dir(dd);
+}
+END_TEST
+
+START_TEST(quirks_parse_comment_empty)
+{
+ struct quirks_context *ctx;
+ const char quirks_file[] =
+ "[Section name]\n"
+ "#\n"
+ " #\n"
+ "MatchUdevType=mouse\n"
+ "ModelAppleTouchpad=1\n";
+ struct data_dir dd = make_data_dir(quirks_file);
+
+ ctx = quirks_init_subsystem(dd.dirname,
+ NULL,
+ log_handler,
+ NULL,
+ QLOG_CUSTOM_LOG_PRIORITIES);
+ ck_assert_notnull(ctx);
+ quirks_context_unref(ctx);
+ cleanup_data_dir(dd);
+}
+END_TEST
+
START_TEST(quirks_parse_bustype)
{
struct quirks_context *ctx;
@@ -786,10 +847,13 @@ TEST_COLLECTION(quirks)
litest_add_for_device("quirks:structure", quirks_section_duplicate_attr, LITEST_MOUSE);
litest_add_for_device("quirks:parsing", quirks_parse_error_section, LITEST_MOUSE);
+ litest_add_for_device("quirks:parsing", quirks_parse_error_trailing_whitespace, LITEST_MOUSE);
litest_add_for_device("quirks:parsing", quirks_parse_error_unknown_match, LITEST_MOUSE);
litest_add_for_device("quirks:parsing", quirks_parse_error_unknown_attr, LITEST_MOUSE);
litest_add_for_device("quirks:parsing", quirks_parse_error_unknown_model, LITEST_MOUSE);
litest_add_for_device("quirks:parsing", quirks_parse_error_model_not_one, LITEST_MOUSE);
+ litest_add_for_device("quirks:parsing", quirks_parse_comment_inline, LITEST_MOUSE);
+ litest_add_for_device("quirks:parsing", quirks_parse_comment_empty, LITEST_MOUSE);
litest_add_for_device("quirks:parsing", quirks_parse_bustype, LITEST_MOUSE);
litest_add_for_device("quirks:parsing", quirks_parse_bustype_invalid, LITEST_MOUSE);