aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-test.cli
blob: d9fb7879dc63bded902c82148eabd19bad9c1937 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// file      : bpkg/pkg-test.cli
// license   : MIT; see accompanying LICENSE file

include <bpkg/configuration.cli>;

"\section=1"
"\name=bpkg-pkg-test"
"\summary=test package"

namespace bpkg
{
  {
    "<options> <vars> <pkg>",

    "\h|SYNOPSIS|

     \c{\b{bpkg pkg-test}|\b{test} [<options>] [<vars>] <pkg>...\n
        \b{bpkg pkg-test}|\b{test} [<options>] [<vars>] \b{--all}|\b{-a}}

     \h|DESCRIPTION|

     The \cb{pkg-test} command tests the specified packages (the first form)
     or all the held packages (the second form, see \l{bpkg-pkg-status(1)}).
     Additionally, immediate or all dependencies of these packages can also be
     tested by specifying the \c{\b{--immediate}|\b{-i}} or
     \c{\b{--recursive}|\b{-r}} options, respectively. Underneath, this
     command doesn't do much more than run \cb{b test}. In the first form the
     specified packages must have been previously configured with
     \l{bpkg-pkg-build(1)} or \l{bpkg-pkg-configure(1)}.

     Additional command line variables (<vars>, normally \cb{config.*}) can be
     passed to the build system. Such variables apply to all the specified
     packages but can also be specified to only apply to specific packages
     using the argument grouping mechanism (see \l{bpkg-argument-grouping(1)}
     for details)."
  }

  class pkg_test_options: configuration_options
  {
    "\h|PKG-TEST OPTIONS|"

    bool --all|-a
    {
      "Test all held packages."
    }

    bool --immediate|-i
    {
      "Also test immediate dependencies."
    }

    bool --recursive|-r
    {
      "Also test all dependencies, recursively."
    }

    bool --package-cwd
    {
      "Change the current working directory to the package directory prior
       to running tests. This may help ported third-party packages since
       its not uncommon for tests to expect they are running form the project
       root directory."
    }
  };

  "
   \h|DEFAULT OPTIONS FILES|

   See \l{bpkg-default-options-files(1)} for an overview of the default
   options files. For the \cb{pkg-test} command the search start
   directory is the configuration directory. The following options files are
   searched for in each directory and, if found, loaded in the order listed:

   \
   bpkg.options
   bpkg-pkg-test.options
   \

   The following \cb{pkg-test} command options cannot be specified in the
   default options files:

   \
   --directory|-d
   \
  "
}