GithubHelp home page GithubHelp logo

brimizer / 131-project1-testcases Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bulatb/131-project1-testcases

0.0 2.0 0.0 261 KB

Example test repo for CSE 131 at UCSD - project 1

Makefile 11.21% Erlang 16.16% Shell 34.56% Perl 38.06%

131-project1-testcases's Introduction

Typechecking tests for Compilers

Historically, Rick Ord's 131 has let the students keep a shared collection of compiler tests. More tests and more contributors means:

  • Better coverage
  • Lazy overworked TAs might use some for the autograder
  • Better grades for everyone

Sounds like a plan?

If you're in someone else's class, make sure to ask if it's ok before you share. Even if it's not, read How it works and then skip down to see how you can use this for yourself.

How it works

The TAs' autograder feeds your project broken source files and makes sure it prints what it's supposed to. You can use your own to do the same.

This repository format is compatible with Yuno and with SOtest, both written for 131. A basic test case has two parts: the source file testname.rc with code to be compiled, and the answer file testname.ans.out with the expected output.

A minimal Compilers repo, organized by phase and check, would look like this:

this-repo/
    phase1/
        check1/
            first.rc
            first.ans.out
        check2a/
            (etc)
    phase2/
        (etc)

But in a class so large, you'll sometimes want to do things like:

  • Run just your own tests
  • Figure out whose tests are broken
  • Make it obvious when someone edits one of yours

For that, each group should pick one partner's ACS account and keep their tests in folders with that name. If you want your group to be contactable, like for getting @mentioned on GitHub, add your GitHub usernames or other contact info to authors/<acs name>.txt. Keep in mind your info will be public—no emails if you don't want spam.

A nice Compilers repo looks like this:

this-repo/
    phase1/
        check1/
            bbochkar/
                bitwise-ops.rc
                bitwise-ops.ans.out
            jpink/
                float-ops.rc
                float-ops.ans.out
            (etc)
        check2a/
            eslaught/
                plusplus.rc
                plusplus.ans.out
            minusminus.rc         # Someone didn't make a folder for
            minusminus.ans.out    # their group - that's ok too.
    phase2/
        check10/
            bbochkar/
                (etc)
    (etc)
    authors/
        bbochkar.txt
        eslaught.txt
        jpink.txt

And an authors file:

$ cat authors/jpink.txt
Jesse Pinkman - jpinkman at ieng6 - github.com/SCIENCE_BITCH
Walter White - walt.h.white at vamanos - github.com/goddamnright

131-project1-testcases's People

Watchers

 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.