# file : tests/remote.testscript # license : MIT; see accompanying LICENSE file # Tests for commands that accept pkg repository location must be able to run # regardless whether the repository is local or remote. They also must be able # to create the repository used for testing at the specified path, so being # published to build2.org it can be used for the remote testing. Note that # prior to publishing repositories tests must be performed with the # config.test.output=keep variable override, so their working directories (that # contain repositories produced) are not cleaned up. # # Output directory path that testscripts must use to prepare repositories # required by tests they contain. # # Note that the local path is carefully crafted so that we end up with the # same repository names in both (local and remote) cases. This is necessary # for the authentication to work properly in both cases. # out = $canonicalize([dir_path] $~/pkg/1/build2.org/) # Variables rep_root and rep refer to the root and the command-specific # repositories respectively. Note that the variables type is dir_path for # local repositories (rather than string for the remote ones), that allows to # portably obtain sub-repositories locations representations. # rep_root = ($remote ? [string] "https://build2.org/bpkg/1" : $out) out += [dir_path] $cmd rep = ($remote ? [string] "$rep_root/$cmd" : $out) +if! $remote mkdir -p $out end