Code Monkey home page Code Monkey logo

mrjp-tests's Introduction

Repozytorium z testami z MRJP

Wstęp

Repozytorium to zawiera testy do programu zaliczeniowego z MRJP. Testy te zostały stworzone przez różnych autorów.

Zgoda na wymienianie się takimi testami została udzielona przez prowadzącego przedmiot i znajduje się w pliku PODSTAWA_PRAWNA.

Repozytorium nie zawiera testów przygotowanych przez wykładowcę. Można je znaleźć pod adresem: http://www.mimuw.edu.pl/~ben/Zajecia/Mrj2011/Latte/

Organizacja testów

Występuje następująca organizacja testów:

  • good - testy poprawne
    • basic - testy które powinna przechodzić każda implementacja
    • hardcore - testy teoretycznie da się przejść, ale na chwile obecną są uważane za trudne (mogą zostać później przeniesione)
  • bad - testy, na których powinien zostać zgłoszony błąd
    • lexer - błąd powinien zostać wykryty przez lexer
    • syntax - błąd powinien zostać wykryty przez parser
    • semantic - błąd powinien zostać wykryty przez analizator semantyczny
    • semantic_or_runtime - błąd może zależnie od implementacji zostać wykryty w dwóch miejscach (np. if(1/0 == 0))
    • runtime - błąd, który może być wykryty tylko w runtime
    • overflow - programy, które mają na celu się wysypać (przepełnienie stosu itp.), ale nie zawierają błędu
    • infinite_loop - programy, które są poprawne, ale się zapętlają

Wraz z postępem zadania zostaną dodane kolejne kategorie (np. na rozszerzenia).

Jak dodać swój test

Test można dodać za pomocą githubowego pull request lub wysyłając do mnie maila (tw277696) z plikami testu oraz informacją w której kategorii powinien się znaleźć.

Uwaga: test powinien w pierwszej linii pliku *.lat zawierać dane autora, np.

// Author: Tomasz Wysocki 277696

Jeżeli z jakiegoś powodu taki komentarz nie może znajdować się w pliku, powinien zostać utworzony dodatkowy plik z rozszerzeniem .author.

Jest to wymaganie prowadzącego i testy nie spełniające go, nie zostaną wpuszczone do repo.

Jak wygląda test

Test składa się z trzech plików z poniższymi rozszerzeniami:

  • .lat - kod programu użytego do testu
  • .input - dane wejściowe dla programu, plik ten jest wymagany tylko jeśli program jest poprawny i dojdzie do uruchomienia
  • .output - oczekiwane dane wyjściowe dla programu, plik ten jest wymagany tylko jeśli program jest poprawny i dojdzie do zakończenia programu

mrjp-tests's People

Contributors

tomwys avatar elbiczel avatar cbart avatar

Watchers

Marcin Benke avatar James Cloos avatar  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.