Blame


1 af21bb7e 2023-04-12 mark #!/bin/sh
2 af21bb7e 2023-04-12 mark #
3 af21bb7e 2023-04-12 mark # Copyright (c) 2019, 2020 Stefan Sperling <stsp@openbsd.org>
4 af21bb7e 2023-04-12 mark # Copyright (c) 2023 Mark Jamsek <mark@jamsek.dev>
5 af21bb7e 2023-04-12 mark #
6 af21bb7e 2023-04-12 mark # Permission to use, copy, modify, and distribute this software for any
7 af21bb7e 2023-04-12 mark # purpose with or without fee is hereby granted, provided that the above
8 af21bb7e 2023-04-12 mark # copyright notice and this permission notice appear in all copies.
9 af21bb7e 2023-04-12 mark #
10 af21bb7e 2023-04-12 mark # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 af21bb7e 2023-04-12 mark # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 af21bb7e 2023-04-12 mark # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 af21bb7e 2023-04-12 mark # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 af21bb7e 2023-04-12 mark # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 af21bb7e 2023-04-12 mark # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 af21bb7e 2023-04-12 mark # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 af21bb7e 2023-04-12 mark
18 af21bb7e 2023-04-12 mark . ../cmdline/common.sh
19 af21bb7e 2023-04-12 mark
20 81641b41 2023-04-20 mark unset TOG_COLORS
21 81641b41 2023-04-20 mark unset TOG_DIFF_ALGORITHM
22 af21bb7e 2023-04-12 mark unset TOG_VIEW_SPLIT_MODE
23 af21bb7e 2023-04-12 mark unset LC_ALL
24 81641b41 2023-04-20 mark export TERM=vt220
25 af21bb7e 2023-04-12 mark export LC_ALL=C.UTF-8
26 af21bb7e 2023-04-12 mark export COLUMNS=80
27 af21bb7e 2023-04-12 mark export LINES=24
28 af21bb7e 2023-04-12 mark
29 af21bb7e 2023-04-12 mark widechar_filename()
30 af21bb7e 2023-04-12 mark {
31 af21bb7e 2023-04-12 mark echo "選り抜き記事"
32 af21bb7e 2023-04-12 mark }
33 af21bb7e 2023-04-12 mark
34 af21bb7e 2023-04-12 mark widechar_file_content()
35 af21bb7e 2023-04-12 mark {
36 af21bb7e 2023-04-12 mark cat <<-EOF
37 af21bb7e 2023-04-12 mark ウィリアム・ユワート・グラッドストン(英語: William Ewart Gladstone PC FRS FSS、1809年12月29日 - 1898年5月19日)は、イギリスの政治家。
38 af21bb7e 2023-04-12 mark
39 af21bb7e 2023-04-12 mark ヴィクトリア朝中期から後期にかけて、自由党を指導して、4度にわたり首相を務めた。
40 af21bb7e 2023-04-12 mark
41 af21bb7e 2023-04-12 mark 生涯を通じて敬虔なイングランド国教会の信徒であり、キリスト教の精神を政治に反映させることを目指した。多くの自由主義改革を行い、帝国主義にも批判的であった。好敵手である保守党党首ベンジャミン・ディズレーリとともにヴィクトリア朝イギリスの政党政治を代表する人物として知れる。……
42 af21bb7e 2023-04-12 mark EOF
43 af21bb7e 2023-04-12 mark }
44 af21bb7e 2023-04-12 mark
45 af21bb7e 2023-04-12 mark widechar_logmsg()
46 af21bb7e 2023-04-12 mark {
47 af21bb7e 2023-04-12 mark cat <<-EOF
48 af21bb7e 2023-04-12 mark 選り抜き記事ウィリアム・ユワート・グラッドストン(英語: William Ewart Gladstone PC FRS FSS、1809年12月29日 - 1898年5月19日)は、イギリスの政治家。
49 af21bb7e 2023-04-12 mark
50 af21bb7e 2023-04-12 mark
51 af21bb7e 2023-04-12 mark 良質な記事 おまかせ表示 つまみ読み 選考
52 af21bb7e 2023-04-12 mark EOF
53 af21bb7e 2023-04-12 mark }
54 af21bb7e 2023-04-12 mark
55 af21bb7e 2023-04-12 mark widechar_commit()
56 af21bb7e 2023-04-12 mark {
57 af21bb7e 2023-04-12 mark local repo="$1"
58 af21bb7e 2023-04-12 mark
59 af21bb7e 2023-04-12 mark echo "$(widechar_file_content)" > $repo/$(widechar_filename)
60 af21bb7e 2023-04-12 mark
61 af21bb7e 2023-04-12 mark (cd $repo && git add $(widechar_filename) > /dev/null)
62 af21bb7e 2023-04-12 mark (cd $repo && git commit -q --cleanup=verbatim -m "$(widechar_logmsg)" \
63 af21bb7e 2023-04-12 mark > /dev/null)
64 af21bb7e 2023-04-12 mark }
65 af21bb7e 2023-04-12 mark
66 af21bb7e 2023-04-12 mark set_test_env()
67 af21bb7e 2023-04-12 mark {
68 5bde4759 2023-04-15 mark export TOG_TEST_SCRIPT=$1
69 af21bb7e 2023-04-12 mark export TOG_SCR_DUMP=$2
70 af21bb7e 2023-04-12 mark
71 af21bb7e 2023-04-12 mark if [ -n "${3}" ]; then
72 af21bb7e 2023-04-12 mark export COLUMNS=${3}
73 af21bb7e 2023-04-12 mark fi
74 af21bb7e 2023-04-12 mark
75 af21bb7e 2023-04-12 mark if [ -n "${4}" ]; then
76 af21bb7e 2023-04-12 mark export LINES=${4}
77 af21bb7e 2023-04-12 mark fi
78 af21bb7e 2023-04-12 mark }
79 af21bb7e 2023-04-12 mark
80 af21bb7e 2023-04-12 mark test_init()
81 af21bb7e 2023-04-12 mark {
82 af21bb7e 2023-04-12 mark local testname="$1"
83 af21bb7e 2023-04-12 mark local columns="$2"
84 af21bb7e 2023-04-12 mark local lines="$3"
85 af21bb7e 2023-04-12 mark local no_tree="$4"
86 af21bb7e 2023-04-12 mark
87 af21bb7e 2023-04-12 mark if [ -z "$testname" ]; then
88 af21bb7e 2023-04-12 mark echo "No test name provided" >&2
89 af21bb7e 2023-04-12 mark return 1
90 af21bb7e 2023-04-12 mark fi
91 af21bb7e 2023-04-12 mark
92 ea2819be 2023-05-29 op testroot=`mktemp -d "$GOT_TEST_ROOT/tog-test-$testname-XXXXXXXXXX"`
93 af21bb7e 2023-04-12 mark
94 de7a51b7 2023-04-15 mark set_test_env $testroot/$testname $testroot/view $columns $lines
95 af21bb7e 2023-04-12 mark
96 af21bb7e 2023-04-12 mark mkdir $testroot/repo
97 af21bb7e 2023-04-12 mark git_init $testroot/repo
98 af21bb7e 2023-04-12 mark
99 af21bb7e 2023-04-12 mark if [ -z "$no_tree" ]; then
100 af21bb7e 2023-04-12 mark make_test_tree $testroot/repo
101 af21bb7e 2023-04-12 mark cd $testroot/repo && git add .
102 af21bb7e 2023-04-12 mark git_commit $testroot/repo -m "adding the test tree"
103 af21bb7e 2023-04-12 mark fi
104 af21bb7e 2023-04-12 mark }
105 af21bb7e 2023-04-12 mark
106 af21bb7e 2023-04-12 mark run_test()
107 af21bb7e 2023-04-12 mark {
108 af21bb7e 2023-04-12 mark testfunc="$1"
109 af21bb7e 2023-04-12 mark
110 af21bb7e 2023-04-12 mark if [ -n "$regress_run_only" ]; then
111 af21bb7e 2023-04-12 mark case "$regress_run_only" in
112 af21bb7e 2023-04-12 mark *$testfunc*) ;;
113 af21bb7e 2023-04-12 mark *) return ;;
114 af21bb7e 2023-04-12 mark esac
115 af21bb7e 2023-04-12 mark fi
116 af21bb7e 2023-04-12 mark
117 af21bb7e 2023-04-12 mark if [ -z "$GOT_TEST_QUIET" ]; then
118 af21bb7e 2023-04-12 mark echo -n "$testfunc "
119 af21bb7e 2023-04-12 mark fi
120 af21bb7e 2023-04-12 mark
121 af21bb7e 2023-04-12 mark # run test in subshell to keep defaults unchanged
122 af21bb7e 2023-04-12 mark ($testfunc)
123 af21bb7e 2023-04-12 mark }