tests: document AFP test group paths and option
This commit is contained in:
@@ -77,7 +77,13 @@ option(ENABLE_XATTR "Should we build Mars Nwe with extended attribute support?"
|
||||
option(MARS_NWE_INSTALL_DOSUTILS "Install DOS client utilities" ON)
|
||||
option(MARS_NWE_INSTALL_NEW_DOSUTILS "Install the new/experimental DOS client utilities instead of legacy netold.exe" OFF)
|
||||
option(MARS_NWE_BUILD_DOSUTILS "Build DOS client utilities with Open Watcom" OFF)
|
||||
option(MARS_NWE_BUILD_LINUX_TESTS "Build optional Linux integration tests using ncpfs/libncp" OFF)
|
||||
option(MARS_NWE_BUILD_AFP_TESTS "Build optional AFP integration tests using ncpfs/libncp" OFF)
|
||||
if(DEFINED MARS_NWE_BUILD_LINUX_TESTS)
|
||||
if(MARS_NWE_BUILD_LINUX_TESTS)
|
||||
set(MARS_NWE_BUILD_AFP_TESTS ON CACHE BOOL "Build optional AFP integration tests using ncpfs/libncp" FORCE)
|
||||
endif()
|
||||
message(WARNING "MARS_NWE_BUILD_LINUX_TESTS is deprecated; use MARS_NWE_BUILD_AFP_TESTS instead.")
|
||||
endif()
|
||||
|
||||
set(MARS_NWE_SMART_ADMIN_GROUP "root" CACHE STRING "Unix group allowed to log in to the SMArT/nwwebui admin interface")
|
||||
|
||||
@@ -234,7 +240,7 @@ add_subdirectory(src)
|
||||
add_subdirectory(opt)
|
||||
add_subdirectory(sys)
|
||||
|
||||
if(MARS_NWE_BUILD_LINUX_TESTS)
|
||||
if(MARS_NWE_BUILD_AFP_TESTS)
|
||||
add_subdirectory(tests/afp)
|
||||
endif()
|
||||
add_subdirectory(dosutils)
|
||||
|
||||
26
TODO.md
26
TODO.md
@@ -122,7 +122,7 @@ Current status:
|
||||
- Timestamp writes are routed through the existing NetWare `nw_utime_node()`
|
||||
helper so trustee Modify rights and the established Unix `utime(2)` fallback
|
||||
behavior are reused instead of inventing AFP-specific timestamp handling.
|
||||
- The Linux smoke helper verifies the AFP date/time fields via the follow-up
|
||||
- The AFP smoke helper verifies the AFP date/time fields via the follow-up
|
||||
Get File Information response, and the smoke suite also records `stat -c %Y`
|
||||
for the backing Unix file.
|
||||
|
||||
@@ -217,15 +217,15 @@ Current status:
|
||||
- `AFP Get Entry ID From Path Name` is implemented when the optional
|
||||
mars_nwe AFP xattr metadata backend is available. Entry IDs are now derived first from
|
||||
existing mars_nwe NetWare namespace/basehandle state rather than from a
|
||||
parallel AFP/stat fallback generator. Linux smoke coverage exists in
|
||||
`tests/linux/afp_entry_id_smoke`; the latest full-suite run against
|
||||
parallel AFP/stat fallback generator. AFP smoke coverage exists in
|
||||
`tests/afp/afp_entry_id_smoke`; the latest full-suite run against
|
||||
`SYS:PUBLIC/pmdflts.ini` returned `entry_id=0x00000004`.
|
||||
- `AFP Get Entry ID From Name` is implemented for the same path-backed
|
||||
smoke mode. Linux smoke coverage uses
|
||||
`tests/linux/afp_entry_id_smoke --from-name`; the identity source follows the
|
||||
smoke mode. AFP smoke coverage uses
|
||||
`tests/afp/afp_entry_id_smoke --from-name`; the identity source follows the
|
||||
same NetWare namespace/basehandle path as Entry ID From Path Name.
|
||||
- `AFP Get File Information` is implemented for read-only path-based requests.
|
||||
Linux smoke coverage exists in `tests/linux/afp_file_info_smoke` and has
|
||||
AFP smoke coverage exists in `tests/afp/afp_file_info_smoke` and has
|
||||
been verified against `SYS:`, `SYS:PUBLIC`, `SYS:SYSTEM`, and `SYS:BURST`.
|
||||
The same test verifies the AFP 2.0 Get File Information subfunction via
|
||||
`--afp20` against the same paths, using the same path-backed read-only reply
|
||||
@@ -233,7 +233,7 @@ Current status:
|
||||
persistent CNID Parent ID / fuller Mac namespace metadata as future work.
|
||||
- `AFP Scan File Information` (`0x0a`) and `AFP 2.0 Scan File Information`
|
||||
(`0x11`) are implemented for path-backed read-only directory scans. Linux
|
||||
smoke coverage exists in `tests/linux/afp_scan_info_smoke`; the helper
|
||||
smoke coverage exists in `tests/afp/afp_scan_info_smoke`; the helper
|
||||
defaults to the AFP 2.0 subfunction and uses `--afp10` for the older
|
||||
endpoint. Runtime coverage has been verified against `SYS:PUBLIC` by
|
||||
walking multiple directory entries with the returned `next_last_seen` AFP
|
||||
@@ -244,7 +244,7 @@ Current status:
|
||||
record while preserving the expected file metadata.
|
||||
- `AFP Get Entry ID From NetWare Handle` is implemented for read-only data-fork
|
||||
file handles that are opened in the same client connection. Linux smoke
|
||||
coverage uses `tests/linux/afp_entry_id_smoke --from-handle`. The latest
|
||||
coverage uses `tests/afp/afp_entry_id_smoke --from-handle`. The latest
|
||||
full-suite run verified `SYS:PUBLIC/pmdflts.ini`, returning volume 0,
|
||||
`fork=0`, and the same NetWare namespace/basehandle-derived
|
||||
`entry_id=0x00000004` as the path-backed lookup.
|
||||
@@ -253,8 +253,8 @@ Current status:
|
||||
prefix instead of assuming volume 0, so the same smoke path can cover `SYS:`
|
||||
and non-`SYS:` volumes. It opens only the data fork read-only and returns a
|
||||
normal six-byte NetWare file handle plus the current data-fork length; the
|
||||
Linux smoke helper
|
||||
`tests/linux/afp_open_file_fork_smoke` closes the returned handle in the same
|
||||
AFP smoke helper
|
||||
`tests/afp/afp_open_file_fork_smoke` closes the returned handle in the same
|
||||
connection. Runtime smoke coverage is green for
|
||||
`SYS:PUBLIC/pmdflts.ini` (`fork_len=8161`) and `SYS:PUBLIC/ohlogscr.bat`
|
||||
(`fork_len=1296`) using `fork=0` and read access `0x01`. The smoke suite
|
||||
@@ -266,7 +266,7 @@ Current status:
|
||||
path-backed smoke subset. Raw `VOL:`-style paths resolve the effective
|
||||
NetWare volume from the path prefix instead of assuming volume 0. Linux
|
||||
smoke coverage exists in
|
||||
`tests/linux/afp_temp_dir_handle_smoke`; runtime smoke coverage is green for
|
||||
`tests/afp/afp_temp_dir_handle_smoke`; runtime smoke coverage is green for
|
||||
`SYS:`, `SYS:PUBLIC`, `SYS:SYSTEM`, and `SYS:BURST`. The helper returns a
|
||||
temporary NetWare directory handle plus the AFP one-byte access-rights mask
|
||||
and immediately deallocates the handle in the same connection. Server
|
||||
@@ -288,7 +288,7 @@ Current status:
|
||||
Date/Time use the existing
|
||||
mars_nwe NetWare metadata helpers; Access Date/Time uses the normal file
|
||||
`atime` path; and Modify Date/Time uses the shared timestamp helper. Linux
|
||||
smoke coverage exists in `tests/linux/afp_set_file_info_smoke`, which now
|
||||
smoke coverage exists in `tests/afp/afp_set_file_info_smoke`, which now
|
||||
always reports `layout=websdk` and verifies the result through AFP 2.0 Get
|
||||
File Information. Runtime status: the WebSDK-layout-only smoke run for
|
||||
`SYS:PUBLIC/pmdflts.ini` completed with `failures=0`, including legacy `0x09`
|
||||
@@ -473,7 +473,7 @@ Endpoint order:
|
||||
`0x00000005`, then removed both objects through AFP Delete.
|
||||
- AFP Create File (`0x02`) and AFP 2.0 Create File (`0x0e`) are now routed
|
||||
through the existing NetWare file-create path for temporary smoke files. The
|
||||
Linux smoke helper creates both legacy and AFP 2.0 files under the tested
|
||||
AFP smoke helper creates both legacy and AFP 2.0 files under the tested
|
||||
parent, verifies the returned AFP file ID with Entry ID From Path Name, and
|
||||
removes them through AFP Delete.
|
||||
- Runtime status: the create-file smoke has been verified with AFP Delete
|
||||
|
||||
@@ -13,8 +13,8 @@ find_library(NCPFS_LIBRARY
|
||||
|
||||
if(NOT NCPFS_INCLUDE_DIR OR NOT NCPFS_LIBRARY)
|
||||
message(FATAL_ERROR
|
||||
"MARS_NWE_BUILD_LINUX_TESTS requires ncpfs/libncp headers and libncp for AFP smoke tests. "
|
||||
"Install the ncpfs development package or disable MARS_NWE_BUILD_LINUX_TESTS."
|
||||
"MARS_NWE_BUILD_AFP_TESTS requires ncpfs/libncp headers and libncp for AFP smoke tests. "
|
||||
"Install the ncpfs development package or disable MARS_NWE_BUILD_AFP_TESTS."
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Linux NCP smoke tests
|
||||
|
||||
This directory contains optional Linux-side integration tests for endpoints that
|
||||
This directory contains optional AFP integration smoke tests for endpoints that
|
||||
are easier to exercise from a Unix host than from the DOS test utilities.
|
||||
|
||||
The tests use the ncpfs/libncp client library. They are not built by default
|
||||
@@ -22,7 +22,7 @@ source-level `org.mars-nwe.*` names through the portable `user.` namespace.
|
||||
Build with:
|
||||
|
||||
```sh
|
||||
cmake -DMARS_NWE_BUILD_LINUX_TESTS=ON ...
|
||||
cmake -DMARS_NWE_BUILD_AFP_TESTS=ON ...
|
||||
cmake --build . --target afp_entry_id_smoke
|
||||
cmake --build . --target afp_file_info_smoke
|
||||
cmake --build . --target afp_scan_info_smoke
|
||||
@@ -34,20 +34,20 @@ cmake --build . --target afp_set_file_info_smoke
|
||||
|
||||
## AFP smoke-suite report helper
|
||||
|
||||
`afp_smoke_suite.sh` runs the currently verified AFP Linux smoke helpers as one
|
||||
`afp_smoke_suite.sh` runs the currently verified AFP AFP smoke helpers as one
|
||||
collectable report. It is meant for interactive runtime validation after a
|
||||
server rebuild: the script prints each helper with the password masked, captures
|
||||
new AFP lines appended to the mars_nwe server log while the suite runs, and
|
||||
adds `getfattr -e hex` checks for the mars_nwe AFP xattrs on the tested Unix
|
||||
file.
|
||||
|
||||
When `MARS_NWE_BUILD_LINUX_TESTS=ON` is enabled, CMake copies the helper into
|
||||
the build `tests/linux` directory through the `afp_smoke_suite` build target.
|
||||
When `MARS_NWE_BUILD_AFP_TESTS=ON` is enabled, CMake copies the helper into
|
||||
the build `tests/afp` directory through the `afp_smoke_suite` build target.
|
||||
This keeps the runtime copy in sync with source changes, and `cmake --build
|
||||
<build-dir> --target clean` removes the copied script so stale suite helpers do
|
||||
not survive clean rebuilds.
|
||||
|
||||
Example from the build `tests/linux` directory:
|
||||
Example from the build `tests/afp` directory:
|
||||
|
||||
```sh
|
||||
./afp_smoke_suite.sh \
|
||||
@@ -89,7 +89,7 @@ output from the report.
|
||||
|
||||
The suite can optionally exercise the Modify-rights negative path with a second
|
||||
user. For a no-password test user such as `NOPASSUSER`, run from the build
|
||||
`tests/linux` directory:
|
||||
`tests/afp` directory:
|
||||
|
||||
```sh
|
||||
./afp_smoke_suite.sh \
|
||||
@@ -209,8 +209,8 @@ and `nw_mk_rd_dir()` rather than an AFP-only directory resolver.
|
||||
Example:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_create_directory_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpdirts
|
||||
./tests/linux/afp_create_directory_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpdirts2
|
||||
./tests/afp/afp_create_directory_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpdirts
|
||||
./tests/afp/afp_create_directory_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpdirts2
|
||||
```
|
||||
|
||||
The full smoke suite creates temporary directories under the tested parent using
|
||||
@@ -240,8 +240,8 @@ creation from the test.
|
||||
Example:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_create_file_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpfile
|
||||
./tests/linux/afp_create_file_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpfil2
|
||||
./tests/afp/afp_create_file_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpfile
|
||||
./tests/afp/afp_create_file_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpfil2
|
||||
```
|
||||
|
||||
The full smoke suite creates temporary files under the tested parent with fresh
|
||||
@@ -276,7 +276,7 @@ Unix `unlink`/`rmdir` calls from the test process.
|
||||
Example:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_delete_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpfile
|
||||
./tests/afp/afp_delete_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpfile
|
||||
```
|
||||
|
||||
Runtime status: the smoke suite now uses AFP Delete for pre-test cleanup and
|
||||
@@ -305,7 +305,7 @@ attributes, so regular files are not filtered out by the directory search bit.
|
||||
Example:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_rename_smoke -S MARS -U SUPERVISOR -P secret \
|
||||
./tests/afp/afp_rename_smoke -S MARS -U SUPERVISOR -P secret \
|
||||
SYS:PUBLIC/oldname SYS:PUBLIC/newname
|
||||
```
|
||||
|
||||
@@ -326,12 +326,12 @@ NCP 0x2222/35/12 AFP Get Entry ID From Path Name
|
||||
```
|
||||
|
||||
It uses libncp's `NWRequestSimple()` path, so it goes through the same client
|
||||
transport stack as other Linux ncpfs utilities.
|
||||
transport stack as other ncpfs-based utilities.
|
||||
|
||||
Example:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/afp/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
```
|
||||
|
||||
The test accepts NetWare-style `VOL:PATH` arguments. By default it sends the
|
||||
@@ -343,10 +343,10 @@ follow-up debugging of the separate directory-handle allocation path, and
|
||||
Useful smoke cases for a standard MARS-NWE `SYS` volume are:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:
|
||||
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./tests/linux/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:BURST
|
||||
./tests/afp/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:
|
||||
./tests/afp/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/afp/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./tests/afp/afp_entry_id_smoke -S MARS -U SUPERVISOR -P secret SYS:BURST
|
||||
```
|
||||
|
||||
A successful reply prints the request path, directory handle, and returned
|
||||
@@ -359,7 +359,7 @@ are expected to return invalid namespace. To treat that as a successful negativ
|
||||
smoke test, use:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_entry_id_smoke --allow-invalid-namespace -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/afp/afp_entry_id_smoke --allow-invalid-namespace -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
```
|
||||
|
||||
For path-resolution negative tests, use `--allow-invalid-path` to accept the
|
||||
@@ -383,10 +383,10 @@ handle 0 and base Entry ID 0.
|
||||
Useful smoke cases for a standard MARS-NWE `SYS` volume are:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_entry_id_smoke --from-name -S MARS -U SUPERVISOR -P secret SYS:
|
||||
./tests/linux/afp_entry_id_smoke --from-name -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/linux/afp_entry_id_smoke --from-name -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./tests/linux/afp_entry_id_smoke --from-name -S MARS -U SUPERVISOR -P secret SYS:BURST
|
||||
./tests/afp/afp_entry_id_smoke --from-name -S MARS -U SUPERVISOR -P secret SYS:
|
||||
./tests/afp/afp_entry_id_smoke --from-name -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/afp/afp_entry_id_smoke --from-name -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./tests/afp/afp_entry_id_smoke --from-name -S MARS -U SUPERVISOR -P secret SYS:BURST
|
||||
```
|
||||
|
||||
A successful reply prints the same 32-bit AFP Entry ID format as the path-name
|
||||
@@ -412,8 +412,8 @@ helper processes are not stable inputs for this request.
|
||||
Useful smoke cases for a standard MARS-NWE `SYS:PUBLIC` directory are:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_entry_id_smoke --from-handle -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/pmdflts.ini
|
||||
./tests/linux/afp_entry_id_smoke --from-handle -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/ohlogscr.bat
|
||||
./tests/afp/afp_entry_id_smoke --from-handle -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/pmdflts.ini
|
||||
./tests/afp/afp_entry_id_smoke --from-handle -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/ohlogscr.bat
|
||||
```
|
||||
|
||||
Successful replies print the resolved volume number, 32-bit AFP Entry ID, and
|
||||
@@ -452,10 +452,10 @@ Path until persistent CNID/base-ID lookup exists.
|
||||
Useful smoke cases for a standard MARS-NWE `SYS` volume are:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_temp_dir_handle_smoke -S MARS -U SUPERVISOR -P secret SYS:
|
||||
./tests/linux/afp_temp_dir_handle_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/linux/afp_temp_dir_handle_smoke -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./tests/linux/afp_temp_dir_handle_smoke -S MARS -U SUPERVISOR -P secret SYS:BURST
|
||||
./tests/afp/afp_temp_dir_handle_smoke -S MARS -U SUPERVISOR -P secret SYS:
|
||||
./tests/afp/afp_temp_dir_handle_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/afp/afp_temp_dir_handle_smoke -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./tests/afp/afp_temp_dir_handle_smoke -S MARS -U SUPERVISOR -P secret SYS:BURST
|
||||
```
|
||||
|
||||
On installations with another exported volume, the same helper can be run
|
||||
@@ -518,9 +518,9 @@ same connection.
|
||||
Useful smoke cases for a standard MARS-NWE `SYS` volume are:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_open_file_fork_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/pmdflts.ini
|
||||
./tests/linux/afp_open_file_fork_smoke --entry-id-only -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/pmdflts.ini
|
||||
./tests/linux/afp_open_file_fork_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/ohlogscr.bat
|
||||
./tests/afp/afp_open_file_fork_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/pmdflts.ini
|
||||
./tests/afp/afp_open_file_fork_smoke --entry-id-only -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/pmdflts.ini
|
||||
./tests/afp/afp_open_file_fork_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/ohlogscr.bat
|
||||
```
|
||||
|
||||
A file on another exported volume should be tested with its raw volume prefix
|
||||
@@ -551,10 +551,10 @@ Write access is tested on a temporary file created through AFP Create File and
|
||||
then removed with AFP Delete:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_create_file_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpwrit
|
||||
./tests/linux/afp_open_file_fork_smoke --access 0x02 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpwrit
|
||||
./tests/linux/afp_open_file_fork_smoke --entry-id-only --access 0x02 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpwrit
|
||||
./tests/linux/afp_delete_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpwrit
|
||||
./tests/afp/afp_create_file_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpwrit
|
||||
./tests/afp/afp_open_file_fork_smoke --access 0x02 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpwrit
|
||||
./tests/afp/afp_open_file_fork_smoke --entry-id-only --access 0x02 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpwrit
|
||||
./tests/afp/afp_delete_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/afpwrit
|
||||
```
|
||||
|
||||
Resource-fork opens (`--fork 1`) remain unsupported until AppleDouble/resource
|
||||
@@ -562,7 +562,7 @@ fork support exists. The smoke helper can assert the resource-fork rejection
|
||||
explicitly:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_open_file_fork_smoke --expect-completion 0x9c --fork 1 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/pmdflts.ini
|
||||
./tests/afp/afp_open_file_fork_smoke --expect-completion 0x9c --fork 1 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC/pmdflts.ini
|
||||
```
|
||||
|
||||
A rejected resource-fork probe should print:
|
||||
@@ -634,16 +634,16 @@ checks.
|
||||
Useful smoke cases for a standard MARS-NWE `SYS` volume are:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:
|
||||
./tests/linux/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/linux/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./tests/linux/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:BURST
|
||||
./tests/afp/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:
|
||||
./tests/afp/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/afp/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./tests/afp/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:BURST
|
||||
|
||||
# AFP 2.0 variant using the same path-backed read-only reply
|
||||
./tests/linux/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:
|
||||
./tests/linux/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/linux/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./tests/linux/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:BURST
|
||||
./tests/afp/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:
|
||||
./tests/afp/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/afp/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./tests/afp/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:BURST
|
||||
```
|
||||
|
||||
The AFP 2.0 mode is selected with `--afp20`. It has been verified against
|
||||
@@ -679,10 +679,10 @@ continuation token for the next call.
|
||||
Useful smoke sequence for a standard MARS-NWE `SYS:PUBLIC` directory:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_scan_info_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/linux/afp_scan_info_smoke --afp10 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/linux/afp_scan_info_smoke -S MARS -U SUPERVISOR -P secret --last-seen 0x260437f6 SYS:PUBLIC
|
||||
./tests/linux/afp_scan_info_smoke -S MARS -U SUPERVISOR -P secret --last-seen 0x6686342b SYS:PUBLIC
|
||||
./tests/afp/afp_scan_info_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/afp/afp_scan_info_smoke --afp10 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/afp/afp_scan_info_smoke -S MARS -U SUPERVISOR -P secret --last-seen 0x260437f6 SYS:PUBLIC
|
||||
./tests/afp/afp_scan_info_smoke -S MARS -U SUPERVISOR -P secret --last-seen 0x6686342b SYS:PUBLIC
|
||||
```
|
||||
|
||||
Verified runtime output from the sample `SYS:PUBLIC` tree after Entry IDs were
|
||||
@@ -788,7 +788,7 @@ same extended-attribute naming pattern used by Apple metadata backends.
|
||||
Example:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_set_file_info_smoke \
|
||||
./tests/afp/afp_set_file_info_smoke \
|
||||
-S MARS -U SUPERVISOR -P secret \
|
||||
--type TEXT --creator MARS \
|
||||
SYS:PUBLIC/pmdflts.ini
|
||||
@@ -800,7 +800,7 @@ The same FinderInfo payload can be sent through the older Set File Information
|
||||
subfunction:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_set_file_info_smoke \
|
||||
./tests/afp/afp_set_file_info_smoke \
|
||||
-S MARS -U SUPERVISOR -P secret \
|
||||
--afp09 --finder-info-only --type TEXT --creator MARS \
|
||||
SYS:PUBLIC/pmdflts.ini
|
||||
@@ -841,7 +841,7 @@ AFP Hidden is tested through the same NetWare attribute path as System and
|
||||
Archive:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_set_file_info_smoke \
|
||||
./tests/afp/afp_set_file_info_smoke \
|
||||
-S MARS -U SUPERVISOR -P secret \
|
||||
--attributes-only --hidden \
|
||||
SYS:PUBLIC/pmdflts.ini
|
||||
@@ -852,12 +852,12 @@ System, and Archive are routed through the existing NetWare file attribute store
|
||||
rather than the AFP metadata xattr:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_set_file_info_smoke \
|
||||
./tests/afp/afp_set_file_info_smoke \
|
||||
-S MARS -U SUPERVISOR -P secret \
|
||||
--attributes-only --system \
|
||||
SYS:PUBLIC/pmdflts.ini
|
||||
|
||||
./tests/linux/afp_set_file_info_smoke \
|
||||
./tests/afp/afp_set_file_info_smoke \
|
||||
-S MARS -U SUPERVISOR -P secret \
|
||||
--attributes-only --archive \
|
||||
SYS:PUBLIC/pmdflts.ini
|
||||
@@ -913,7 +913,7 @@ the AFP/NW DOS date+time fields and verifies through the follow-up Get File
|
||||
Information response:
|
||||
|
||||
```sh
|
||||
./tests/linux/afp_set_file_info_smoke \
|
||||
./tests/afp/afp_set_file_info_smoke \
|
||||
-S MARS -U SUPERVISOR -P secret \
|
||||
--timestamp-only --mtime-epoch 1700000000 \
|
||||
SYS:PUBLIC/pmdflts.ini
|
||||
|
||||
Reference in New Issue
Block a user