# file : tests/status.test # copyright : Copyright (c) 2014-2018 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file .include common.test git.test project.test cxx = cc "config.cxx=$config.cxx" snapshot = ($git_supported ? '19700101000000' : 'z') new += 2>! init += $cxx -d prj 2>! sync += -d prj 2>! deinit += -d prj : no-cfg : { $clone_prj; $* 2>>/"EOE" != 0 error: no default configuration in project $~/prj/ info: use \(@ | --config|-c | --all|-a\) to specify configuration explicitly EOE } : single-cfg : { $clone_prj; $init -C @cfg &prj-cfg/***; $* >"prj configured 0.1.0-a.0.$snapshot"; $deinit 2>>/"EOE" deinitializing in project $~/prj/ synchronizing: drop prj EOE } : multi-cfg : { $clone_prj; $init -C @cfg1 &prj-cfg1/***; $init -C @cfg2 &prj-cfg2/***; $* @cfg2 >"prj configured 0.1.0-a.0.$snapshot"; $* --all >>"EOO"; in configuration @cfg1: prj configured 0.1.0-a.0.$snapshot in configuration @cfg2: prj configured 0.1.0-a.0.$snapshot EOO $deinit 2>>/"EOE" deinitializing in project $~/prj/ synchronizing: drop prj EOE } : dependency : { $clone_prj; $init -C @cfg &prj-cfg/***; $new -t lib libprj &libprj/***; cat <+prj/repositories.manifest; : role: prerequisite location: ../libprj type: dir EOI cat <+prj/manifest; depends: libprj EOI $* --recursive >>"EOO" 2>>/"EOE"; # Note: implicitly fetches in cfg. prj configured 0.1.0-a.0.$snapshot available 0.1.0-a.0.$snapshot#1 EOO fetching dir:$~/libprj \(prerequisite of dir:$~/prj\) EOE $sync; $* --recursive >>~"%EOO%"; prj configured 0.1.0-a.0.$snapshot#1 % libprj configured 0.+% EOO $deinit 2>>/"EOE" deinitializing in project $~/prj/ synchronizing: drop prj drop libprj EOE }