Diff for /wikisrc/tutorials/how_to_run_tet_framework.mdwn between versions 1.1 and 1.2

version 1.1, 2011/11/20 20:55:21 version 1.2, 2012/02/05 07:14:36
Line 1 Line 1
 **Contents**  **Contents**
   
 [[!toc levels=2]]  [[!toc levels=2]]
   
 #  What TET is  #  What TET is 
   
 The TETware family of tools are Test Execution Management Systems that takes care of the administration, sequencing, reporting and portability of all of the tests that you develop. Freeing up developers to concentrate on test development and helping testers by providing them with a single, standard, test harness. Enabling you to deliver your software projects on time and across multiple operating systems. They are all available off-the-virtual-shelf. Easily accessed by ftp download. So stop re-inventing the wheel, take the drudge out of test development and use TETware.  The TETware family of tools are Test Execution Management Systems that takes care of the administration, sequencing, reporting and portability of all of the tests that you develop. Freeing up developers to concentrate on test development and helping testers by providing them with a single, standard, test harness. Enabling you to deliver your software projects on time and across multiple operating systems. They are all available off-the-virtual-shelf. Easily accessed by ftp download. So stop re-inventing the wheel, take the drudge out of test development and use TETware. 
   
 #  Reason of this article  #  Reason of this article 
   
 There is an artcile describes how to build and run TET framework from scratch. The pkgsrc version has several restrictions:  There is an artcile describes how to build and run TET framework from scratch. The pkgsrc version has several restrictions: 
   
   * the recent version not available until now    * the recent version not available until now 
   * necessary to have the pkgsrc infrastructure    * necessary to have the pkgsrc infrastructure 
   * only distributed version of TET is provided    * only distributed version of TET is provided 
   
 However, you may apply patches from the pkgsrc tree (for example the patch-ad still can be applied for distributed TET).  However, you may apply patches from the pkgsrc tree (for example the patch-ad still can be applied for distributed TET). 
   
 #  Porting to NetBSD  #  Porting to NetBSD 
   
 Current opensourced version is 3.7a. To download or check new versions look to the Links section below. (The guide was tested at least on the NetBSD-current/i386 and NetBSD-current/ARMv6)  Current opensourced version is 3.7a. To download or check new versions look to the Links section below. (The guide was tested at least on the NetBSD-current/i386 and NetBSD-current/ARMv6) 
   
 #  Patchset  #  Patchset 
   
 [The simply patch](/images/TET-Configure.diff) would be applied before compilation is started.  [The simply patch](/images/TET-Configure.diff) would be applied before compilation is started. 
   
 #  Prebuild  #  Prebuild 
   
   * After applying patch you'll need to copy the proper makefile    * After applying patch you'll need to copy the proper makefile 
          
     cp src/defines/UNTESTED/freebsd.mk src/defines/netbsd.mk      cp src/defines/UNTESTED/freebsd.mk src/defines/netbsd.mk
          
   
   * Make the $TET_ROOT directory like _/opt/tet3_    * Make the $TET_ROOT directory like _/opt/tet3_
   * Copy content of TET sources tree to $TET_ROOT    * Copy content of TET sources tree to $TET_ROOT 
   
 **Notice to get distributed TET**:  **Notice to get distributed TET**: 
   
   * Create regular user _tet_ on the target system with home path as $TET_ROOT without real shell    * Create regular user _tet_ on the target system with home path as $TET_ROOT without real shell 
   
 #  Build  #  Build 
   
   * Change working directory to $TET_ROOT    * Change working directory to $TET_ROOT 
   * Build framework    * Build framework 
          
     ./configure -t <style>      ./configure -t <style>
     cd src      cd src
     make      make
     make install      make install
          
   
 where <style> means Lite (_-t lite_) or Distributed (_-t inet_) version of TET framework.  where <style> means Lite (_-t lite_) or Distributed (_-t inet_) version of TET framework. 
   
 **Notice to get distributed TET**:  **Notice to get distributed TET**: 
   
   * Change owner of the $TET_ROOT to _tet_ recursively    * Change owner of the $TET_ROOT to _tet_ recursively 
   
 #  Update user's files  #  Update user's files 
   
   * Put to your ~/.profile    * Put to your ~/.profile 
          
     # TET      # TET
     export TET_ROOT="/opt/tet3"      export TET_ROOT="/opt/tet3"
     export PATH=$PATH:$TET_ROOT/bin      export PATH=$PATH:$TET_ROOT/bin
          
   
 #  System files correction (distributed TET)  #  System files correction (distributed TET) 
   
   * Start tccd daemon from the /etc/rc.conf    * Start tccd daemon from the /etc/rc.conf 
          
     export TET_ROOT="/opt/tet3"      export TET_ROOT="/opt/tet3"
     if test -x "$TET_ROOT/bin/tccd"      if test -x "$TET_ROOT/bin/tccd"
     then      then
             $TET_ROOT/bin/tccd && echo "TET3 tccd started"              $TET_ROOT/bin/tccd && echo "TET3 tccd started"
     fi      fi
          
   
 Other files (_$TET_ROOT/systems_, _$HOME/systems.equiv_, _/etc/services_) are corrected in according to TET3 install guide.  Other files (_$TET_ROOT/systems_, _$HOME/systems.equiv_, _/etc/services_) are corrected in according to TET3 install guide. 
   
 ##  Sample of required files  ##  Sample of required files 
   
 You'll need a minimal _$TET_ROOT/systems_ file. The following content in the file is enough for this test suite.  You'll need a minimal _$TET_ROOT/systems_ file. The following content in the file is enough for this test suite. 
          
     000 localhost 60103      000 localhost 60103
          
   
 For the 'inet' version of TET, you'll need tccd running, and a _$HOME/systems.equiv_ file in the directory of the user running tccd. The following contents will do for this file:  For the 'inet' version of TET, you'll need tccd running, and a _$HOME/systems.equiv_ file in the directory of the user running tccd. The following contents will do for this file: 
   
 **Note!** In our case the _$HOME_ is equivalent to _/opt/tet3_  **Note!** In our case the _$HOME_ is equivalent to _/opt/tet3_
          
     localhost      localhost
          
   
 And you'll need to append following lines to the _/etc/services_:  And you'll need to append following lines to the _/etc/services_: 
          
     tcc             60103/tcp      tcc             60103/tcp
     tcc             60103/udp      tcc             60103/udp
          
   
 #  Simple check  #  Simple check 
   
 The directory _contrib_ in the source tree contains a number of simplest examples of test cases. Let's start something from it step by step. Consider test cases under _contrib/capi_. Login as user _tet_. Be ensure you have set $TET_ROOT to actual path (_/opt/tet3_ in our case) and _$TET_ROOT/bin_ is covered by $PATH.  The directory _contrib_ in the source tree contains a number of simplest examples of test cases. Let's start something from it step by step. Consider test cases under _contrib/capi_. Login as user _tet_. Be ensure you have set $TET_ROOT to actual path (_/opt/tet3_ in our case) and _$TET_ROOT/bin_ is covered by $PATH. 
          
     $ echo $TET_ROOT      $ echo $TET_ROOT
     /opt/tet3      /opt/tet3
     $ echo $PATH      $ echo $PATH
     /home/andy/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin:/opt/tet3/bin      /home/andy/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin:/opt/tet3/bin
          
   
 Change current directory to _$TET_ROOT/contrib/capi_.  Change current directory to _$TET_ROOT/contrib/capi_. 
          
     cd $TET_ROOT/contrib/capi      cd $TET_ROOT/contrib/capi
          
   
 Patch test case build system (yeah, I know...):  Patch test case build system (yeah, I know...): 
          
     --- tools/buildtool.c.orig      2008-11-24 13:15:58.000000000 +0000      --- tools/buildtool.c.orig      2008-11-24 13:15:58.000000000 +0000
     +++ tools/buildtool.c   2008-11-24 13:16:15.000000000 +0000      +++ tools/buildtool.c   2008-11-24 13:16:15.000000000 +0000
     @@ -51,7 +51,7 @@      @@ -51,7 +51,7 @@
      #define BUILDSUCCESS 0   /* successful return from buildtool */       #define BUILDSUCCESS 0   /* successful return from buildtool */
          
          
     -static void tbuild()      -static void tbuild()
     +void tbuild()      +void tbuild()
      {       {
      char command_line[BUFLEN];       char command_line[BUFLEN];
      char bres_line[BUFSIZ];       char bres_line[BUFSIZ];
          
   
 To run the test suite, firstly apply profile setting, then run the _Setup_ script and after use tcc.  To run the test suite, firstly apply profile setting, then run the _Setup_ script and after use tcc. 
          
     source profile      source profile
     sh ./Setup      sh ./Setup
     tcc -p -bec contrib/capi      tcc -p -bec contrib/capi
          
   
 #  Links  #  Links 
   
   * [Free TET Framework][15]    * [Free TET Framework][15]
   * [Documentation][16]    * [Documentation][16]
   * [VSTHlite][17] - pthread test suite    * [VSTHlite][17] - pthread test suite 
   
    [15]: http://tetworks.opengroup.org/tet/ (http://tetworks.opengroup.org/tet/)     [15]: http://tetworks.opengroup.org/tet/ (http://tetworks.opengroup.org/tet/)
    [16]: http://tetworks.opengroup.org/documents/docs.htm (http://tetworks.opengroup.org/documents/docs.htm)     [16]: http://tetworks.opengroup.org/documents/docs.htm (http://tetworks.opengroup.org/documents/docs.htm)
    [17]: /VSTHlite (VSTHlite)     [17]: /VSTHlite (VSTHlite)
   

Removed from v.1.1  
changed lines
  Added in v.1.2


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb