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
|
On running 'make check':
The test methodology here is to run the powerman daemon as a child
of the powerman client, connected via pty. The powerman daemon in
turn spawns copies of 'vpcd' (virtual power control device), connected
via ptys. Each test starts a fresh powerman+powermand+vpcd(s) so no
state is preserved between tests. Root privilage or available well known
ports are not required to run these tests.
The client can send multiple commands, so we can send commands and
change state and then query the state to see what happened.
The output of each command is compared against expected output.
The tests are summarized here:
t00-t03
pluglist.c tests using tpl.c.
t04
argv.c test using targv.c.
t05
xregex.c tests using tregex.c.
t06
Check power status query options
pm --query-all --query t1 --query t[3-5]
t07
Check power status query options with no status_all script implemented.
pm --query-all --query t1 --query t[3-5]
t08
Telemetry option check.
pm --telemetry --query-all
t09
Check handling of large volume (size < min)
of data returned by device.
pm --telemetry --query-all
t10
Check handling of large volume (min < size < max)
of data returned by device.
pm --telemetry --query-all
t11
Check power options.
pm --query-all --on t4 --query-all --off t4 --query-all \
--cycle t5 --query-all
t12
Check handling of "dangling" target args.
pm --query t1 t2
t13
Check beacon options:
pm --beacon-all --flash t[13-15] --beacon-all --unflash t13 \
--beacon-all --beacon t13 --beacon t14
t14
Check temperature options:
pm --temp-all --temp t13 --temp t[13-15]
t15
Check reset options
pm --reset t1 --reset t[3-5]
t16
Check list and device options
pm --list \
--device-all --query t1 --device-all --query t1 --device test0
t17
Check handling of large volume (max < size)
of data returned by device.
pm --telemetry --query-all
t18
Check handling of large volume (2*max < size)
of data returned by device.
pm --telemetry --query-all
t19
Check timeout/reconnect.
pm -I --query-all <modified to hang>
t20
Check timeout/reconnect with partial success (32 plugs).
pm -I --query t[14-18] <partial hang> --query t[16-31] <wont hang>
t21-t22
Test baytech-rpc3-nc script using baytech.c.
t23-t24
Test baytech-rpc28-nc script using baytech.c.
t25-t26
Ensure that delays are process expeditiously.
t27-t28
Test baytech script using baytech.c.
t29-t30
Test icebox v3 using icebox.c.
t31-t32
Test icebox v2 using icebox.c.
t33-t34
Test icebox v4 using icebox.c.
t35
Powerman as a pseudo-power controller, direct mapping.
t36
Powerman as a pseudo-power controller, remapped.
t37-38
Test hp3488 using gpib.c
t39-40
Test ics8064 using gpib.c
t41
Test plmpower using plm.c
t42-t43
Test DLI LPC using dli.c
t44
Test Sun ILOM using ilom.c
t45
Test Rackable Phantom using phantom.c
t46
Test cyclades pm8/pm10 using cyclades.c
t47
Test FreeIPMI ipmipower using ipmipower.c
t48
Run some simple vpcd tests using sockets.
t49
Test libpowerman API
t50
Test bashfun demo script.
t51
Test Sun LOM using lom.c
|