Merge "libutil: handle json builder log messages with unexpected format" into main

This commit is contained in:
Linus Heckemann 2024-10-27 22:54:11 +00:00 committed by Gerrit Code Review
commit f55ed83991
2 changed files with 50 additions and 29 deletions

View file

@ -305,6 +305,7 @@ bool handleJSONLogMessage(nlohmann::json & json,
const Activity & act, std::map<ActivityId, Activity> & activities,
bool trusted)
{
try {
std::string action = json["action"];
if (action == "start") {
@ -336,6 +337,13 @@ bool handleJSONLogMessage(nlohmann::json & json,
}
return true;
} catch (nlohmann::json::exception &e) {
warn(
"warning: Unable to handle a JSON message from the builder: %s",
e.what()
);
return false;
}
}
bool handleJSONLogMessage(const std::string & msg,

View file

@ -31,6 +31,18 @@ let
outputHashAlgo = "sha256";
outputHash = "1dq9p0hnm1y75q2x40fws5887bq1r840hzdxak0a9djbwvx0b16d";
};
unusual-logging = mkDerivation {
name = "unusual-logging";
buildCommand = ''
{
echo "@nix 1"
echo "@nix {}"
echo '@nix {"action": null}'
} >&$NIX_LOG_FD
touch $out
'';
};
in
mkDerivation {
name = "dependencies-top";
@ -40,6 +52,7 @@ mkDerivation {
input1_drv = input1;
input2_drv = input2;
input0_drv = input0;
unusual_logging_drv = unusual-logging;
fod_input_drv = fod_input;
meta.description = "Random test package";
}