def set_result(self, values, visible_columns={}):
        exitcode = values.pop('exitcode', None)
        if exitcode is not None:
            self.values['@exitcode'] = exitcode
            exitcode = util.ProcessExitCode.from_raw(exitcode)
            if exitcode.signal:
                self.values['@exitsignal'] = exitcode.signal
            else:
                self.values['@returnvalue'] = exitcode.value

        for key, value in values.items():
            if key == 'walltime':
                self.walltime = value
            elif key == 'cputime':
                self.cputime = value
            elif key == 'memory':
                self.values['memUsage'] = value
            elif key == 'energy':
                for ekey, evalue in value.items():
                    self.values['energy-'+ekey] = evalue
            elif key in visible_columns:
                self.values[key] = value
            else:
                self.values['@' + key] = value

        self.after_execution(exitcode, termination_reason=values.get('terminationreason'))
Get a list of strings representing the user's permissions for this object
dataset/ETHPy150Open sosy-lab/benchexec/benchexec/model.py/Run.set_result--crossover with--dataset/ETHPy150Open callowayproject/django-objectpermissions/objectpermissions/registration.py/group_get_object_permissions_as_int_list