X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test%2FT081-sexpr-search.sh;h=07b1261958eaa66298cd448a2a8bd8eb90b2b78b;hb=fc3bb11808d8e7d02265ddd08cbffa4ab9d712a2;hp=4231dd386d9b17671e0d818bbccf936edb609f6f;hpb=341016c8ec34f838c2d72dc1bbfac567df054cd9;p=notmuch diff --git a/test/T081-sexpr-search.sh b/test/T081-sexpr-search.sh index 4231dd38..07b12619 100755 --- a/test/T081-sexpr-search.sh +++ b/test/T081-sexpr-search.sh @@ -31,6 +31,13 @@ thread:XXX 2009-11-18 [1/3] Carl Worth| Jan Janak; [notmuch] What a great idea EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "and of stemmed terms" +notmuch search --query=sexp '(and wonderful wizard)' | notmuch_search_sanitize > OUTPUT +cat < EXPECTED +thread:XXX 2009-11-18 [1/3] Carl Worth| Jan Janak; [notmuch] What a great idea! (inbox unread) +EOF +test_expect_equal_file EXPECTED OUTPUT + test_begin_subtest "or of exact terms" notmuch search --query=sexp '(or "php" "wizard")' | notmuch_search_sanitize > OUTPUT cat < EXPECTED @@ -185,6 +192,50 @@ notmuch search folder:'""' > EXPECTED notmuch search --query=sexp '(folder "")' > OUTPUT test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "Search by 'folder' with --output=files" +output=$(notmuch search --output=files --query=sexp '(folder bad/news)' | notmuch_search_files_sanitize) +test_expect_equal "$output" "MAIL_DIR/bad/news/msg-XXX +MAIL_DIR/duplicate/bad/news/msg-XXX" + +test_begin_subtest "Search by 'folder' with --output=files (trailing /)" +output=$(notmuch search --output=files --query=sexp '(folder bad/news/)' | notmuch_search_files_sanitize) +test_expect_equal "$output" "MAIL_DIR/bad/news/msg-XXX +MAIL_DIR/duplicate/bad/news/msg-XXX" + +test_begin_subtest "Search by 'folder' (multiple)" +output=$(notmuch search --query=sexp '(folder bad bad/news things/bad)' | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; To the bone (inbox unread) +thread:XXX 2001-01-05 [1/1(2)] Notmuch Test Suite; Bears (inbox unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Bites, stings, sad feelings (inbox unread)" + +test_begin_subtest "Search by 'folder' (multiple, trailing /)" +output=$(notmuch search --query=sexp '(folder bad bad/news/ things/bad)' | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; To the bone (inbox unread) +thread:XXX 2001-01-05 [1/1(2)] Notmuch Test Suite; Bears (inbox unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Bites, stings, sad feelings (inbox unread)" + +test_begin_subtest "Search by 'path' with --output=files" +output=$(notmuch search --output=files --query=sexp '(path bad/news)' | notmuch_search_files_sanitize) +test_expect_equal "$output" "MAIL_DIR/bad/news/msg-XXX +MAIL_DIR/duplicate/bad/news/msg-XXX" + +test_begin_subtest "Search by 'path' with --output=files (trailing /)" +output=$(notmuch search --output=files --query=sexp '(path bad/news/)' | notmuch_search_files_sanitize) +test_expect_equal "$output" "MAIL_DIR/bad/news/msg-XXX +MAIL_DIR/duplicate/bad/news/msg-XXX" + +test_begin_subtest "Search by 'path' specification (multiple)" +output=$(notmuch search --query=sexp '(path bad bad/news things/bad)' | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; To the bone (inbox unread) +thread:XXX 2001-01-05 [1/1(2)] Notmuch Test Suite; Bears (inbox unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Bites, stings, sad feelings (inbox unread)" + +test_begin_subtest "Search by 'path' specification (multiple, trailing /)" +output=$(notmuch search --query=sexp '(path bad bad/news/ things/bad)' | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; To the bone (inbox unread) +thread:XXX 2001-01-05 [1/1(2)] Notmuch Test Suite; Bears (inbox unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Bites, stings, sad feelings (inbox unread)" + test_begin_subtest "Search by 'id'" add_message '[subject]="search by id"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' output=$(notmuch search --query=sexp "(id ${gen_msg_id})" | notmuch_search_sanitize) @@ -346,7 +397,7 @@ output=$(notmuch search --query=sexp '(attachment (starts-with not))' | notmuch_ test_expect_equal "$output" 'thread:XXX 2009-11-18 [2/2] Lars Kellogg-Stedman; [notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)' test_begin_subtest "starts-with, folder" -notmuch search --output=files --query=sexp '(folder (starts-with bad))' | notmuch_dir_sanitize | sed 's/[0-9]*$/XXX/' > OUTPUT +notmuch search --output=files --query=sexp '(folder (starts-with bad))' | notmuch_search_files_sanitize > OUTPUT cat < EXPECTED MAIL_DIR/bad/msg-XXX MAIL_DIR/bad/news/msg-XXX @@ -832,13 +883,11 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "lastmod query, empty" -test_subtest_known_broken notmuch search from:keithp | notmuch_search_sanitize > EXPECTED notmuch search --query=sexp '(and (lastmod) (from keithp))'| notmuch_search_sanitize > OUTPUT test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "lastmod query, one argument" -test_subtest_known_broken notmuch tag +4EFC743A.3060609@april.org id:4EFC743A.3060609@april.org revision=$(notmuch count --lastmod '*' | cut -f3) notmuch search lastmod:$revision..$revision | notmuch_search_sanitize > EXPECTED @@ -846,7 +895,6 @@ notmuch search --query=sexp "(and (lastmod $revision))" | notmuch_search_saniti test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "lastmod query, two arguments" -test_subtest_known_broken notmuch tag +keithp from:keithp revision2=$(notmuch count --lastmod '*' | cut -f3) notmuch search lastmod:$revision..$revision2 | notmuch_search_sanitize > EXPECTED @@ -854,7 +902,6 @@ notmuch search --query=sexp "(and (lastmod $revision $revision2))" | notmuch_se test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "lastmod query, illegal nesting 1" -test_subtest_known_broken notmuch search --query=sexp '(to (lastmod))' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query @@ -863,7 +910,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "lastmod query, bad from revision" -test_subtest_known_broken notmuch search --query=sexp '(lastmod apples)' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query @@ -872,7 +918,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "lastmod query, bad to revision" -test_subtest_known_broken notmuch search --query=sexp '(lastmod 0 apples)' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query @@ -881,7 +926,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "lastmod query, illegal nesting 2" -test_subtest_known_broken notmuch search --query=sexp '(to (lastmod 2021-11-18))' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query @@ -890,7 +934,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "lastmod query, illegal nesting 3" -test_subtest_known_broken notmuch search --query=sexp '(lastmod (to))' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query @@ -899,7 +942,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "lastmod query, illegal nesting 4" -test_subtest_known_broken notmuch search --query=sexp '(lastmod today (to))' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query @@ -908,7 +950,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "lastmod query, too many arguments" -test_subtest_known_broken notmuch search --query=sexp '(lastmod yesterday and tommorow)' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query