Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
projet
VPLPP
Commits
932ef8e4
Commit
932ef8e4
authored
May 04, 2020
by
Guillaume Huard
Browse files
MAJ en cours
parent
e204f0a0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Basic_System.org
View file @
932ef8e4
...
...
@@ -178,6 +178,25 @@ notre programme
}
}
#+END_SRC
En outre, l'exécution elle même est controllée par deux réglages évitant une trop grande utilisation des
ressources disponibles :
- =timeout= : valeur en secondes déterminant le temps alloué au test pour son exécution (10 par
défaut) ;
- =IOlimit= : taille maximale en blocs d'un fichier créé par le test (10 par défaut). La taille du
bloc dépend du système mais est souvent de 512 octets.
L'exemple suivant comprend une petite série de tests qui ne passe que si le programme s'exécute dans
les limites imposées :
#+BEGIN_SRC perl :exports code
{
"limits.sh" => {
tests => {
test_1 => {}, # limites par défaut
test_2 => { timeout => 2, IOlimit => 100 },
test_3 => { timeout => 30, IOlimit => 1 }
}
}
}
#+END_SRC
** Valeurs attendues
...
...
@@ -311,6 +330,15 @@ cut -d' ' -s -f$1-$2
}
};
$cases->{"limits.sh"} = {
show => 1,
tests => {
test_1 => {}, # limites par défaut
test_2 => { timeout => 2, IOlimit => 100 },
test_3 => { timeout => 30, IOlimit => 1 }
}
};
my $validator = q{#!/bin/bash
[ -f $1 -a -x $1 ]
};
...
...
@@ -361,11 +389,15 @@ l'activité et sont gérés par les réglages suivants :
L'exécution et la compilation sont assurés par des programmes qui disposent de deux variables
d'environnement :
- =NAME= : le nom du programme exécutable (à produire ou à exécuter) ;
- =NAME= : le nom du programme exécutable (à produire ou à exécuter)
, déterminé selon le contexte
;
- =FILES= : l'ensemble des fichiers impliqués (donné par le réglage =files=).
et sont donnés par les réglages suivants, qui sont des programmes permettant :
- =compile= : de produire le programme de nom =NAME=
- =execute= : d'exécuter le programme de nom =NAME=
- =compile= : de produire le programme de nom =$NAME=, en l'absence de ce réglage, le programme n'est
pas compilé (programme écrit dans un langage interprété, par exemple) ;
- =execute= : d'exécuter le programme de nom =$NAME=, en l'absence de ce réglage, le programme
=$NAME= est exécuté directement. Si ce réglage a une valeur fausse (0 ou =undef=), le programme
n'est pas exécuté (utile lorsque nous souhaitons juste compiler l'exécutable et laisser un
validateur lancer les exécutions, par exemple).
Bien entendu, même si un contenu scalaire vient plutôt à l'idée pour ces programmes, typiquement
quelques lignes de shell, il peuvent néanmoins être spécifiés plus en détails et être eux même
compilés ou exécutés de manière particulière. Cela peut continuer ainsi sans limite particulière
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment