Exemplo n.º 1
0
func (z *ZJGSUJudger) Submit(user vjudger.UserInterface) error {
	z.compile(user)

	if user.GetResult() != config.JudgeCE {
		user.SetResult(config.JudgeRJ)
		logger.Println("compile success")
		user.UpdateSolution()

		cmd := exec.Command("cp", "-r", dataPath+"/"+strconv.Itoa(user.GetVid()), runPath+"/"+strconv.Itoa(user.GetSid()))
		err := cmd.Run()
		if err != nil {
			log.Println(err)
		}
	} else {
		b, err := ioutil.ReadFile(z.workdir + "/ce.txt")
		if err != nil {
			log.Println(err)
		}

		log.Println(string(b))
		user.SetErrorInfo(string(b))
		logger.Println("compiler error")
		log.Println("compiler error")

		return ErrCompile
	}
	return nil
}