# Test Vamos

## 1. Introduction

This directory contains the test suite of vamos. The suite combines a set
of native Amiga programs and python test scripts. First the native Amiga
programs will be compiled by various cross-compilers (see below) into native
Amiga binaries. Then vamos will be run with these binaries and the output
of the test programs will be compared to output generated by the programs
run on a real Amiga system.

In `src` directory you will find the Amiga test programs. In `suite` you
find the associated Python test programs.

## 2. Setup

You will need the `pytest` module to run the tests. Use pip to install
the module:

```
sudo pip install pytest
```

## 3. Cross-Compiler Setup

amitools currently supports the following cross-compilers to create the
AmigaOS binaries:

  - *gcc*: gcc 6.5 with AmigaOS support
  - *vc*: [vbcc](http://sun.hasenbraten.de/vbcc/) and [vasm]()
  - *agcc*: gcc 4.x with AROS m68k support
  - *sc*: SAS C v6.52 Amiga version running in vamos (commercial)

### 3.1 amiga-gcc

Use Bebbo's GCC 6.5 port for Amiga: [amiga-gcc](https://github.com/bebbo/amiga-gcc)

  - see build instructions there
  - add the bin directory to your PATH (also add to your shell startup)

      > export PATH=/opt/m68k-amigaos/bin:$PATH

### 3.2 vbcc

Install `vbcc` from your favorite package source

  - MacOS
    - Use [Homebrew](http://brew.sh)

      > brew tap tditlu/amiga
      > brew install vbcc vasm vlink

### 3.3 AROS

AROS now supports m68k directly and also provides a gcc 4.x based toolchain
to build m68k binaries

#### Prerequisites

  - MacOS
    - Install [Homebrew](http://brew.sh)
    - Install the following packets:

```
> brew install gawk gnu-sed netpbm
```

#### Build

  - create a user accessible installation directory

```
> sudo mkdir -p /opt/m68k-aros
> sudo chown $USER /opt/m68k-aros
```

  - run build and install

```
> git clone http://repo.or.cz/AROS.git
> mkdir AROS-build
> cd AROS-build
> ../AROS/configure --target=amiga-m68k --with-aros-toolchain-install=/opt/m68k-aros
> make crosstools
```

  - add the bin directory to your PATH (also add to your shell startup)

      > export PATH=/opt/m68k-aros:$PATH

### 3.4 SAS C 6.52

This is no cross-compiler but the native Amiga compiler. You will need a
pre-installed directory tree from the Amiga installation to run it here
with vamos.

The `Makefile` in this directory contains a line *SASC_INSTALL_DIR* that
describes the location where the `sc` directory of the Amiga installation
can be found in the host file system. The default is `volumes/sc`.

EOF
