{"thread":{"id":"9757","subject":"[StGit PATCH] Test \"stg status\" more thoroughly","startedAt":"2007-09-03T00:00:00Z","lastAt":"2007-09-03T00:00:00Z","messageCount":1,"participants":["Karl Hasselström"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"52279","messageId":"20070902235947.23866.81320.stgit@yoghurt","threadId":"9757","inReplyTo":null,"subject":"[StGit PATCH] Test \"stg status\" more thoroughly","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2007-09-03T00:00:00Z","receivedAt":"2007-09-03T00:00:00Z","isPatch":true,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"Signed-off-by: Karl Hasselström <kha@treskal.com>\n\n---\n\n t/t0002-status.sh |  114 ++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 1 files changed, 112 insertions(+), 2 deletions(-)\n\n\ndiff --git a/t/t0002-status.sh b/t/t0002-status.sh\nindex c088d56..ce3b688 100755\n--- a/t/t0002-status.sh\n+++ b/t/t0002-status.sh\n@@ -8,8 +8,118 @@ test_description='Basic stg status\n Test that \"stg status\" works.'\n \n . ./test-lib.sh\n+stg init\n \n-test_expect_success 'Run status on empty' \\\n-  'stg status'\n+# Ignore our own output files.\n+cat > .git/info/exclude <<EOF\n+/expected.txt\n+/output.txt\n+EOF\n+\n+cat > expected.txt <<EOF\n+EOF\n+test_expect_success 'Run status on empty' '\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n+\n+cat > expected.txt <<EOF\n+? foo\n+EOF\n+test_expect_success 'Status with an untracked file' '\n+    touch foo &&\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n+rm -f foo\n+\n+cat > expected.txt <<EOF\n+EOF\n+test_expect_success 'Status with an empty directory' '\n+    mkdir foo &&\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n+\n+cat > expected.txt <<EOF\n+? foo/\n+EOF\n+test_expect_success 'Status with an untracked file in a subdir' '\n+    touch foo/bar &&\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n+\n+cat > expected.txt <<EOF\n+A foo/bar\n+EOF\n+test_expect_success 'Status with an added file' '\n+    stg add foo &&\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n+\n+cat > expected.txt <<EOF\n+EOF\n+test_expect_success 'Status after refresh' '\n+    stg new -m \"first patch\" &&\n+    stg refresh &&\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n+\n+cat > expected.txt <<EOF\n+M foo/bar\n+EOF\n+test_expect_success 'Status after modification' '\n+    echo \"wee\" >> foo/bar &&\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n+\n+cat > expected.txt <<EOF\n+EOF\n+test_expect_success 'Status after refresh' '\n+    stg new -m \"second patch\" && stg refresh &&\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n+\n+test_expect_success 'Make a conflicting patch' '\n+    stg pop &&\n+    stg new -m \"third patch\" &&\n+    echo \"woo\" >> foo/bar &&\n+    stg refresh\n+'\n+\n+cat > expected.txt <<EOF\n+? foo/bar.ancestor\n+? foo/bar.current\n+? foo/bar.patched\n+C foo/bar\n+EOF\n+test_expect_success 'Status after conflicting push' '\n+    ! stg push &&\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n+\n+cat > expected.txt <<EOF\n+M foo/bar\n+EOF\n+test_expect_success 'Status after resolving the push' '\n+    stg resolved -a &&\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n+\n+cat > expected.txt <<EOF\n+D foo/bar\n+EOF\n+test_expect_success 'Status after deleting a file' '\n+    rm foo/bar &&\n+    stg status > output.txt &&\n+    diff -u expected.txt output.txt\n+'\n \n test_done\n"}]}