GithubHelp home page GithubHelp logo

cmpe230-tester-fall2016's Introduction

CMPE 230 Project1 Test Scripts

Dependencies

  • The code is tested on Ubuntu 14.04 64bit. If you are using Windows for the project, you may use cygwin, but it would be better if you use at least a linux system on a virtual machine.
  • If you try on Windows operating system, please write your setup and write the problems you encounter on piazza. (such as problem with the path separator)
  • The scripts are for python3.
  • To be able to test your A86 assembly code, you are supposed to install dosbox. You can download and install as described here. The test script is using dosbox by calling as a shell program. Therefore make sure that you can run dosbox from command line from any directory.
  • For the compiler projects, I did not implemented in the samples code to check the extension of ".ac" and changing it to the ".asm", but you are supposed to check the extension of the file and if there is ".ac" extension change it with ".asm" to output the a86 assembly code.

Steps to test your project

  1. Download as a zip folder or clone the project.
  2. Extract all the contents of the folder. The whole folder hierarchy supposed to be seen as at the end of this document
  3. Copy the directory of your project including the Makefile under "projects" directory. Rename the your projects directory with your studentID.
  4. Make sure that your Makefile has run target (you can check out the given sample Makefiles). Do not forget to use ${ARGS} argument for run target.
  5. To test your interpreter run ./interpreter-tester.py projects/<studentID>
  6. To test your compiler run ./compiler-tester.py <path-to-this-folder>/a86 projects/<studentID>
  7. There is only two testcases for now, but I will notify you when I add new testcases, but you can also write your own testcases here. I will score your projects with different test cases and also I will check your implementation.
  8. Your program will also handle the error cases. If there is a syntax error, the program will print the following string ERROR:<line number> <cause of error>. If the program is in interpreter mode, it will not print the <line number>. If the program is in compiler mode, it will output the error on the standard output stream and it will compile an assembly program from the lines which do not have any errors.
  9. If you have any problems, please write the problem on piazza with the steps which are required to recreate the problem.

Folder Structure

├── a86
│   ├── A86.COM
│   ├── A86.LIB
│   ├── A86MANU.TXT
│   ├── COMPAT.8
│   ├── D86.COM
│   ├── D86MANU.TXT
│   ├── EFF386.TXT
│   ├── EFF86.TXT
│   ├── ERDEMO.BAT
│   ├── ERRATA.TXT
│   ├── FILE_ID.DIZ
│   ├── hello.asm
│   ├── HELLO.COM
│   ├── HELLO.OUT
│   ├── HELLO.SYM
│   ├── HEXOUT.8
│   ├── INSTALL.BAT
│   ├── LINES.8
│   ├── MSDOS.8
│   ├── MTCOLS.BAT
│   ├── PAD_FILE.XML
│   ├── PAGE.8
│   ├── PAGE.BL
│   ├── PAGE.COM
│   ├── PAGE.SYM
│   ├── README.TXT
│   ├── REV.8
│   ├── TCOLS.8
│   ├── TEMP.ASM
│   ├── TEMP.COM
│   ├── TEMP.OLD
│   ├── TEMP.OUT
│   ├── TEMP.SYM
│   ├── UNINSTAL.TXT
│   └── USAGE.8
├── compiler-tester.py
├── interpreter-tester.py
├── projects
│   ├── 2012800009
│   │   ├── main
│   │   ├── main.cpp
│   │   ├── main.o
│   │   └── Makefile
│   └── 2012800010
│   ├── Main.class
│   ├── Main.jar
│   ├── Main.java
│   └── Makefile
├── README.md
├── testcases
│   ├── test0
│   ├── test0.out
│   ├── test1
│   └── test1.out
└── tester.py

cmpe230-tester-fall2016's People

Contributors

okanasik avatar

Watchers

 avatar  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.