This repository was archived by the owner on Oct 17, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Netatalk AFP specification test suite [DEPRECATED: code merged into netatalk repo]
License
Netatalk/afptest
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
The Netatalk Test-Suite
=======================
This suite contains, in the subdir "test", several small utilities
aimed at testing
a) AFP Server conformance to the AFP Specs, eg. `spectest`
b) benchmarking AFP Servers, eg. `lantest`
For end users the most useful utility is probably `lantest` which
is a CLI counterpart for the famous HELIOS Lan Test.
Tests prg in test directory:
============================
Spec conformance tests:
-----------------------
./spectest:
AFP spec test. Assume exported volumes are only modified with netatalk.
./sleeptest:
AFP spec tests for sleeping (FPZzz), no included in spectest
./logintest:
AFP spec tests for DSI and login. Not included in spectest.
./rotest:
AFP spec tests on a read only volume. Not included in spectest.
./failed_spectest:
AFP spec tests which fail with current netatalk but pass on a Mac.
./T2_spectest
AFP spec tests when .AppleDouble is missing or bogus.
Requires local access to volume (-c option).
Benchmarking
------------
./lantest
Netatalk implementation of HELIOS Lan Test.
./postmark
Classic postmark benchmark with AFP commands.
./speedtest
Bench Read, Write and file copy (either Read/Write or FPCopyFile),
it can also run the same tests using Posix syscalls and can
be use for testing afpd speed against local or others protocols.
Misc
----
Helpers and benchmarks:
./afparg
The beginning of an AFP CLI client, cf ./afparg -l
FPResolveID <file CNID>
FPCopyFile <source> <dest>
./afp_ls
'minimal' ls using AFP commands. Should be migrated to afparg.
Compilation
===========
(from Git: ./autogen.sh)
./configure
make
Configuration for running the APF spec tests
============================================
- 2 users: <user1> <user2> with the same password
- 3 group: <gp1> <gp2> <common>
- with gp1:user1, gp2:user2, common:user1, user2
- clear text UAM
- an empty volume:
drwxrwsr-x 5 user1 common 176 avr 27 23:56 test/
- some tests need a small read write volume, I'm using a 2 MBytes loopback
example for
afp.conf:
#<<<<<<
[Global]
uam list = uams_clrtxt.so uams_guest.so
# volume mount read only
# not empty at least 2 files and one folder (empty).
[cdrom]
path = /mnt/cdrom
vol dbpath = /opt/var/afpd/cdrom
[test]
path = /u/test
#<<<<<<<<
For testing with a Mac, same config (user1 or user2 are not owner)
make check
----------
You can also run the complete spectest (one user, two users, local access) with
`make check`. To do so, run:
- `make check` once in order to generate a boilerplate config file "spectest.conf"
- edit "spectest.conf" to suit your need
- run `make check` again
Return Code
-----------
0 PASSED
1 FAILED
2 NOT TESTED the test failed too early
spectest, logintext and rotest shall return the same results whether they are run
on a Mac server or afpd.
Example:
--------
Run all tests on server 192.168.2.123
spectest -h 192.168.2.123 -u user1 -d usr2 -s test -w toto
Same but on a Mac
spectest -m -h 192.168.2.64 -u user1 -d usr2 -s test -w toto
Run FPByteRangeLock tests with AFP 3.0, two different servers are exporting the same volume.
T2_spectest -f FPByteRangeLock -3 -h 192.168.2.123 -H 192.168.2.124 -u user1 -d usr2 -s test -c /u/test -w toto
At least on linux, it's possible to compile them with LDFLAGS=-rdynamic
and the program can run individual test:
./T2_spectest -4 -u <user> -d <seconduser> -w <passwd> -s <vol> -c <path> -f test235
Tests output
------------
Test name
if the test is not executed, reason, ex: SKIPPED (need AFP 3.x)
list of AFP calls executed with error code if any
if Mac result and Netatalk differ or if Mac result differ between versions, Mac result
Ex:
header.dsi_code -5000 AFPERR_ACCESS
MAC RESULT: -5019 AFPERR_PARAM -5010 AFPERR_BUSY
Netatalk returns AFPERR_ACCESS when a Mac return AFPERR_PARAM or AFPERR_BUSY
if Mac and Netatalk now return the same result:
Warning MAC and Netatalk now same RESULT!
About
Netatalk AFP specification test suite [DEPRECATED: code merged into netatalk repo]
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published