commit fccbfb985ce3435c23c5507d74f2d952e3176f82 from: Stefan Sperling date: Sat Aug 03 14:40:31 2019 UTC add initial stage test commit - 715dc77e943615d42425212556295bc0dbd35a6e commit + fccbfb985ce3435c23c5507d74f2d952e3176f82 blob - 5b84e2ef622fe9e1ae03dd86b0e269bce2218fb3 blob + a8d8fbf800294c759793e7717882f7e8bab9f0dd --- regress/cmdline/Makefile +++ regress/cmdline/Makefile @@ -1,5 +1,5 @@ REGRESS_TARGETS=checkout update status log add rm diff blame branch commit \ - revert cherrypick backout rebase import histedit + revert cherrypick backout rebase import histedit stage NOOBJ=Yes checkout: @@ -50,4 +50,7 @@ import: histedit: ./histedit.sh +stage: + ./stage.sh + .include blob - /dev/null blob + 382ddd39fe2226a6fb139ae0ca401c60d3d8c8d4 (mode 755) --- /dev/null +++ regress/cmdline/stage.sh @@ -0,0 +1,47 @@ +#!/bin/sh +# +# Copyright (c) 2019 Stefan Sperling +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +. ./common.sh + +function test_stage_basic { + local testroot=`test_init stage_basic` + + got checkout $testroot/repo $testroot/wt > /dev/null + ret="$?" + if [ "$ret" != "0" ]; then + test_done "$testroot" "$ret" + return 1 + fi + + echo "modified file" > $testroot/wt/alpha + (cd $testroot/wt && got rm beta > /dev/null) + echo "new file" > $testroot/wt/foo + (cd $testroot/wt && got add foo > /dev/null) + + echo 'M alpha' > $testroot/stdout.expected + echo 'D beta' >> $testroot/stdout.expected + echo 'A foo' >> $testroot/stdout.expected + (cd $testroot/wt && got stage alpha beta foo > $testroot/stdout) + + cmp -s $testroot/stdout.expected $testroot/stdout + ret="$?" + if [ "$ret" != "0" ]; then + diff -u $testroot/stdout.expected $testroot/stdout + fi + test_done "$testroot" "$ret" +} + +run_test test_stage_basic