File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / tests / testcurl.1
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 10:01:16 2020 UTC (5 years ago) by misho
Branches: curl, MAIN
CVS tags: v7_70_0p4, HEAD
curl

    1: .\" **************************************************************************
    2: .\" *                                  _   _ ____  _
    3: .\" *  Project                     ___| | | |  _ \| |
    4: .\" *                             / __| | | | |_) | |
    5: .\" *                            | (__| |_| |  _ <| |___
    6: .\" *                             \___|\___/|_| \_\_____|
    7: .\" *
    8: .\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
    9: .\" *
   10: .\" * This software is licensed as described in the file COPYING, which
   11: .\" * you should have received as part of this distribution. The terms
   12: .\" * are also available at https://curl.haxx.se/docs/copyright.html.
   13: .\" *
   14: .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
   15: .\" * copies of the Software, and permit persons to whom the Software is
   16: .\" * furnished to do so, under the terms of the COPYING file.
   17: .\" *
   18: .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
   19: .\" * KIND, either express or implied.
   20: .\" *
   21: .\" **************************************************************************
   22: .\"
   23: .TH testcurl.pl 1 "October 22, 2016" "Curl 7.70.0" "testcurl"
   24: 
   25: .SH NAME
   26: testcurl.pl \- (automatically) test curl
   27: .SH SYNOPSIS
   28: .B testcurl.pl [options] [dir] > output
   29: .SH DESCRIPTION
   30: \fItestcurl.pl\fP is the master script to use for automatic testing of curl
   31: off git or daily snapshots. It is written for the purpose of being run from a
   32: crontab job or similar at a regular interval. The output is suitable to be
   33: mailed to curl-autocompile@haxx.se to be dealt with automatically (make sure
   34: the subject includes the word "autobuild" as the mail gets silently discarded
   35: otherwise).  The most current build status (with a reasonable backlog) will be
   36: published on the curl site, at https://curl.haxx.se/dev/builds.html
   37: 
   38: \fIoptions\fP may be omitted. See \fI--setup\fP for what happens then.
   39: 
   40: \fIdir\fP is a curl source dir, possibly a daily snapshot one. Using this will
   41: make testcurl.pl skip the 'buildconf' stage and thus it removes the dependency
   42: on automake, autoconf, libtool, GNU m4 and possibly a few other things.
   43: 
   44: testcurl.pl will run 'buildconf' (or similar), run configure, build curl and
   45: libcurl in a separate build directory and then run 'make test' to test the
   46: fresh build.
   47: .SH OPTIONS
   48: .IP "--configure=[options]"
   49: Configure options passed to configure.
   50: .IP "--crosscompile"
   51: This is a cross-compile. Makes \fItestcurl.pl\fP skip a few things.
   52: .IP "--desc=[desc]"
   53: Description of your test system. Displayed on the build summary page on the
   54: weba site.
   55: .IP "--email=[email]"
   56: Set email address to report as. Displayed in the build logs on the site.
   57: .IP "--mktarball=[command]"
   58: Generic command to run after completed test.
   59: .IP "--name=[name]"
   60: Set name to report as. Displayed in the build summary on the site.
   61: .IP "--nobuildconf"
   62: Don't run buildconf. Useful when many builds use the same source tree, as then
   63: only one need to do this. Also, if multiple processes run tests simultaneously
   64: on the same source tree (like several hosts on a NFS mounted dir),
   65: simultaneous buildconf invokes may cause problems. (Added in 7.14.1)
   66: .IP "--nogitpull"
   67: Don't update from git even though it is a git tree. Useful to still be able to
   68: test even though your network is down, or similar.
   69: .IP "--runtestopts=[options]"
   70: Options that is passed to the runtests.pl script. Useful for disabling valgrind
   71: by force, and similar.
   72: .IP "--setup=[file name]"
   73: File name to read setup from (deprecated). The old style of providing info.
   74: If info is missing when testcurl.pl is started, it will prompt you and then
   75: store the info in a 'setup' file, which it will look for on each invoke. Use
   76: \fI--name\fP, \fI--email\fP, \fI--configure\fP and \fI--desc\fP instead.
   77: .IP "--target=[your os]"
   78: Specify your target environment. Recognized strings include 'vc', 'mingw32',
   79: \&'borland' and 'netware'.
   80: .SH "INITIAL SETUP"
   81: First you make a checkout from git (or you write a script that downloads daily
   82: snapshots automatically, find inspiration in
   83: https://curl.haxx.se/dev/autocurl.txt ):
   84: 
   85: .nf
   86:   $ mkdir daily-curl
   87:   $ cd daily-curl
   88:   $ git clone https://github.com/curl/curl.git
   89: .fi
   90: 
   91: With the curl sources checked out, or downloaded, you can start testing right
   92: away. If you want to use \fItestcurl.pl\fP without command line arguments and
   93: to have it store and remember the config in its 'setup' file, then start it
   94: manually now and fill in the answers to the questions it prompts you for:
   95: 
   96: .nf
   97:   $ ./curl/tests/testcurl.pl
   98: .fi
   99: 
  100: Now you are ready to go. If you let the script run, it will perform a full
  101: cycle and spit out lots of output. Mail us that output as described above.
  102: .SH "CRONTAB EXAMPLE"
  103: The crontab could include something like this:
  104: 
  105: .nf
  106: \# autobuild curl:
  107: 0 4 * * * cd daily-curl && ./testit.sh
  108: .fi
  109: 
  110: Where testit.sh is a shell script that could look similar to this:
  111: 
  112: .nf
  113: mail="mail -s autobuild curl-autocompile@haxx.se"
  114: name="--name=whoami"
  115: email="--email=iamme@nowhere"
  116: desc='"--desc=supermachine Turbo 2000"'
  117: testprog="perl ./curl/tests/testcurl.pl $name $email $desc"
  118: opts1="--configure=--enable-debug"
  119: opts2="--configure=--enable-ipv6"
  120: 
  121: # run first test
  122: $testprog $opts1 | $mail
  123: 
  124: # run second test
  125: $testprog $opts2 | $mail

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>