SCO OpenServer 5
ant(1Mcert)
ant --
automated test and certification suites for SCO OpenServer 5 MDI network adapter drivers
Synopsis
cd /usr/lib/ant
./ant [test]
Description
The ant (Automated Network Test) suites
provide comprehensive tests for network adapter hardware
and associated drivers on SCO OpenServer 5 systems.
The
ndtests(1Mcert)
suites provide similar testing
for SVR5 network adapters.
SCO uses these tests to certify hardware and drivers
from independent hardware vendors (IHVs),
but the test suites are useful for any driver developer or tester
who needs to verify the quality of a device and driver.
ANT contains tests
that verify the integrity of the device and driver
as well as tests that verify
a protocol stack over the driver being tested.
ANT contains several tests that can be run
either individually or as a group.
All test are developed in
the OSF Test Environment Toolkit (TET),
although it is not necessary
to learn TET to use the test suite.
The following test packages are provided:
mdi_unit-
Verify conformance to the MDI specification.
dlpi_unit-
Verify that the MDI driver correctly interfaces
with the DLPI module
under normal operation.
load-
Stresses the driver
for an extended period of time
and gathers statistics about failures, timeouts,
and apparent memory leaks for the driver.
perf-
Measures transmision and reception characteristics
for different packet sizes and speeds.
The test measures percent CPU overhead to achieve
and actual rate achieved by the driver.
ncard-
Verifies that the driver works correctly
with the maximum number of cards specified
and that the cards are logically distinct
for data communication.
tcp-
Verifies that the driver works with the TCP/IP protocol.
nfs-
Verifies that the driver works with the NFS protocol.
ipx-
Verifies that the driver works with the SPX/IPX protocol.
Usage
The ANT suite requires two test systems,
called ``master'' and ``slave''.
Master (machine 1) is the machine
where the adapter being tested is installed;
the slave (machine 2) can use either the adapter being tested
or another network card that has been tested.
These systems should have a fresh install of
the SCO OpenServer 5 Release 5 Enterprise operating system
and should be on an isolated network.
The SCO OpenServer 5 Release 5 Enterprise System
is required to ensure that all networking components
are installed.
Problems that are detected in the driver being tested
could corrupt the network,
and the load tests may adversely affect
the performance of other activities on the network.
HDK web page.
Running ANT suites
-
Log in as root.
-
Invoke the ANT suite menu by running the following
on both the master and slave systems:
cd /usr/lib/ant
./ant
Select the test suite you want to run
from those described below.
Tests can instead be run directly from the command line.
For example, to run the mdi_unit test only:
cd /usr/lib/ant
./ant mdi_unit
You must run the same ant test
on both the master and slave machines.
The test can be initiated on either machine first;
the tests are self-synchronizing.
All SCO OpenServer 5 ANT tests must be run in init state 2.
-
The tests run without user intervention.
Log files are produced during the testing
in the /usr/lib/ant/ts_ant/results directly.
The results file are numbered in the order they are run,
so the files are named 0001e/journal,
0002e/journal, and so forth.
When the tests complete,
examine these log files for any errors
by selecting the R option
("generate summary report of all test reports")
to the ANT suites menu.
Note that the ANT journals
are not in compressed format like the
SVR5 ndtests journals are.
-
Modify the drivers to correct these errors,
and rerun the tests.
-
Catastrophic test suite failures,
such as a panic,
must be cleaned up by running the following:
cd /usr/lib/ant
./antclean
Do not run X Windows while running the
ANT test suites
to avoid false STREAMS checks.
Detailed description of ANT tests
Each ANT test executes a series of subtests.
The logfile identifies each subtest that is run,
may give other output from the subtest,
and ends with one of the following lines:
subtestname: PASS
subtestname: FAIL
subtestname: ABORT
For any tests marked FAIL,
correct the driver and rerun the tests.
Drivers must PASS all tests.
mdi_unit test
The mdi_unit test verifies
conformance to the MDI specification.
The subtests are:
frametest-
Send and receive all packet sizes, one at a time.
Padding and every byte within each packet
is verified to see that it did not change.
Addressing is point-to-point.
framemcst-
Same as frametest except that
multicast addresses
are used.
framebcst-
Same as frametest except that
broadcast addresses
are used.
framembcst-
Same as frametest except that
multicast broadcast addresses
are used.
loopback-
Send packets to self.
They should go out on the wire
as well as be looped back.
A network monitor is required to verify.
loopmcst-
Send packets to a multicast address
to which the driver is listening;
test loopback to multicast address.
loopbcst-
Test loopback to broadcast addresses.
All packet sizes are checked.
loopmbcst-
Test loopback when sent to the token-ring
multicast broadcast address.
Used only for Token-Ring drivers.
bind-
Test that bind state transitions are correct.
multicast-
Test all multicast primitive work.
The size of the multicast table is also checked.
promisc-
(Not implemented)
Verify the functionality of promiscuous mode; see
``Promiscuous mode'' in HDK Technical Reference
for more information.
symchk-
Check external symbol names in driver
to verify that they start with the driver
prefix(D1).
This is to avoid name space collision; see
``Guidelines for all kernel drivers'' in Developing device drivers.
strchk-
Verify that the number of free message headers,
buffer headers, and data blocks of various sizes
are the same before and after the ANT test.
This runs as part of the mdi_unit test finish
and not as a separate subtest.
dlpi_unit test
The dlpi_unit test verifies
that the MDI driver correctly interfaces
with the DLPI module
under normal operation.
The subtests are:
frametest-
Send and receive all packet sizes, one at a time.
Padding and every byte within each packet
is verified to see that it did not change.
Addressing is point-to-point.
framemcst-
Same as frametest except that
multicast addresses
are used.
framebcst-
Same as frametest except that
broadcast addresses
are used.
framembcst-
Same as frametest except that
multicast broadcast addresses
are used.
loopback-
Send packets to self.
They should go out on the wire
as well as be looped back.
A network monitor is required to verify.
loopmcst-
Send packets to a multicast address
to which the driver is listening;
test loopback to multicast address.
loopbcst-
Test loopback to broadcast addresses.
All packet sizes are checked.
loopmbcst-
Test loopback when sent to the token-ring
multicast broadcast address.
Used only for Token-Ring drivers.
largepkt-
Try to reload a packet that is larger
than max_pdu;
the reload should fail.
saptest-
Verify that BIND operations to various SAPs
that are near the ends of the supported ranges succeed.
Attempt to BIND to bad SAPs;
this should fail.
bindmax-
Test that exactly 16 opens and binds are supported.
bindbad-
Test the endpoints of SAP ranges
+/- 1 to verify that the ranges
are checked correctly.
bind-
Test that bind state transitions are correct.
unbind-
Test bind/unbind/bind state transitions.
multicast-
Test all multicast primitive work.
The size of the multicast table is also checked.
strchk-
Verify that the number of free message headers,
buffer headers, and data blocks of various sizes
are the same before and after the ANT test.
This executes as part of the dlpi_unit test finish
and not as a separate subtest.
load test
The load test stresses the driver
for an extended period of time
and gathers statistics about failures, timeouts,
and apparent memory leaks for the driver.
The subtests are:
loadtest-
Create many pairs of send and receive channels
to send large number of big packets.
strchk-
Verify that the number of free message headers,
buffer headers, and data blocks
of various sizes are the same
before and after the ANT test is run.
perf test
The perf test
measures transmission and reception characteristics
for different packet sizes and speeds.
The test measures percent CPU overhead to achieve
and actual rate achieved by the driver.
The subtests are:
txdirect-
Transmission test and analysis.
rxdirect-
Reception test and analysis.
ncard test
The ncard test verifies
that the driver works correctly
with the maximum number of cards specified
and that the cards are logically distinct
for data communication.
Before running the test,
the user can configure multiple cards with the
netconfig utility.
Add a new ANT chain over the card
that has not yet been configured into the system.
Repeat this process until you have configured
the maximum number of cards that the driver supports.
Relink, reboot, and verify that all cards
are recognized correctly
before running the ncard test.
The subtests are:
loadtest-
Create pairs of send and receive channels
between all cards configured
on the two test machines
and send many big packets back and forth.
strchk-
Verify that the number of free message headers,
buffer headers, and data blocks of different sizes
are the same before and after the ANT test.
tcp test
The tcp test verifies
that the driver works with the TCP/IP protocol.
The subtests are:
start/stop-
Bring up and shut down the TCP/IP stack.
ping-
Send ICMP packets and acknowledge receipts.
ftp-
Copy large files using the ftp protocol.
telnet-
Login to remote host
and cat the /etc/termcap file.
nfs test
The nfs test verifies
that the driver works with the NFS utilities.
The subtests are:
start/stop-
Bring up and shut down the NFS subsystem.
mount-
Mount and unmount remote file systems.
cp-
Copy large files using the NFS protocol.
ipx test
The ipx test verifies
that the driver works with the IPX/SPX protocol.
The subtests are:
start/stop-
Bring up and shut down
the IPX/SPX stack.
nping-
Send low level IPX packets
and acknowledge receipt.
tispx/tispxd-
Transfer data using the TLI test application.
nlogin-
Login to remote host
and cat the /etc/termcap file.
Version applicability
mdi:
1 on any SCO OpenServer 5 Enterprise release.
Files
/usr/lib/ant directory-
home directory for the ANT suite,
created when the test package is installed.
/usr/lib/ant/src directory-
source for the test suite utilities
/usr/lib/ant/ts-ant/<test>-
scripts for the test suites
References
ndtests(1Mcert),
``Testing and debugging MDI drivers'' in Developing MDI network adapter drivers
``Testing SCO OpenServer 5 network adapter drivers'' in Developing MDI network adapter drivers
``Using the SVR5 ndcert test suites'' in Developing MDI network adapter drivers
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005