Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sd-ca:vmchecker [2013/02/17 13:17]
laura.vasilescu created
sd-ca:vmchecker [2023/05/29 08:52] (current)
emil.racec
Line 1: Line 1:
-{{section>help:​vmchecker&​noheader&​nofooter}}+====== Folosire vmchecker ====== 
 + 
 +În caz de probleme, trebuie trimis mail către [[vmchecker-request@cursuri.cs.pub.ro|vmchecker-request@cursuri.cs.pub.ro]]. 
 + 
 +===== Acces server ===== 
 + 
 +==== Initial step ===== 
 + 
 +Trimiteți cheia publică cuiva care are deja acces.  
 + 
 +Spre exemplu Laurei (laura@linux.com) 
 + 
 +==== In general ==== 
 + 
 +<code bash Proiectarea Algoritmilor>​ 
 +ssh pa@elf.cs.pub.ro 
 +</​code>​ 
 + 
 +<code bash Programare Seria CA> 
 +ssh pc@elf.cs.pub.ro 
 +</​code>​ 
 + 
 +<code bash Programare Seria CBCD> 
 +ssh pc-cb@elf.cs.pub.ro 
 +</​code>​ 
 + 
 +===== Configurarea unei teme noi ==== 
 + 
 +==== Update fisier config ==== 
 + 
 +Se modifică fișierul ''​~/​vmchecker-storer/​config''​ similar cu tema 1 sau tema 2. 
 + 
 +Se caută secțiunea cu ''<​nowiki>​[[assignment 1-hubble]]</​nowiki>''​ sau ''<​nowiki>​[[assignment 2-conquer]]</​nowiki>''​ și se creează una asemănătoare pentru noua temă, modificând corespunzător. 
 + 
 +**Obligatoriu** numele temei este de forma ''​1-hubble''​ sau ''​2-conquer''​. Cifră-liniuță-nume. 
 + 
 +==== Adăugare arhivă de teste ==== 
 + 
 +Arhiva trebuie **obligatoriu** să aibă același nume cu tema. (vezi formatul de mai sus). 
 + 
 +Se adaugă în: ''​~/​vmchecker-storer/​tests/''​. 
 +Exemplu: 
 +<​code>​= 
 +pc@elf:~$ ls ~/​vmchecker-storer/​tests/​ 
 +1-hubble.zip ​ 2-conquer.zip 
 +</​code>​ 
 + 
 +==== Everything should work! ==== 
 + 
 +===== Vizualizare teme ===== 
 + 
 +Toate temele submise se află într-un repo git generat automat. 
 + 
 +Spre exemplu, pentru tema nr. 1: 
 +<​code>​ 
 +pc@elf:~$ ls ~/​vmchecker-storer/​repo/​1-hubble/​ 
 +adela_adriana.sandulescu ​  ​catalin.stanciu2712 ​        ​florin_cristian.hurezeanu ​  ​mihail_razvan.cojocaru 
 +adela_ioana.hintiu ​        ​cezar_mihai.ghimbas ​        ​florin_george.bostinaru ​    ​mihai.mihailescu 
 +[...] 
 +</​code>​ 
 +Pentru fiecare student este creat automat un director. 
 + 
 +==== Structura directorului unui student/​temă ==== 
 + 
 +Cum arată un astfel de director? 
 +<​code>​ 
 +pc@elf:~$ ls ~/​vmchecker-storer/​repo/​1-hubble/​prenume.nume/​ 
 +current ​                        ​sb_2012.11.05__22.08.52_rnd948 ​ sb_2012.11.05__23.08.48_rnd590 
 +sb_2012.11.05__21.18.51_rnd436 ​ sb_2012.11.05__22.23.14_rnd8 ​   sb_2012.11.05__23.13.08_rnd175 
 +sb_2012.11.05__21.32.34_rnd17 ​  ​sb_2012.11.05__22.48.06_rnd239 ​ sb_2012.11.05__23.15.05_rnd653 
 +sb_2012.11.05__21.42.43_rnd52 ​  ​sb_2012.11.05__22.51.46_rnd16 ​  ​sb_2012.11.05__23.24.58_rnd19 
 +sb_2012.11.05__21.48.00_rnd21 ​  ​sb_2012.11.05__22.57.24_rnd313 
 +sb_2012.11.05__21.52.42_rnd671 ​ sb_2012.11.05__23.00.14_rnd459 
 +</​code>​ 
 + 
 +''​current''​ este un link simbolic către ultima temă trimisă. Restul reprezintă versiuni mai vechi, salvate corespunzător după data la care au fost trimise. 
 + 
 +Cum arată directorul ''​current''?​ (de fapt, și toate celelalte) 
 +<​code>​ 
 +pc@elf:~$ ls ~/​vmchecker-storer/​repo/​1-hubble/​prenume.nume/​current 
 +archive.zip ​ git  results 
 +</​code>​ 
 + 
 +**''​archive.zip''​** este chiar arhiva submisă. 
 + 
 +**''​git''​** este un director ce conține printre alte lucruri, un director numit ''​archive''​ cu conținutul arhivei submise dezarhivat. 
 +<​note>​ 
 +Nu este necesar să vizualizați sursele din git/​archive/​*. vim știe să citească arhive. Eu folosesc direct vim archive.zip. 
 +</​note>​ 
 +**''​results''​** este un director în care vmchecker stochează rezultatele rulării temei 
 + 
 +===== Corectare teme ===== 
 + 
 +Cum ziceam mai sus, rezultatele rulării pe vmchecker sunt puse în directorul ''​results''​ sub formatul următor: 
 +<​code>​ 
 +pc@elf:~$ ls ~/​vmchecker-storer/​repo/​1-hubble/​prenume.nume/​current/​results/​ 
 +build-stderr.vmr ​ build-stdout.vmr ​ grade.vmr ​ run-stderr.vmr ​ run-stdout.vmr ​ vmchecker-stderr.vmr 
 +</​code>​ 
 +Ce face fiecare fișier? 
 + 
 +  * **build-stderr.vmr** - output scris la ''​stderr''​ în timp-ul etapei de ''​build''​ 
 +  * **build-stdout.vmr** - output scris la ''​stdout''​ în timp-ul etapei de ''​build''​ 
 +  * **run-stderr.vmr** - output scris la ''​stderr''​ în timp-ul etapei de ''​run''​ 
 +  * **run-stdout.vmr** - output scris la ''​stdout''​ în timp-ul etapei de ''​run''​ 
 +  * **vmchecker-stderr.vmr** - eventualele mesaje de eroare "​scuipate"​ de vmchecker 
 +  * **grade.vmr** - fișier folosit pentru feedback-ul asistentului 
 + 
 +==== Cum se corectează o temă eficient? ==== 
 + 
 +  * Te uiți în interfața web și vezi câte teste trec 
 +  * Treci în grade.vmr cu minus punctele corespunzătoare pentru testele picate 
 +  * Mai adaugi în grade.vmr și eventuale alte depunctări (cu minus) sau bonusuri (cu plus) 
 +  * Verifici în interfața web punctajul final (depunctările de întârziere se calculează automat) 
 +  * Treci nota și în catalog (google spreadsheet) 
 + 
 +==== Cum se folosește grade.vmr ==== 
 + 
 +Depunctările în urma întârzierilor sunt scăzute automat. 
 + 
 +Depunctările în urma testelor picate trebuie scăzute de mână. 
 + 
 +Exemplu de format pentru grade.vmr:​ 
 +<​code>​ 
 ++0.0: nice coding style :) 
 +-5.0: tests failed 
 +-0.20: New memory leak modification (In function execCommand,​ 
 +in file tema0.c, at line 189;) 
 +-0.20: Use of unitialized variable (In function add, in file 
 +tema0.c, at line 61;) 
 +-0.10: Use of non-static variables or functions in a single 
 +module (In file tema0.c, at line 21; In file tema0.c, at line 32; In 
 +file tema0.c, at line 46; In file tema0.c, at line 55; In file 
 +tema0.c at line 79; In file tema0.c, at line 103; In file tema0.c, at 
 +line 113; In file tema0.c, at line 124; In file tema0.c, at line 134; 
 +In file tema0.c, at line 143; In file tema0.c, at line 162;) 
 +</​code>​ 
 + 
 +Calculele se fac ulterior automat. Trebuie doar respectat formatul. 
 + 
 +==== Workflow Windows ==== 
 + 
 +Dacă preferați să aveți la dispoziție o interfață grafică mai degrabă decât să faceți totul din terminal, se poate folosi [[https://​code.visualstudio.com/​|Visual Studio Code]] împreună cu extensia [[https://​marketplace.visualstudio.com/​items?​itemName=Kelvin.vscode-sshfs|SSH FS]] pentru a corecta mai ușor. 
 + 
 +{{:help:vs-code-vmchecker.png?700|}} 
 + 
 +=== Configurare === 
 + 
 +După ce ați instalat extensia, apăsați ''​Ctrl+Shift+P''​ și selectați ''​SSH FS: Create a SSH FS Configuration''​. Trebuie să aveți configurate următoarele câmpuri: 
 + 
 +  * **Host:** ''​elf.cs.pub.ro''​ 
 +  * **Port:** ''​22''​ 
 +  * **Root:** ''​~''​ 
 +  * **Username:​** cel corezspunzător materiei, spre exemplu ''​pc-cb''​ 
 +  * **Private key:** calea către cheia privată (în general pe Linux va fi în ''​~/​.ssh/​id_rsa'',​ trebuie să o copiați pe Windows) 
 + 
 +Dacă veți corecta la mai multe materii, este util să puneți **Name** ca numele materiei și **Group** ca ''​vmchecker''​ pentru a păstra toate configurațiile la un loc. 
 + 
 +=== Conectare === 
 + 
 +După ce salvați configurația,​ vă puteți conecta apăsând ''​Ctrl+Shift+P''​ și selectând întâi ''​SSH FS: Connect as Workspace folder''​ și apoi configurația dorită.
sd-ca/vmchecker.1361099842.txt.gz · Last modified: 2013/02/17 13:17 by laura.vasilescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0