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
2bd00828
Commit
2bd00828
authored
Mar 26, 2020
by
Guillaume Huard
Browse files
Documentation en cours de rédation
parent
cee3bfd9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Basic_System.org
View file @
2bd00828
...
...
@@ -3,8 +3,57 @@
#+OPTIONS: html-postamble:nil
#+LANGUAGE: fr
#+EXPORT_EXCLUDE_TAGS: noexport
#+TITLE: Activité VPL de programmation système
#+AUTHOR: Guillaume Huard
Cette activité VPL, utilisable comme base, permet de lever certaines limitation du VPL original. En
particulier elle permet :
- de manipuler plusieurs programmes indépendants dans une même activité ;
- de passer des arguments sur sa ligne de commande d'un programme soumis par l'étudiant ;
- de vérifier que les sorties standard, les sorties d'erreur standard et le code de retour du
programme correspondent à des valeurs attendues ;
- de fournir les valeurs attendues pour un programme soumis sous forme de programme solution ;
- de préparer l'environnement d'exécution du programme soumis (par exemple en y créant des fichiers,
en modifiant des permissions, ...) ;
- de valider par un programme les actions effectuées par le programme soumis (par exemple, les
fichiers créés, les permissions changées, ...) ;
- de pondérer la contribution de chaque programme et de chaque test à la note finale ;
- de montrer (ou pas) en cas d'echec d'un test les entrées/sorties qui étaient attendues et celles
qui ont été produites.
En outre, cette activité est :
- indépendante de tout langage de programmation, la manière dont un programme
soumis par un étudiant doit être pris en charge (compilation, exécution) est indiquée au besoin dans
le fichier de configuration de l'activité ;
- conçue pour limiter les failles de sécurité classiques de VPL :
- si toutes les données concernant une activité sont contenues dans le fichier de configuration
(comme cela est présenté dans cette documentation), rien n'est présent sur le système de fichier
lors de l'exécution d'un programme soumis par un étudiant ;
- un programme étudiant ne peut pas influer sur la note en affichant ="Grade :=>> ..."= ou en
combinant cet affichage avec l'appel système =exit=.
* Ma première activité
Une activité est décrite, comme dans le VPL original, dans un fichier nommé
=vpl_evaluate.cases=. Voici un exemple de contenu possible pour ce fichier pour une simple activité
correspondant au programme classique qui affiche ="Hello world !"= :
#+BEGIN_SRC perl :exports code
{
hello_world.sh => {
tests => { output => "Hello world !" }
}
}
#+END_SRC
Cette activité demande à l'étudiant de produire un fichier nommé =hello_world.sh= qui sera exécuté
tel quel et doit produire comme sortie :
#+BEGIN_EXAMPLE
Hello world !
#+END_EXAMPLE
pour valider le test.
* Structure du fichier =vpl_evaluate.cases=
Documentation à venir...
#+BEGIN_SRC txt :mkdirp yes :tangle Basic_System/vpl_id.txt :exports none
22733
...
...
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