Commit Graph

115 Commits

Author SHA1 Message Date
carl bystrom
b58b0b9311 Horde: Add fake HordeRpcServer for testing
- The FakeHordeRpcServer will mock a HordeRpcClient that can be used by WorkerService during tests whenever it needs to interact with the server.
- A basic integration test testing shutdown of WorkerService was added as a start.
- Adding more meaningful tests likely require some refactoring of WorkerService since it's quite opaque from testing point of view.
- To make HordeRpcClient usable by Moq, the gRPC/protobuf generated files had to be set to "public" rather than "internal"
- Since we generate Protobuf files in both Horde.Agent and Horde.Server this caused a name resolution clash, so an import alias was added in Horde.Build.Tests when importing Horde.Agent.
#preflight 62a0c939521254896fc1334a

[CL 20558077 by carl bystrom in ue5-main branch]
2022-06-08 12:15:06 -04:00
Ben Marsh
2004935770 Horde: Fix some lines in logs being blanked out.
JSON logger was matching lines containing a "\\n" sequence and trigger the multi-line handling path, which assumed a format string was present. This defaulted it to an empty string if not, rather than the "message" element.

#preflight none

[CL 20485078 by Ben Marsh in ue5-main branch]
2022-06-03 08:40:25 -04:00
Ben Marsh
a3d511b5ac Horde: Fix disparity between written line count and pre-rendered line count in logs.
#preflight none

[CL 20453094 by Ben Marsh in ue5-main branch]
2022-06-01 11:24:42 -04:00
Ben Marsh
c96058c109 Horde: Fix multi-line parsing test.
#preflight none

[CL 20451718 by Ben Marsh in ue5-main branch]
2022-06-01 09:34:08 -04:00
Ben Marsh
7fb93113e3 Horde: Treat pre-formatted multi-line errors as a single issue, rather than parsing into multiple issues.
#preflight none

[CL 20445436 by Ben Marsh in ue5-main branch]
2022-05-31 21:36:25 -04:00
Ben Marsh
a7d8c7d6f4 Horde: Fix line count for multi-line log events.
#preflight none

[CL 20403024 by Ben Marsh in ue5-main branch]
2022-05-27 23:14:46 -04:00
Ben Marsh
55017a453d Horde: Support for splitting log events with format strings and values that span multiple lines.
#preflight none

[CL 20400470 by Ben Marsh in ue5-main branch]
2022-05-27 18:23:19 -04:00
Ben Marsh
16c6713c56 Horde: Annotate multi-line messages correctly.
#preflight none

[CL 20379410 by Ben Marsh in ue5-main branch]
2022-05-26 10:54:37 -04:00
carl bystrom
95e82bf3cc Horde: Add support for compressed blob uploading in remote exec test client
#preflight 628e1030841e8395c64fcb7c

[CL 20362422 by carl bystrom in ue5-main branch]
2022-05-25 07:21:20 -04:00
Ben Marsh
c9360974eb Horde: Rename environment variable to enable structured logging to UE_LOG_JSON_TO_STDOUT.
#preflight none

[CL 20353436 by Ben Marsh in ue5-main branch]
2022-05-24 15:12:47 -04:00
Ben Marsh
a72d4001a3 Horde: Fix tests.
#preflight none

[CL 20330861 by Ben Marsh in ue5-main branch]
2022-05-23 12:44:06 -04:00
Ben Marsh
b2ae6bd13c Horde: Enable P4 annotations on source file properties.
#preflight none

[CL 20330181 by Ben Marsh in ue5-main branch]
2022-05-23 12:17:02 -04:00
Ben Marsh
481161aba2 Horde: Guard against GetAgentCapabilities() failing and causing the current session to terminate.
#preflight none

[CL 20301730 by Ben Marsh in ue5-main branch]
2022-05-20 15:45:29 -04:00
carl bystrom
e717f21af5 Horde: Add support for compressed files in compute tasks
When FileNode is marked as compressed, the appropriate method for download is used as compressed blobs are references by their uncompressed hash.
Files are still downloaded as-is and are not decompressed by the agent executor.

Flagging compression for files during upload is still left to be implemented.
#preflight 6287b26d5b568e5761f9a1a1

[CL 20295190 by carl bystrom in ue5-main branch]
2022-05-20 11:28:28 -04:00
Ben Marsh
7514d30d9b Move the remaining log matchers into AutomationUtils.
#preflight 6286a7049016c6dd899f2fb8

[CL 20286961 by Ben Marsh in ue5-main branch]
2022-05-19 16:29:37 -04:00
Ben Marsh
35ae8aa6ec Horde: Missing file.
#preflight none

[CL 20278669 by Ben Marsh in ue5-main branch]
2022-05-19 08:31:26 -04:00
Ben Marsh
6f0dd55f41 Horde: Run event matchers inside UAT and UBT, rather than relying on Horde to do so. This is a step towards having having structured log events emitted at source, where we can make smarter decisions as to the meaning of tool output, and add additional context when parsing it.
#preflight 628550d8660b4a15be5a9859

[CL 20278597 by Ben Marsh in ue5-main branch]
2022-05-19 08:16:07 -04:00
Ben Marsh
4f704ee134 Horde: Fix agent test failures due to uninitialized variable.
#preflight none

[CL 20264542 by Ben Marsh in ue5-main branch]
2022-05-18 13:49:53 -04:00
Ben Marsh
21d420c5ad Horde: Add an agent command which builds UAT runs a BuildGraph script, parsing all the log output through the regular agent path.
#preflight none

[CL 20264248 by Ben Marsh in ue5-main branch]
2022-05-18 13:35:33 -04:00
Ben Marsh
ecf790cf4b Horde: Fix parsing of multi-line log messages.
#preflight none

[CL 20260193 by Ben Marsh in ue5-main branch]
2022-05-18 09:40:00 -04:00
Ben Marsh
d3dd89e285 Horde: Set an environment variable to enable JSON logging to stdout.
#preflight none

[CL 20253863 by Ben Marsh in ue5-main branch]
2022-05-17 19:53:56 -04:00
Ben Marsh
a36c6344d2 Horde: Fix exception parsing line count from formatted JSON lines.
#preflight none

[CL 20253787 by Ben Marsh in ue5-main branch]
2022-05-17 19:48:27 -04:00
Ben Marsh
e54ac34152 Upgrade EpicGames.Horde to NET 6.
#preflight 62842632ac1a933d4784bccc

[CL 20253385 by Ben Marsh in ue5-main branch]
2022-05-17 19:12:52 -04:00
Ben Marsh
b558b5f0f2 Horde: Upgrade Horde.Agent to NET 6.0.
#fyi Joe.Kirchoff, Carl.Bystrom, Josh.Engebretson
#preflight none

[CL 20249667 by Ben Marsh in ue5-main branch]
2022-05-17 15:43:35 -04:00
Ben Marsh
6b2db33d72 Horde: Add a log event parser into the standard EpicGames.Core.Log class.
#preflight 6283d02d114e08fa2f236b36

[CL 20245803 by Ben Marsh in ue5-main branch]
2022-05-17 12:57:51 -04:00