use Fcntl qw(FD_CLOEXEC F_SETFD F_GETFD :seek);
use POSIX qw(dup2);
use IO::Socket::INET;
+use PublicInbox::MIME; # temporary
our @EXPORT = qw(tmpdir tcp_server tcp_connect require_git require_mods
- run_script start_script key2sub xsys xqx);
+ run_script start_script key2sub xsys xqx mime_load eml_load);
+
+sub mime_load ($) {
+ my ($path) = @_;
+ open(my $fh, '<', $path) or die "open $path: $!";
+ # test should've called: require_mods('Email::MIME')
+ require PublicInbox::MIME;
+ PublicInbox::MIME->new(\(do { local $/; <$fh> }));
+}
+
+sub eml_load ($) {
+ my ($path, $cb) = @_;
+ open(my $fh, '<', $path) or die "open $path: $!";
+ binmode $fh;
+ PublicInbox::Eml->new(\(do { local $/; <$fh> }));
+}
sub tmpdir (;$) {
my ($base) = @_;