blob: 105bf3efb3484d8fddb6f1946f9bfff8de5ae3bf (
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
|
# file : tests/common.testscript
# license : MIT; see accompanying LICENSE file
# Commonly-used variables setup and driver command line.
#
# Use the same build system driver as the one running the tests (as opposed
# to one that may or may not be found via PATH).
#
build = $recall($build.path)
# Disable loading the user's default options files (that may affect the test
# commands execution) for bpkg and build2.
#
# Note that this works without quoting on Windows because of the effective
# escaping during the command line re-parse.
#
options_guard = $~/.build2
+mkdir $options_guard
+echo '--no-default-options' >=$options_guard/b.options
+echo '--no-default-options' >=$options_guard/bpkg.options
test.options += --default-options $options_guard \
--build $build --build-option "--default-options=$options_guard"
# Helper commands that can be used by tests to prepare the testing environment
# or validate an outcome of the command being tested. They are likely to get
# additional options and redirects appended prior to use. A common approach
# will be to redirect output to the null device for commands that are used for
# test setup, and to match it for commands being tested or performing teardown
# (for example, to make sure that configuration post-test state is valid and is
# as expected).
#
cfg_create = $* cfg-create
cfg_link = $* cfg-link
pkg_build = $* pkg-build
pkg_checkout = $* pkg-checkout
pkg_configure = $* pkg-configure
pkg_disfigure = $* pkg-disfigure
pkg_drop = $* pkg-drop
pkg_fetch = $* pkg-fetch
pkg_purge = $* pkg-purge
pkg_status = $* pkg-status
pkg_unpack = $* pkg-unpack
pkg_update = $* pkg-update
rep_add = $* rep-add
rep_create = $* rep-create
rep_fetch = $* rep-fetch
rep_info = $* rep-info
rep_list = $* rep-list
rep_remove = $* rep-remove
# All testscripts are named after bpkg commands, for example
# pkg-verify.testscript. So the testscript scope id is a name of the command
# being tested.
#
cmd = [string] $@
test.arguments = $cmd
# Each testscript has an associated repository source directory. Its
# subdirectories are copied by tests to manipulate locally and throw away upon
# completion.
#
src = [dir_path] "$src_base/$@"
|