This repository has been 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
/
README
149 lines (109 loc) · 3.87 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
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!