This should allow for refactors with more confidence as we can make sure
base functionality stays the same. It is important to test image
extraction, so unfortunately we need to check in a base64 rendering of
an image file. I've used //users/tvlbot.jpg, so git should at least be
able to deduplicate the extracted content. Note that this was achieved
by altering the note message since I wasn't able to add the picture in
the iOS Notes.app without the image being recompressed.
To get extra benefit, we also add the test note to the mime4cl test suite.
The expected output can be updated with
mblog $(mg build :maildir) expected
Change-Id: I0aa493b206439018ad89745bacbd47af78bd1396
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12911
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
41 lines
1.1 KiB
Nix
41 lines
1.1 KiB
Nix
# SPDX-License-Identifier: GPL-3.0-only
|
|
# SPDX-FileCopyrightText: Copyright (C) 2024 by sterni
|
|
{ depot, pkgs, lib, ... }:
|
|
|
|
let
|
|
maildir = pkgs.runCommandNoCC "mblog-golden-example-maildir" { } ''
|
|
mkdir -p "$out/cur"
|
|
cp --reflink=auto \
|
|
"${depot.path.origSrc + "/third_party/lisp/mime4cl/test/samples/mail-note.msg"}" \
|
|
"$out/cur/1732277542.274467_1.wolfgang,U=1:2,S"
|
|
'';
|
|
|
|
# Make golden test based on the given mblog derivation and add subtarget
|
|
# golden tests for all meta.ci.targets.
|
|
makeGoldenTest = mblog:
|
|
pkgs.runCommand "mblog-golden-tests"
|
|
{
|
|
passthru = {
|
|
inherit maildir;
|
|
} // lib.mapAttrs (_: makeGoldenTest) (
|
|
lib.attrsets.getAttrs mblog.meta.ci.targets mblog
|
|
);
|
|
|
|
nativeBuildInputs = [
|
|
mblog
|
|
];
|
|
|
|
meta.ci = {
|
|
inherit (mblog.meta.ci) targets;
|
|
};
|
|
}
|
|
''
|
|
mkdir -p actual
|
|
mblog ${maildir} actual
|
|
|
|
diff --color=always -ru ${./expected} actual
|
|
touch "$out"
|
|
'';
|
|
in
|
|
|
|
makeGoldenTest depot.users.sterni.mblog
|