archivos_entrada = BLOBCol(default=None) # ZIP con archivos de entrada
# __stdin__ es caso especial
# Si un caso de prueba tiene
- # comandos con stdin y el caso
- # de prueba también tiene stdin
- # se usa el stdin del comando.
+ # comandos que tiene algún
+ # archivo de entrada (incluyendo
+ # stdin) con los propios, se usa
+ # el archivo del caso de prueba,
+ # no del comando.
archivos_a_comparar = BLOBCol(default=None) # ZIP con archivos de salida
# __stdout__, __stderr__ y
# __stdouterr__ (ambos juntos)
# son casos especiales
- archivos_a_guardar = TupleCol(notNone=True, default=()) # TODO SetCol
+ # Si un caso de prueba tiene
+ # comandos que tiene algún
+ # archivo a comparar (incluyendo
+ # stdout/err) con los propios,
+ # se compara contra el archivo
+ # del caso de prueba, no del
+ # comando.
+ archivos_a_guardar = TupleCol(notNone=True, default=()) # TODO FrozenSetCol
# __stdout__, __stderr__ y
# __stdouterr__ (ambos juntos)
# son casos especiales
os.seteuid(user_info.uid)
log.debug(_(u'Usuario y grupo efectivos cambiados a %s:%s (%s:%s)'),
user_info.user, user_info.group, user_info.uid, user_info.gid)
- unzip(caso_de_prueba.archivos_entrada, path, # TODO try/except
- {self.STDIN: '%s.%s.stdin' % (basetmp, comando_ejecutado.id)})
#}}}
unzip(self.archivos_entrada, path, # TODO try/except
{self.STDIN: '%s.%s.stdin' % (basetmp, comando_ejecutado.id)})
+ unzip(caso_de_prueba.archivos_entrada, path, # TODO try/except # FIXME Esto es propio de ComandoPrueba
+ {self.STDIN: '%s.%s.stdin' % (basetmp, comando_ejecutado.id)}) # FIXME Esto es propio de ComandoPrueba
options = dict(
close_fds=True,
shell=True,
else:
options['preexec_fn'].close_stdin = True
a_guardar = set(self.archivos_a_guardar)
- a_guardar |= set(caso_de_prueba.archivos_a_guardar) # FIXME Esto es propio de ComandoPrueba
- zip_a_comparar = Multizip(self.archivos_a_comparar,
- caso_de_prueba.archivos_a_comparar) # FIXME Esto es propio de ComandoPrueba
+ a_guardar |= set(caso_de_prueba.archivos_a_guardar) # FIXME Esto es propio de ComandoPrueba
+ zip_a_comparar = Multizip(caso_de_prueba.archivos_a_comparar, # FIXME Esto es propio de ComandoPrueba
+ self.archivos_a_comparar) # FIXME Esto es propio de ComandoPrueba
a_comparar = set(zip_a_comparar.namelist())
a_usar = frozenset(a_guardar | a_comparar)
if self.STDOUTERR in a_usar: