 |
Echtzeitsysteme (EZS) - WS 2006/07
Übersicht
Getting started
Aufgaben abgeben
Testfälle
Für alle hier genannten Hinweise wird davon ausgegangen, dass der Gruppenname test ist, test ist also durch den eigenen Gruppennamen zu ersetzen. Für die Subversion-Komnmandos ist eine Authentifizierung erforderlich. Die entsprechenden Daten hierfür bekommt ihr in den Tafelübungen.
Struktur des Subversion-Repository anlegen
faui48b:~temp> mkdir tmpdir
faui48b:~temp> cd tmpdir/
faui48b:~/temp/tmpdir> mkdir
faui48b:~/temp/tmpdir> mkdir trunk
faui48b:~/temp/tmpdir> mkdir branches
faui48b:~/temp/tmpdir> mkdir tags
vorgabe_0.tar.bz2 in das Unterverzeichnis trunk entpacken
faui48b:~/temp/tmpdir> tar xjf vorgabe_0.tar.bz2 -C trunk
faui48b:~/temp/tmpdir> ll trunk
insgesamt 12
drwxr-xr-x 2 scheler i4staff 512 2006-10-27 10:33 debug
drwxr-xr-x 2 scheler i4staff 512 2006-10-27 10:02 devices
drwxr-xr-x 3 scheler i4staff 512 2006-10-27 10:19 gen
drwxr-xr-x 2 scheler i4staff 512 2006-10-13 10:35 infra
drwxr-xr-x 2 scheler i4staff 512 2006-10-27 10:20 interrupt
drwxr-xr-x 2 scheler i4staff 512 2006-10-27 10:11 make
-rw-r--r-- 1 scheler i4staff 1816 2006-10-13 10:35 Makefile
drwxr-xr-x 2 scheler i4staff 512 2006-10-27 10:15 object
drwxr-xr-x 2 scheler i4staff 512 2006-10-13 10:35 shutdown
drwxr-xr-x 2 scheler i4staff 512 2006-10-18 16:09 startup
drwxr-xr-x 2 scheler i4staff 512 2006-10-13 10:35 tests
faui48b:~/temp/tmpdir> rm vorgabe0.tar.bz2
Die Verzeichnisstruktur in das Subversion-Repository importieren
faui48b:~/temp/tmpdir> svn import . https://www4.informatik.uni-erlangen.de:8088/i4ezs/test -m 'initial repository layout'
Hinzufügen trunk
...
Hinzufügen trunk/Makefile
Hinzufügen branches
Hinzufügen tags
Revision 1 übertragen.
Das Subversion-Repository auschecken
Das Verzeichnis, das man in das Repository importiert hat, ist nicht versioniert! Bevor man mit dem versionierten Repository arbeiten kann, muss man es noch auschecken.
faui48b:/home/scheler> svn co https://www4.informatik.uni-erlangen.de:8088/i4ezs/test/trunk ezstubs
A ezstubs/infra
...
A ezstubs/make/variables.mk
Ausgecheckt, Revision 1.
faui48b:/home/scheler> ll ezstubs/
insgesamt 12
drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 debug
drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 devices
drwxr-xr-x 4 scheler i4staff 512 2006-10-30 17:13 gen
drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 infra
drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 interrupt
drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 make
-rw-r--r-- 1 scheler i4staff 1816 2006-10-30 17:13 Makefile
drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 object
drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 shutdown
drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 startup
drwxr-xr-x 3 scheler i4staff 512 2006-10-30 17:13 tests
/home/scheler>
Die Datei vorgabe_1.tar.bz2 in das ezstubs-Verzeichnis entpacken
/home/scheler> tar xjf vorgabe1.tar.bz2 -C ezstubs/
Die Dateien aus vorgabe_1.tar.bz2 zum Repository hinzufügen
faui48b:/home/scheler> cd ezstubs/
faui48b:~/ezstubs> svn status .
? devices/alarm.cc
? devices/alarm.h
? devices/hardware_counter.h
? devices/tm_0.h
? devices/tm_1.h
? devices/alarm_queue.h
? devices/tm_2.h
? devices/tm_3.h
? devices/guarded_user_counter.h
? devices/user_counter.cc
? devices/user_counter.h
? devices/tm.h
? devices/basic_counter.h
? devices/guarded_alarm.h
? debug/test_interrupt_timer_0.h
? interrupt/dsr_executor.cc
? interrupt/dsr_executor.h
? interrupt/vectors.inc
faui48b:~/ezstubs>
faui48b:~/ezstubs>svn add devices/alarm.cc devices/alarm.h devices/hardware_counter.h devices/tm_0.h devices/tm_1.h devices/alarm_queue.h devices/tm_2.h devices/tm_3.h devices/guarded_user_counter.h devices/user_counter.cc devices/user_counter.h devices/tm.h devices/basic_counter.h devices/guarded_alarm.h debug/test_interrupt_timer_0.h interrupt/dsr_executor.cc interrupt/dsr_executor.h interrupt/vectors.inc
A devices/alarm.cc
...
A interrupt/dsr_executor.cc
A interrupt/dsr_executor.h
A interrupt/vectors.inc
faui48b:~/ezstubs>
faui48b:~/ezstubs>svn commit . -m 'Dateien aus vorgabe_1.tar.bz2'
Hinzufügen debug/test_interrupt_timer_0.h
Hinzufügen devices/alarm.cc
Hinzufügen devices/alarm.h
Hinzufügen devices/alarm_queue.h
...
Übertrage Daten ..................
Revision 2 übertragen.
faui48b:~/ezstubs>
Die Pfade in den make-Dateien anpassen
siehe Environment
Nun sollten sich die Quelltextdateien im ezstubs-Verzeichnis übersetzen lassen
faui48b:~/ezstubs> make all
CXX gen/obj/devices/derivate_implementation.o
...
CXX gen/obj/startup/invoke_constructors.o
CXX gen/obj/thread/guarded_scheduler.o
AS gen/obj/interrupt/setup_IDT.o
AR gen/lib/libezstubs.a
faui48b:~/ezstubs>
Happy Hacking ...
Für die Abgabe einer Aufgabe muss nur ein entsprechender Tag erstellt werden, die Erstellung des Tags erfolgt mit dem Subversion-Befehl copy:
faui48b:~/ezstubs> svn info | grep URL
URL: https://www4.informatik.uni-erlangen.de:8088/i4ezs/test/trunk
faui48b:~/ezstubs> svn copy . https://www4.informatik.uni-erlangen.de:8088/i4ezs/test/tags/aufgabe1 -m 'Abgabe Aufgabe1'
Revision 3 übertragen.
faui48b:~/ezstubs>
Testfälle sind einfache, kleine Anwendungen für das EZ-Stubs-Betriebssystem und C++-Programme. Für das Übersetzen und die Ausführung von Testfällen sollten die Hinweise hier eigentlich ausreichend sein. Ein Beispiel für einen solchen Testfall findet ihr hier (diesen Testfall könnt ihr übrigens auch als Testfall für die zweite Übungsaufgabe verwenden).
|
 |