public-inbox.git  about / heads / tags
an "archives first" approach to mailing lists
blob 44f37d1951734df49ca5e17a451febc6e4f3e8bc 1564 bytes (raw)
$ git show HEAD:t/lei-p2q.t	# shows this blob on the CLI

 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
 
#!perl -w
# Copyright (C) 2021 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict; use v5.10.1; use PublicInbox::TestCommon;
require_git 2.6;
require_mods(qw(json DBD::SQLite Xapian));

test_lei(sub {
	ok(!lei(qw(p2q this-better-cause-format-patch-to-fail)),
		'p2q fails on bogus arg') or diag $lei_err;
	like($lei_err, qr/format-patch.*failed/, 'notes format-patch failure');
	lei_ok(qw(p2q -w dfpost t/data/0001.patch));
	is($lei_out, "dfpost:6e006fd73b1d\n", 'pathname') or diag $lei_err;
	open my $fh, '+<', 't/data/0001.patch' or xbail "open: $!";
	lei_ok([qw(p2q -w dfpost -)], undef, { %$lei_opt, 0 => $fh });
	is($lei_out, "dfpost:6e006fd73b1d\n", '--stdin') or diag $lei_err;

	sysseek($fh, 0, 0) or xbail "lseek: $!";
	lei_ok([qw(p2q -w dfpost)], undef, { %$lei_opt, 0 => $fh });
	is($lei_out, "dfpost:6e006fd73b1d\n", 'implicit --stdin');

	lei_ok(qw(p2q --uri t/data/0001.patch -w), 'dfpost,dfn');
	is($lei_out, "dfpost%3A6e006fd73b1d+".
		"dfn%3Alib%2FPublicInbox%2FSearch.pm\n",
		'--uri -w dfpost,dfn');
	lei_ok(qw(p2q t/data/0001.patch), '--want=dfpost,OR,dfn');
	is($lei_out, "dfpost:6e006fd73b1d OR dfn:lib/PublicInbox/Search.pm\n",
		'--want=OR');
	lei_ok(qw(p2q t/data/0001.patch --want=dfpost9));
	is($lei_out, "dfpost:6e006fd73b1d OR " .
			"dfpost:6e006fd73b1 OR " .
			"dfpost:6e006fd73b OR " .
			"dfpost:6e006fd73\n",
		'3-byte chop');

	lei_ok(qw(p2q t/data/message_embed.eml --want=dfb));
	like($lei_out, qr/\bdfb:\S+/, 'got dfb off /dev/null file');
});
done_testing;

git clone https://public-inbox.org/public-inbox.git
git clone http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/public-inbox.git