Updated SRPT documentation.
[mirror/scst/.git] / srpt / Testing.txt
1 The following tests must be run at least before releasing a new SRPT version:
2
3 * Make sure that SRPT compiles and installs without triggering any
4   compiler warning. Use the following command to compile and install SRPT:
5
6   for d in scst srpt; do make -C $d -s clean && make -C $d -s install; done 
7
8 * Verify the output of run-regression-tests for kernel versions starting at
9   2.6.23 up to and including the latest released kernel.
10
11 * Verify that SRPT compiles, installs and works fine when following the
12   instructions in README.ofed for the latest released OFED distribution and
13   at the latest released CentOS, Ubuntu and openSUSE distributions.
14
15 * Verify that module loading and unloading works fine.
16
17 * Verify that rejecting logins does not trigger a memory leak, e.g. as follows:
18   * Run the following command on the target system:                              
19       ${SCST_TRUNK}/scripts/monitor-memory-usage | tee memlog.txt  
20   * Run the following command on the initiator system:                           
21       for ((i=0;i<100000;i++)); do echo 'id_ext=0002c9030003cca2,ioc_guid=0002c9030003cca2,pkey=ffff,dgid=fe800000000000000002c9030003cca3,service_id=0002c9030003cca3' >/sys/class/infiniband_srp/srp-mlx4_0-1/add_target ; done                
22
23 * Verify that an I/O stress test runs fine by running the following command
24   on an initiator system after having created two partitions:
25
26 fio <<EOF
27 [global]
28 bs=1M
29 direct=1
30 ioengine=sync
31 verify=meta
32 rw=write
33 verify_fatal=1
34 verify_async=1
35 loops=10
36
37 [partition1]
38 filename=/dev/sdb1
39
40 [partition2]
41 filename=/dev/sdb2
42 EOF
43
44 * Verify that a SCSI reset works properly by running the following command
45   on an initiator system:
46
47     sg_reset -d ${initiator_device}
48
49 * Run the following command on a target system:
50
51     while true; do /etc/init.d/scst stop; sleep 3; /etc/init.d/scst start; sleep 5; done
52
53   and the following commands on an initiator system:
54
55     target_id="id_ext=0002c9030003cca2,ioc_guid=0002c9030003cca2,dgid=fe800000000000000002c9030003cca3,pkey=ffff,service_id=0009030003cca2,ioc_guid=0002c9030003cca2,dgid=fe800000000000000002c9030003cca3,pkey=ffff,service_id=0002c9030003cca2"
56     while true; do date; rmmod ib_srp; modprobe ib_srp; echo "${target_id}" > /sys/class/infiniband_srp/srp-mlx4_0-1/add_target; sleep 2; done
57
58   and verify that nothin unexpected happens.