GithubHelp home page GithubHelp logo

snafu / testub10 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lewurm/testub10

0.0 1.0 1.0 167 KB

gemeinschaftliche Sammlung von Testfaellen fuer die Uebungsbeispiele der LVA "Uebersetzerbau (SS10)"

C 3.01% Python 9.97% Shell 87.02%

testub10's Introduction

Uebersetzerbau (SS10)

Dies ist eine gemeinschaftliche Sammlung von Testfaellen fuer die Uebungsbeispiele der LVA "Uebersetzerbau (SS10)" an der TU Wien.

Kurzes HOWTO (fuer die g0):

$ git clone git://github.com/lewurm/testub10.git ~/test

Danach koennen die Testfaelle durch diesen Befehl aktualisiert werden:

$ cd ~/test && git pull

Das Testskript selbst wird von der LVA-Leitung zur Verfuegung gestellt:

$ /usr/ftp/pub/ubvl/test/scanner/test
$ /usr/ftp/pub/ubvl/test/parser/test
$ /usr/ftp/pub/ubvl/test/ag/test
$ /usr/ftp/pub/ubvl/test/codea/test
$ /usr/ftp/pub/ubvl/test/codeb/test
$ /usr/ftp/pub/ubvl/test/gesamt/test

Weiters wurde das bekannte Benchmarkskript von viper fuer codea, codeb und gesamt angepasst und eingebaut das sich in

$ ~/test/scripts/test.sh

befindet und mit {code{a,b},gesamt} als parameter aufgerufen wird.

Namenskonventionen fuer das Skript (Zitat LVA Leitung):

Die Dateien mit der Eingabe heissen *.0, *.1, *.2 oder *.3, wobei die Ziffer hinten den Exit-Code angibt. Eine Datei, die einen Syntax-Fehler enthaelt, werden Sie also z.B. foo.2 nennen. Beim Scanner-Beispiel gibt es fuer akzeptable Eingaben (also Dateien, die auf .0 enden) auch noch eine Ausgabe, die ueberprueft werden muss; die erwartete Ausgabe fuer die Datei bar.0 nennen Sie bar.out.

Weitere Namenskonventionen fuer uns:

  • Jeder Testfall hat als Praefix "_", sodass keine Namenskonflikte entstehen.
  • Ab codea sollte auch fuer jeden erfolgreichen Testfall eine .instr Datei angelegt werden die einen Referenzwert der Instruktionen enthaelt.

Wie kannst du beitragen?

mit git:

  • forke das Repository auf github, committe deine Aenderungen und mach einen "Pull Request"

  • clone das Repository, committe deine Aenderungen, erzeuge Patches mit

    git format-patch
    

    und maile sie oder poste sie im Informatikforum

ohne git:

  • schicke deine Testfaelle als Anhang per Mail (mit passenden Dateinamen bitte!)
  • poste deine Testfaelle im Informatikforum und haenge sie als Attachment an (mit passenden Dateinamen bitte!)

und natuerlich ist jeder herzlichst dazu eingeladen im Forum ueber Testfaelle zu diskutieren :)

Infforum-Thread: http://tinyurl.com/testub10

Mailadresse(n): lewurm_AT_gmail_DOT_com (weitere Freiwillige sind willkommen, einfach eintragen)

Allgemeine Tipps:

praktische Ergaenzungen am Makefile fuer codea:

#bricht beim ersten fehlerhaften Testfall ab
#usage: make atest

atest:
	~/test/scripts/modlvatest_codea.sh 2>&1


#offizielles Testskript der LVA
#usage: make lvatest

lvatest:
	/usr/ftp/pub/ublu/test/codea/test 2>&1


#Benchmarkskript. Testet nur *.0 Testfaelle
#usage: make bench

bench:
	~/test/scripts/bench.sh codea

Ausserdem befindet sich ein Skript zum Testen eines Testfalles (auch nur fuer *.0 Testfaelle gedacht) hier: $ ~/test/scripts/onetest ~/test/codea/namen.0

testub10's People

Contributors

lewurm avatar lukhase avatar skinner33 avatar snafu avatar thestack avatar torotil avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.