X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fadmin.t;h=c25667b21786a148062554b994f10c153d3460f4;hb=29c5f2a6fc3b86306a5dbeadfae061d06f2bc6dd;hp=3790c9e2e20a2248e22c259e63b027bc346244e6;hpb=e220b8b2ee5cfd458167dc2c6c92726352c4c80e;p=public-inbox.git diff --git a/t/admin.t b/t/admin.t index 3790c9e2..c25667b2 100644 --- a/t/admin.t +++ b/t/admin.t @@ -1,16 +1,17 @@ -# Copyright (C) 2019 all contributors +# Copyright (C) 2019-2020 all contributors # License: AGPL-3.0+ use strict; use warnings; use Test::More; -use File::Temp qw(tempdir); +use PublicInbox::TestCommon; +use PublicInbox::Import; use_ok 'PublicInbox::Admin', qw(resolve_repo_dir); -my $tmpdir = tempdir('pi-admin.XXXXXX', TMPDIR => 1, CLEANUP => 1); +my ($tmpdir, $for_destroy) = tmpdir(); my $git_dir = "$tmpdir/v1"; my $v2_dir = "$tmpdir/v2"; my ($res, $err, $v); -is(0, system(qw(git init -q --bare), $git_dir), 'git init v1'); +PublicInbox::Import::init_bare($git_dir); # v1 is(resolve_repo_dir($git_dir), $git_dir, 'top-level GIT_DIR resolved'); @@ -56,7 +57,7 @@ SKIP: { use_ok 'PublicInbox::V2Writable'; use_ok 'PublicInbox::Inbox'; my $ibx = PublicInbox::Inbox->new({ - mainrepo => $v2_dir, + inboxdir => $v2_dir, name => 'test-v2writable', version => 2, -primary_address => 'test@example.com', @@ -77,4 +78,24 @@ SKIP: { } chdir '/'; + +my @pairs = ( + '1g' => 1024 ** 3, + 666 => 666, + '1500K' => 1500 * 1024, + '15m' => 15 * (1024 ** 2), +); + +while (@pairs) { + my ($in, $out) = splice(@pairs, 0, 2); + my $orig = $in; + ok(PublicInbox::Admin::parse_unsigned(\$in), "parse_unsigned $orig"); + is($in, $out, "got $orig => ($in == $out)"); +} + +for my $v ('', 'bogus', '1p', '1gig') { + ok(!PublicInbox::Admin::parse_unsigned(\$v), + "parse_unsigned rejects $v"); +} + done_testing();