unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob c82b6a14142122ea873c234e4d61e08da1e47310 2233 bytes (raw)
name: test/T055-path-config.sh 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 
#!/usr/bin/env bash
test_description='Configuration of mail-root and database path'
. $(dirname "$0")/test-lib.sh || exit 1

backup_config () {
    local test_name=$(basename $0 .sh)
    cp ${NOTMUCH_CONFIG} notmuch-config-backup.${test_name}
}

restore_config () {
    local test_name=$(basename $0 .sh)
    export NOTMUCH_CONFIG="${TMP_DIRECTORY}/notmuch-config"
    unset CONFIG_PATH
    unset DATABASE_PATH
    unset NOTMUCH_PROFILE
    cp notmuch-config-backup.${test_name} ${NOTMUCH_CONFIG}
}

split_config () {
    local dir
    backup_config
    dir="$TMP_DIRECTORY/database.$test_count"
    rm -rf $dir
    mkdir $dir
    notmuch config set database.path $dir
    notmuch config set database.mail_root $MAIL_DIR
    DATABASE_PATH=$dir
}

xdg_config () {
    local dir
    local profile=${1:-default}

    if [[ $profile != default ]]; then
	export NOTMUCH_PROFILE=$profile
    fi

    backup_config
    DATABASE_PATH="${HOME}/.local/share/notmuch/${profile}"
    rm -rf $DATABASE_PATH
    mkdir -p $DATABASE_PATH

    config_dir="${HOME}/.config/notmuch/${profile}"
    mkdir -p ${config_dir}
    CONFIG_PATH=$config_dir/config
    mv ${NOTMUCH_CONFIG} $CONFIG_PATH
    unset NOTMUCH_CONFIG

    notmuch --config=${CONFIG_PATH} config set database.mail_root ${TMP_DIRECTORY}/mail
    notmuch --config=${CONFIG_PATH} config set database.path
}

for config in traditional split+prefix split XDG XDG+profile; do
    #start each set of tests with an known set of messages
    add_email_corpus

    case $config in
	traditional)
	    backup_config
	    ;;
	split+prefix)
	    split_config
	    mv mail/.notmuch $DATABASE_PATH
	    ;;
	split)
	    split_config
	    mv mail/.notmuch/xapian $DATABASE_PATH
	    ;;
	XDG)
	    xdg_config
	    mv mail/.notmuch/xapian $DATABASE_PATH
	    ;;
	XDG+profile)
	    xdg_config ${RANDOM}
	    mv mail/.notmuch/xapian $DATABASE_PATH
	    ;;
    esac

    test_begin_subtest "count ($config)"
    output=$(notmuch count '*')
    test_expect_equal "$output" '52'

    test_begin_subtest "count+tag ($config)"
    tag="tag${RANDOM}"
    notmuch tag +$tag '*'
    output=$(notmuch count tag:$tag)
    notmuch tag -$tag '*'
    test_expect_equal "$output" '52'

    restore_config
done

test_done

debug log:

solving c82b6a14 ...
found c82b6a14 in https://yhetil.org/notmuch/20210208004109.1192719-15-david@tethera.net/
found 59b12337 in https://yhetil.org/notmuch/20210208004109.1192719-14-david@tethera.net/
found 1da0e9fe in https://yhetil.org/notmuch/20210208004109.1192719-9-david@tethera.net/
found 54c337ef in https://yhetil.org/notmuch/20210208004109.1192719-8-david@tethera.net/

applying [1/4] https://yhetil.org/notmuch/20210208004109.1192719-8-david@tethera.net/
diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh
new file mode 100755
index 00000000..54c337ef


applying [2/4] https://yhetil.org/notmuch/20210208004109.1192719-9-david@tethera.net/
diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh
index 54c337ef..1da0e9fe 100755


applying [3/4] https://yhetil.org/notmuch/20210208004109.1192719-14-david@tethera.net/
diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh
index 1da0e9fe..59b12337 100755


applying [4/4] https://yhetil.org/notmuch/20210208004109.1192719-15-david@tethera.net/
diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh
index 59b12337..c82b6a14 100755

Checking patch test/T055-path-config.sh...
Applied patch test/T055-path-config.sh cleanly.
Checking patch test/T055-path-config.sh...
Applied patch test/T055-path-config.sh cleanly.
Checking patch test/T055-path-config.sh...
Applied patch test/T055-path-config.sh cleanly.
Checking patch test/T055-path-config.sh...
Applied patch test/T055-path-config.sh cleanly.

index at:
100755 c82b6a14142122ea873c234e4d61e08da1e47310	test/T055-path-config.sh

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).