International Business Machines Corporation Appendix

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.


Copyright © 1998 The Open Group. 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.


[ Home ] [ Testing Home ] [ Send Feedback ]