about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-05-04 05:24:24 +0000
committerEric Wong <e@80x24.org>2021-05-04 23:07:55 +0000
commit4481b372ba150c669b2fefe2d6ec5dccb5da1d40 (patch)
treefa008a7df9e3471b3c33a0aa4f289d254be44c96
parent5822bd37808c1ac21863d37161b19f1021657a58 (diff)
downloadpublic-inbox-4481b372ba150c669b2fefe2d6ec5dccb5da1d40.tar.gz
We should not have "SCALAR(XXXXXXX)" showing up in SQLite DBs
because we passed a SCALAR ref instead of a non-ref SCALAR.
-rw-r--r--lib/PublicInbox/NetReader.pm3
-rw-r--r--t/lei-import-nntp.t7
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/PublicInbox/NetReader.pm b/lib/PublicInbox/NetReader.pm
index 64910fe1..fd0d1682 100644
--- a/lib/PublicInbox/NetReader.pm
+++ b/lib/PublicInbox/NetReader.pm
@@ -628,6 +628,7 @@ sub _nntp_fetch_all ($$$) {
                 warn "# $uri fetching ARTICLE $beg..$end\n";
         }
         my $n = $self->{max_batch};
+        my $url = $$uri;
         for ($beg..$end) {
                 last if $self->{quit};
                 $art = $_;
@@ -650,7 +651,7 @@ sub _nntp_fetch_all ($$$) {
                 $raw = join('', @$raw);
                 $raw =~ s/\r\n/\n/sg;
                 my ($eml_cb, @args) = @{$self->{eml_each}};
-                $eml_cb->($uri, $art, $kw, PublicInbox::Eml->new(\$raw), @args);
+                $eml_cb->($url, $art, $kw, PublicInbox::Eml->new(\$raw), @args);
                 $last_art = $art;
         }
         run_commit_cb($self);
diff --git a/t/lei-import-nntp.t b/t/lei-import-nntp.t
index 12bb002a..662da309 100644
--- a/t/lei-import-nntp.t
+++ b/t/lei-import-nntp.t
@@ -16,10 +16,9 @@ test_lei({ tmpdir => $tmpdir }, sub {
         lei_ok(qw(q z:1..));
         my $out = json_utf8->decode($lei_out);
         is_deeply($out, [ undef ], 'nothing imported, yet');
-        lei_ok('import', "nntp://$host_port/t.v2");
-        diag $lei_err;
+        my $url = "nntp://$host_port/t.v2";
+        lei_ok('import', $url);
         lei_ok(qw(q z:1..));
-        diag $lei_err;
         $out = json_utf8->decode($lei_out);
         ok(scalar(@$out) > 1, 'got imported messages');
         is(pop @$out, undef, 'trailing JSON null element was null');
@@ -29,5 +28,7 @@ test_lei({ tmpdir => $tmpdir }, sub {
 
         my $f = "$ENV{HOME}/.local/share/lei/store/mail_sync.sqlite3";
         ok(-s $f, 'mail_sync exists tracked for redundant imports');
+        lei_ok 'ls-mail-sync';
+        like($lei_out, qr!\A\Q$url\E\n\z!, 'ls-mail-sync output as-expected');
 });
 done_testing;