quickfeed
quickfeed copied to clipboard
Separate score output from the test log output (was: Implement gRPC-based score service)
The current approach of emitting JSON score objects in the stdout stream is fragile and keeps breaking. Below we specify an alternative design where score objects are sent over gRPC from the docker container running student tests to a score service running inside the QuickFeed server.
The idea is that an initial set of tests are recorded before starting the actual tests. This will be followed by executing the collection of individual tests and streaming the score objects to the score service.
Draft PR #384 has been created to work out the design.
Here is a new idea: instead of building a separate gRPC service for this, which may require other courses to implement a gRPC client in their score library... The idea is to separate the score output from the test's log output using separate output streams. The score output goes to one stream/pipe, and the test log output goes to stdout.