Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autograding. Error message: 795: unexpected token at '---' #153

Closed
ronzalo opened this issue Jul 13, 2018 · 3 comments · Fixed by #160
Closed

Autograding. Error message: 795: unexpected token at '---' #153

ronzalo opened this issue Jul 13, 2018 · 3 comments · Fixed by #160
Assignees

Comments

@ronzalo
Copy link

ronzalo commented Jul 13, 2018

Context

AutoGrading a quiz with a ruby script and localDocker

Expected Behavior

Autodriver ouput writed correctly

Actual Behavior

Ruby puts output isn' writted

Possible solution

In https://github.com/autolab/Tango/blob/master/vmms/localDocker.py#L141, use autolab > output/feedback 2>&1 instead autolab &> output/feedback

@s-wallace
Copy link

I can reproduce this problem as well; the localDocker call seems to work fine with an autograding image built on ubuntu 14.04, but not on 18.04 here are a few more details:

  • sh is invoked by localDocker which is dash 0.5.7 on ubuntu 14.04 and dash 0.5.8 on ubuntu 18.04
  • autolab &> output/feedback isn't strictly supported in dash (see https://wiki.ubuntu.com/DashAsBinSh)

to reproduce:

  1. build a docker autograding image based on ubuntu 14.04 (the current Dockerfile in Tango/vmms will work)
  2. build a second based on unbuntu 18.04
  3. run the command issued by localDocker, mine looks like:
docker run --rm --name grader -v <pathwithsubmission>:/home/mount autograding_image sh -c \
'cp -r mount/* autolab/; su autolab -c "autodriver -u 100 -f 1048576 -t 10 -o 524288 \
autolab &> output/feedback"; cp output/feedback mount/feedback'

This command works fine for me on a 14.04 image, and produces no output on a 18.04 image

  1. run the proposed command:
docker run --rm --name grader -v <pathwithsubmission>:/home/mount autograding_image sh -c \
'cp -r mount/* autolab/; su autolab -c "autodriver -u 100 -f 1048576 -t 10 -o 524288 \
autolab > output/feedback 2>&1"; cp output/feedback mount/feedback'

This produces correct output for both images.

@fanpu
Copy link
Contributor

fanpu commented Aug 14, 2020

Confirming that this works

@fanpu
Copy link
Contributor

fanpu commented Aug 19, 2020

Fix now in master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants