b8e4da856f
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
|