Skip to content

YML: program.build-instructions.time_limit is effectively ignored during builds #293

@pdreiter

Description

@pdreiter

Darjeeling generated a patch that did not complete the respective build, hanging the darjeeling tool during candidate patch evaluations.
You can easily duplicate this by adding an additional build command into the YML's program.build-instructions.steps like sleep X, where X>>program.build-instructions.time-limit.

During debug, I found two issues related to this:

  1. in BuildInstructions.execute
    time_left = int(max(0, time.duration - self.time_limit))
    which should be:
    time_left = int(max(0, self.time_limit - time.duration ))
    since the StopWatch/timer initial value seems to be 0.0
  2. The included DockerBlade module's shell package method check_output (dockerblade/shell.py:242) does not pass time_limit or kill_after values to the called function self.run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions