![]() |
AIX V5.2.0 and VST5 Test Suite installation
1. Testing_Environment
1.1 Hardware_Environment
Two IBM Risc System 6000, Models (43P-150 and F50) with ethernet adapters
using ethernet network interface were used for this conformance
test run.
1.2 Software_Environment
o Install AIX 5.2.0 base operating System.
bos.adt 5.2.0.0
bos.net 5.2.0.0
bos.loc.adt.locale 5.2.0.0
vac.C 6.0.0.0
xlC.msg.en_US.rte 6.0.0.0
xlC.rte 6.0.0.0
o X/Open System Verification Suite, VST(XTI) Release 5.2.6
master.cpio.Z
slave.cpio.Z
o TETWare Unsupported Release 3.3g
tet3.3g-unsup.src.tar.Z
1.3 Installation_Process
The following AIX-specific procedures were used to configure
the RISC System/6000 for VST 5.2.6 running in UNIX98 mode.
The following should be performed as user root on both the
master system and the slave system unless otherwise stated.
1.3.1 PREPARATION
o Both systems needs at least 20 Mb of free space.
o Make directory on the master system.
mkdir /home/master
o Make directory on the slave system.
mkdir /home/slave
o Add the following users using the following commands:
On the master system:
mkuser id='5001' home='/home/master/vst' master
Set the password for master using "passwd master" command.
Change ownership of home directories.
chown -R master /home/master
On the slave system:
mkuser id='5002' home='/home/slave/vst' slave
Set the password for slave using "passwd slave" command.
Change ownership of home directories.
chown -R slave /home/slave
o Modify the .profile file for users master and slave in
/home/master/vst and /home/slave/vst to contain the
following information on both systems:
TET_EXECUTE=$HOME/TESTROOT
TET_ROOT=$HOME/..
PATH=$PATH:$HOME/../bin:$HOME/BIN
export TET_EXECUTE TET_ROOT PATH
export LANG=C
set -o vi
o Configure the network on both the master and the slave
systems, if it is not configured. For this test, we
used the standard token network interface.
Configure TCP/IP on the master system:
/usr/sbin/mktcpip -h 'unix3.aixpclab.austin.ibm.com' \
-a '9.3.77.63' -m '255.255.255.128' -i 'en0'
Configure TCP/IP on the slave system:
/usr/sbin/mktcpip -h 'unix8.aixpclab.austin.ibm.com' -a \
'9.3.77.68' -m '255.255.255.128' -i 'en0'
o Load the TETWare distribution in the directory
/home/master and /home/slave following the instructions below:
NOTE: Repeat the following actions for the master and
slave system.
Login as root on appropriate system.
TETWare is packed into a file called tet3.3g-unsup.src.tar.Z
Change directory to $HOME/.. and issue
zcat tet3.3g-unsup.src.tar.Z | tar -xf -
o Load the master system of the XTI VST distribution in
the directory /home/master/vst on the master machine.
Login as master.
The master system of the VST distribution is packed
into a file called master.cpio.Z, copy this to $HOME.
Unpack the distribution using
zcat master.tar.Z | tar xf -
o Load the slave system of the XTI VST distribution in
the directory /home/slave/vst on the slave machine.
Login as slave.
Unpack the distribution using
zcat slave.tar.Z | tar -xf -
o Configure and build TETWare.
NOTE: Repeat the following actions for the master and
slave system.
Login as master or slave on appropriate system.
Change directory to $HOME/../src/tet3/tccd
Edit tccd_xt.c, change line 85 to the following:
char *tet_tpname="/dev/xti/tcp";
Change directory to $TET_ROOT
chmod +wx configure
Edit configure add the following lines after the aix43 section
*-ibm-aix5*)
fname=aix43.mk
;;
./configure -t xti
Change directory to $TET_ROOT/src
Edit defines.mk and make the following changes:
TCCD = tccd
DTET_CDEFS = -DTCPTPI -DSVID3_POLL -D_ALL_SOURCE -D_LONG_LONG -qlonglong
THR_COPTS = THREADS_NOT_SUPPORTED
SYSLIBS =-lxti
Type "make ; make install".
1.3.2 CONFIGURATION
o Configure_the_master_system
Login as master.
Type: config.sh and answer the questions as follows:
Which of the above parameter files do you wish to
use in this installation procedure [none]? aix
Which test mode do you require (XPG4 or UNIX98)
[XPG4]? UNIX98
Which transport protocols does your _compilation_ system support? INET
What is your name [Unknown]? Bill Toth
What is the agency for whom you are running the test
suite [Unknown]? IBM Open Systems Conformance Center (F006)
What is the system being tested [AIX]?
Where is the root directory of the tree from which
the testsets will be executed [/home/master/vst/TESTROOT]?
How fast is your master/slave combination (1=very fast, 10=slow) [5]?
What is your C compiler called [/usr/bin/cc]? /usr/bin/c89
What feature test macros and other macro definitions
does your C compiler need [-D_XOPEN_SOURCE=500 D_LONG_LONG -qlonglong]?
What command line options does your C compiler need,
e.g. to select ANSI mode or search extra directories
for include files [none]?
What link editor options does your C compiler need [none]?
The following additional libraries are needed to
compile the test suite -lxti Is this correct (y/n) [y]?
What is the hostname of your master system [unix3.aixpclab.austin.ibm.com]?
What is the hostname of your slave system []? unix8.aixpclab.austin.ibm.com
Where is the TET_ROOT directory on the slave system []? /home/slave
o Edit the $HOME/Makefile (as root) and make the following change:
VST_OWNER = master
o Copy the $HOME/SRC/userintf.ip to
$HOME/SRC/userintf.c.
o chmod 600 $HOME/SRC/userintf.c.
o Edit the $HOME/SRC/userintf.c and make the following changes:
Remove the #undef and #define for *_SOURCE at the beginning of the file
In the u_getaddr() routine, add the following statement before
"s->sin_family = AF_INET;" line:
s->sin_len = sizeof (struct sockaddr_in);
In the u_rcvaddr() routine, add the following statement before
"s.sin_family = AF_INET;" line:
s.sin_len = sizeof (struct sockaddr_in);
In the u_privaddr() routine, add the following lines in the
beginning of the routine:
/* AIX supports TACCES in t_bind and not in t_accept for this */
static struct netbuf zerolenbuf;
if (geteuid() == 0)
return &zerolenbuf;
In the u_priv_opt() routine, remove the following lines after
"case INET_TCP:" statement:
if (state != T_UNBND)
{
if (getoptlist(INET_TCP, TCP_KEEPALIVE, 0,state,
&value, &len, 0) != -1)
addoption(&req.opt, &popt, INET_TCP, TCP_KEEPALIVE,
(void *)value, len);
}
At the bottom of this file, make the following changes in the elements
of "public struct table opt_list[]":
OLD LINES:
{ INET_UDP, UDP_CHECKSUM, OPT_SUPP, OPT_ASSOC, (char *) &yesval,
sizeof(long) },
{ INET_IP, IP_OPTIONS, OPT_SUPP, OPT_ASSOC,(char *) NULL,0 },
{ INET_IP, IP_TOS, OPT_SUPP, OPT_ASSOC,
(char *) &type_of_serv, sizeof(char) },
NEW LINES:
{ INET_UDP, UDP_CHECKSUM, OPT_SUPP, OPT_MGMT, (char *) &yesval,
sizeof(long) },
{ INET_IP, IP_OPTIONS, OPT_MGMT, OPT_ASSOC,(char *) NULL,0 },
{ INET_IP, IP_TOS, OPT_SUPP, OPT_MGMT, (char *) &type_of_serv,
sizeof(char) },
o Configure_the_slave_system
Login as slave.
Edit the $HOME/defines.mk file and make following changes:
TEST_MODE=UNIX98
CC=/bin/c89
DEFINES=-D_XOPEN_SOURCE=500
SYSLIBS=-lxti
MASTER_NAME=unix3.aixpclab.austin.ibm.com
Edit the $HOME/Makefile and make the following change:
VST_OWNER = slave
Copy the $HOME/usrint_s.ip to $HOME/usrint_s.c.
Chmod 600 $HOME/usrint_s.c.
Edit the $HOME/usrint_s.c and make the following changes:
Remove the #undef and #define for *_SOURCE at the beginning of the file
In the u_getaddr() routine, add the following statement before
"s->sin_family = AF_INET;" line:
s->sin_len = sizeof (struct sockaddr_in);
In the u_rcvaddr() routine, add the following statement before
"s.sin_family = AF_INET;" line:
s.sin_len = sizeof (struct sockaddr_in);
1.3.3 INSTALLATION
o Installation_for_the_master_system
Login as master.
Type: su root -c make
The above command will prompt for root passwd and then
makes all necessary libraries and binaries.
Check the installation log in the $HOME/results
directory to ensure that no errors have occurred.
Edit the $HOME/tetdist.cfg file and add the following
lines:
TET_XTI_TPI=/dev/xti/tcp
TET_XTI_MODE=tcp
TET_LOCALHOST=9.3.77.63 # master system ip address
Edit the $HOME/../systems file and add the following to establish
the connection with the slave system : 100204d309034d440000000000000000
(where 09039bb1 is the converted ip address)
so, the lines will look like:
0 unix3.aixpclab.austin.ibm.com 100204d309034d3f0000000000000000
1 unix8.aixpclab.austin.ibm.com 100204d309034d440000000000000000
Type: mkdir $HOME/SRC/SYSINC
o Installation_for_the_slave_system
Login as slave.
Type: su root -c make
The above command will prompt for root passwd and then
makes all necessary libraries and binaries.
1.3.4 Building VST
o Start the tccd on the master. Log onto the master system
as user master and issue the following from the home
directory:
tccd -m tcp -P /dev/xti/tcp -p 100204d309034d3f0000000000000000 -u master
The above command logs all information under the
/tmp/tccdlog file. Check for any errors in this file.
o Start the tccd on the slave. Log onto the slave system
as user slave and issue the following from the home
directory:
tccd -m tcp -P /dev/xti/tcp -p 100204d309034d440000000000000000 -u slave
The above command logs all information under the
/tmp/tccdlog file. Check for any errors in this file.
o Start the build process on the master. This will use
TETware to build the testcases on both the master and
slave systems. Log onto the master as user master and
issue the following command from the home directory:
tcc -b vst
o Verify that all tests build correctly. Look in the
journal file indicated by the command in the previous
step and verify that there are no "FAIL" indications.
1.3.5 Executing VST
o Edit the $HOME/TESTROOT/tetexec.cfg file on the master
system and make the following changes:
VST_MASTER_PROVDET_FILE=/u/master/vst/TESTROOT/provdet.org
VST_INVALID_T_STRUCT=-1
VST_INVALID_T_ERRNO=50
VST_INVALID_OFLAG=O_NDELAY
VST_INVALID_DEVNAME=/dev/tcp
VST_INVALID_OPT_FLAG=-1
VST_SND_TBADFLAG=-1
VSX_CC=/usr/bin/c89
VSX_CFLAGS= -D_XOPEN_SOURCE=500
o Type: chmod 600 $HOME/TESTROOT/provdet.org
o Edit the $HOME/TESTROOT/provdet.org file on the master
system and make the following change:
Comment all ISO related lines, add "#" in front of all ISO.
"TCP" "/dev/xti/tcp" COTSORD TCP,!mulbind,!accaddrsame
"UDP" "/dev/xti/udp" CLTS UDP
o Edit the $HOME/tetexec.cfg file on the slave system
the following change:
VST_SLAVE_PROVDET_FILE=/u/slave/vst/provdet.org
o Type: chmod 600 $HOME/provdet.org
o Edit the $HOME/provdet.org file on the slave system
and make the following change:
Comment all ISO related lines, add "#" in front of all ISO.
"TCP" "/dev/xti/tcp" COTSORD TCP,!mulbind,!accaddrsame
"UDP" "/dev/xti/udp" CLTS UDP
o On the master system, as user master issue the
following command in the home directory:
tcc -e vst
o Generate a report as described in the "X/Open XTI Test
Suite User and Installation Guide VST Release 5.2.6"
under the section "REPORTING"
Copyright © 2002 International Business Machines Corporation.
All Rights Reserved.
OSF/1, Motif, UNIX, and the "X" device are registered trademarks in the U.S. and other countries, and IT DialTone and The Open Group are trademarks of The Open Group.