# MAP automated test

`MAPTSTA.BAT` captures a Novell MAP baseline using `NPUBLIC\MAP`.

This is not yet a PUBLIC-vs-Novell compare; it documents the Novell behavior that the public MAP implementation should match.

LOGIN is intentionally not tested here. `PATH`, `PATHINS`, and `PATHDEL` are
our own tools, so they are not included in this Novell baseline.

## NetWare semantics

Verified against real NetWare:

```text
MAP G:=SYS:PUBLIC
```

sets the current path on `G:` to `\PUBLIC`, but it is not a fake root. `CD \`
returns to `SYS:\`.

```text
MAP ROOT G:=SYS:PUBLIC
```

sets `SYS:PUBLIC` as fake root. `CD \` stays inside `SYS:PUBLIC`.

## Run

Run while already logged in and with `F:` mapped to `SYS`.

```text
MAPTSTA
```

Optional pack:

```text
MAPTZIP
```

Result ZIP:

```text
F:\MAPCMP\MAPTSTA.ZIP
```

Linux package with server log:

```sh
sudo ./mars_packtest_v3.sh maptsta 5 mario
```

## Coverage

- display current maps
- non-root subdir map `G:=SYS:MAPTEST`
- verify `CD \` returns to volume root for non-root map
- fake-root map `MAP ROOT G:=SYS:MAPTEST`
- verify `CD \` stays in fake-root for root map
- fake-root map to `SYS:NPUBLIC` and find `NDIR.EXE`
- map `H:` to `HOME:`
- map `I:` to `QUOTA:`
- fake-root map `J:` to `QUOTA:USERQUOTA`
- delete `G:`, `H:`, `I:`, `J:`
- expected failure after delete
- expected failure for bad target
