notmuch_messages_t *messages;
     notmuch_message_t *message;
     notmuch_tags_t *tags;
+    const char* query_str = "";
 
     config = notmuch_config_open (ctx, NULL, NULL);
     if (config == NULL)
        argv++;
     }
 
-    query = notmuch_query_create (notmuch, "");
+    if (argc) {
+       query_str = query_string_from_args (notmuch, argc, argv);
+       if (query_str == NULL) {
+           fprintf (stderr, "Out of memory.\n");
+           return 1;
+       }
+    }
+ 
+    query = notmuch_query_create (notmuch, query_str);
     if (query == NULL) {
        fprintf (stderr, "Out of memory\n");
        return 1;
 
 grep cworth\.org dump.expected > dump-cworth.expected
 
 test_begin_subtest "dump -- from:cworth"
-test_subtest_known_broken
 notmuch dump -- from:cworth > dump-dash-cworth.actual
 test_expect_equal_file dump-cworth.expected dump-dash-cworth.actual
 
 test_begin_subtest "dump outfile from:cworth"
-test_subtest_known_broken
 notmuch dump dump-outfile-cworth.actual from:cworth
 test_expect_equal_file dump-cworth.expected dump-outfile-cworth.actual
 
 test_begin_subtest "dump outfile -- from:cworth"
-test_subtest_known_broken
 notmuch dump dump-outfile-dash-inbox.actual -- from:cworth
 test_expect_equal_file dump-cworth.expected dump-outfile-dash-inbox.actual