From 0d24e380ff394782358da99b776a187d402142e9 Mon Sep 17 00:00:00 2001 From: Tiago Gomes Date: Fri, 27 Nov 2015 14:21:01 +0000 Subject: Convert last cmdtests to yarns The conversion was made so that the build command was used instead of the build-morphology command. Change-Id: I67c43d765ed603ecdd806bc649815526243b7b87 --- yarns/trove-alias.yarn | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 yarns/trove-alias.yarn (limited to 'yarns/trove-alias.yarn') diff --git a/yarns/trove-alias.yarn b/yarns/trove-alias.yarn new file mode 100644 index 00000000..d8a3a461 --- /dev/null +++ b/yarns/trove-alias.yarn @@ -0,0 +1,94 @@ +Trove Aliases +============= + + SCENARIO trove-id (and by corollary trove-host) work properly + GIVEN a morph configuration to test the aliases + AND a list of raw aliases + AND a list of processed aliases + THEN all raw aliases should be in processed aliases unchanged + THEN all aliases in the processed aliases which do not come from the raw aliases should contain the trove host + THEN processed aliases do contain a baserock and an upstream alias since those are implicit in morph's behaviour + THEN fudge prefix has been correctly expanded as though it were fudge=fudge#ssh#ssh + + IMPLEMENTS GIVEN a morph configuration to test the aliases + cat << EOF > "$DATADIR/morph.conf" + [config] + repo-alias = test=file://$DATADIR/%s#file://$DATADIR/%s + cachedir = $DATADIR/cache + log = $DATADIR/morph.log + no-distcc = true + quiet = true + EOF + + IMPLEMENTS GIVEN a list of raw aliases + run_morph \ + --trove-host="TROVEHOST" \ + --trove-id="fudge" \ + --trove-id="github" \ + --dump-config > "$DATADIR/raw-configdump" + grep repo-alias "$DATADIR"/raw-configdump | cut -d\ -f3- > \ + "$DATADIR"/raw-aliases + + IMPLEMENTS GIVEN a list of processed aliases + export MORPH_DUMP_PROCESSED_CONFIG=1 + run_morph \ + --trove-host="TROVEHOST" \ + --trove-id="fudge" \ + --trove-id="github" \ + > "$DATADIR/processed-configdump" + grep repo-alias "$DATADIR"/processed-configdump | cut -d\ -f3- > \ + "$DATADIR"/processed-aliases + + IMPLEMENTS THEN all raw aliases should be in processed aliases unchanged + # All raw aliases should be in processed aliases unchanged. As part + # of this, we're also validating that the 'github' prefix we pass in + # does not affect the alias output since it is overridden by + # repo-alias. + RAW_ALIAS="$(cat "$DATADIR"/raw-aliases)" + PROCESSED_ALIAS="$(cat "$DATADIR"/processed-aliases)" + for raw_alias in $RAW_ALIAS; do + raw_alias=$(echo $raw_alias | sed -e's/,$//') + raw_prefix=$(echo $raw_alias | cut -d= -f1) + processed_alias=$(find_alias "$PROCESSED_ALIAS" "$raw_prefix") + if test "x$raw_alias" != "x$processed_alias"; then + die "Raw $raw_alias not in processed aliases" + fi + done + + IMPLEMENTS THEN all aliases in the processed aliases which do not come from the raw aliases should contain the trove host + # All aliases in the processed aliases which do not come from the + # raw aliases should contain the trove host. + RAW_ALIAS="$(cat "$DATADIR"/raw-aliases)" + PROCESSED_ALIAS="$(cat "$DATADIR"/processed-aliases)" + for processed_alias in $PROCESSED_ALIAS; do + processed_alias=$(echo $processed_alias | sed -e's/,$//') + processed_prefix=$(echo $processed_alias | cut -d= -f1) + raw_alias=$(find_alias "$RAW_ALIAS" "$processed_prefix") + if test "x$raw_alias" = "x"; then + grep_out=$(echo "$processed_alias" | grep TROVEHOST) + if test "x$grep_out" = "x"; then + die "Processed $processed_alias does not mention TROVEHOST" + fi + fi + done + + IMPLEMENTS THEN processed aliases do contain a baserock and an upstream alias since those are implicit in morph's behaviour + # Validate that the processed aliases do contain a baserock and an + # upstream alias since those are implicit in morph's behaviour. + PROCESSED_ALIAS="$(cat "$DATADIR"/processed-aliases)" + for prefix in baserock upstream; do + processed_alias=$(find_alias "$PROCESSED_ALIAS" "$prefix") + if test "x$processed_alias" = "x"; then + die "Processed aliases lack $prefix prefix" + fi + done + + IMPLEMENTS THEN fudge prefix has been correctly expanded as though it were fudge=fudge#ssh#ssh + # Validate that the fudge prefix has been correctly expanded as + # though it were fudge=fudge#ssh#ssh + PROCESSED_ALIAS="$(cat "$DATADIR"/processed-aliases)" + fudge_alias=$(find_alias "$PROCESSED_ALIAS" "fudge") + desired_fudge="fudge=ssh://git@TROVEHOST/fudge/%s#ssh://git@TROVEHOST/fudge/%s" + if test "x$fudge_alias" != "x$desired_fudge"; then + die "Fudge alias was '$fudge_alias' where we wanted '$desired_fudge'" + fi -- cgit v1.2.1