X-Git-Url: https://git.cworth.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT081-sexpr-search.sh;h=73f45041c0495485af56dc710b0d30766d453a70;hp=a6e2ee820c2ce73b7afc6010865a8feb0c834cbd;hb=0a32741fceb7778ced34064eacb7b5aac2c71638;hpb=303f207a54325158105aba400702637e670decda diff --git a/test/T081-sexpr-search.sh b/test/T081-sexpr-search.sh index a6e2ee82..73f45041 100755 --- a/test/T081-sexpr-search.sh +++ b/test/T081-sexpr-search.sh @@ -774,13 +774,11 @@ notmuch search --query=sexp '(and (date) (from keithp))'| notmuch_search_saniti test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "date query, one argument" -test_subtest_known_broken notmuch search date:2009-11-18 and from:keithp | notmuch_search_sanitize > EXPECTED notmuch search --query=sexp '(and (date 2009-11-18) (from keithp))' | notmuch_search_sanitize > OUTPUT test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "date query, two arguments" -test_subtest_known_broken notmuch search date:2009-11-17..2009-11-18 and from:keithp | notmuch_search_sanitize > EXPECTED notmuch search --query=sexp '(and (date 2009-11-17 2009-11-18) (from keithp))' | notmuch_search_sanitize > OUTPUT test_expect_equal_file EXPECTED OUTPUT @@ -802,7 +800,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "date query, illegal nesting 3" -test_subtest_known_broken notmuch search --query=sexp '(date (to))' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query @@ -811,7 +808,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "date query, illegal nesting 4" -test_subtest_known_broken notmuch search --query=sexp '(date today (to))' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query @@ -820,7 +816,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "date query, too many arguments" -test_subtest_known_broken notmuch search --query=sexp '(date yesterday and tommorow)' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query @@ -829,7 +824,6 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "date query, bad date" -test_subtest_known_broken notmuch search --query=sexp '(date "hawaiian-pizza-day")' > OUTPUT 2>&1 cat < EXPECTED notmuch search: Syntax error in query @@ -837,6 +831,81 @@ Didn't understand date specification 'hawaiian-pizza-day' EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "lastmod query, empty" +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" +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 +notmuch search --query=sexp "(and (lastmod $revision))" | notmuch_search_sanitize > OUTPUT +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "lastmod query, two arguments" +notmuch tag +keithp from:keithp +revision2=$(notmuch count --lastmod '*' | cut -f3) +notmuch search lastmod:$revision..$revision2 | notmuch_search_sanitize > EXPECTED +notmuch search --query=sexp "(and (lastmod $revision $revision2))" | notmuch_search_sanitize > OUTPUT +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "lastmod query, illegal nesting 1" +notmuch search --query=sexp '(to (lastmod))' > OUTPUT 2>&1 +cat < EXPECTED +notmuch search: Syntax error in query +nested field: 'lastmod' inside 'to' +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "lastmod query, bad from revision" +notmuch search --query=sexp '(lastmod apples)' > OUTPUT 2>&1 +cat < EXPECTED +notmuch search: Syntax error in query +bad 'from' revision: 'apples' +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "lastmod query, bad to revision" +notmuch search --query=sexp '(lastmod 0 apples)' > OUTPUT 2>&1 +cat < EXPECTED +notmuch search: Syntax error in query +bad 'to' revision: 'apples' +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "lastmod query, illegal nesting 2" +notmuch search --query=sexp '(to (lastmod 2021-11-18))' > OUTPUT 2>&1 +cat < EXPECTED +notmuch search: Syntax error in query +nested field: 'lastmod' inside 'to' +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "lastmod query, illegal nesting 3" +notmuch search --query=sexp '(lastmod (to))' > OUTPUT 2>&1 +cat < EXPECTED +notmuch search: Syntax error in query +expected atom as first argument of 'lastmod' +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "lastmod query, illegal nesting 4" +notmuch search --query=sexp '(lastmod today (to))' > OUTPUT 2>&1 +cat < EXPECTED +notmuch search: Syntax error in query +expected atom as second argument of 'lastmod' +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "lastmod query, too many arguments" +notmuch search --query=sexp '(lastmod yesterday and tommorow)' > OUTPUT 2>&1 +cat < EXPECTED +notmuch search: Syntax error in query +'lastmod' expects maximum of two arguments +EOF +test_expect_equal_file EXPECTED OUTPUT + test_begin_subtest "user header (unknown header)" notmuch search --query=sexp '(FooBar)' >& OUTPUT cat < EXPECTED