MCPcopy Create free account
hub / github.com/LanceLRQ/deer-executor / readAndWriteToTempFile

Function readAndWriteToTempFile

common/persistence/result/pack.go:19–41  ·  view source on GitHub ↗
(writer io.Writer, fileName string, workDir string)

Source from the content-addressed store, hash-verified

17)
18
19func readAndWriteToTempFile(writer io.Writer, fileName string, workDir string) error {
20 buf16 := make([]byte, 16)
21 buf32 := make([]byte, 4)
22 body, err := ioutil.ReadFile(path.Join(workDir, fileName))
23 if err != nil {
24 return err
25 }
26 binary.BigEndian.PutUint16(buf16, constants.JudgeBodyPackageMagicCode)
27 binary.BigEndian.PutUint32(buf32, uint32(len(body)))
28 if _, err := writer.Write(buf16); err != nil {
29 return errors.Errorf("write temp file error: %s", err.Error())
30 }
31 if _, err := writer.Write(buf32); err != nil {
32 return errors.Errorf("write temp file error: %s", err.Error())
33 }
34 if _, err := writer.Write([]byte(fileName + "\n")); err != nil {
35 return errors.Errorf("write temp file error: %s", err.Error())
36 }
37 if _, err := writer.Write(body); err != nil {
38 return errors.Errorf("write temp file error: %s", err.Error())
39 }
40 return nil
41}
42
43func mergeResultBinary(
44 options *persistence.JudgeResultPersisOptions,

Callers 1

mergeResultBinaryFunction · 0.85

Calls 2

ErrorfMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected