git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 3/6] tests: new test for orderfile options

From
MTMichael S. Tsirkin <mst@redhat.com>
Date
Apr 23, 2014, 12:14 UTC
Message-ID
<1398255277-26303-3-git-send-email-mst@redhat.com>
In-Reply-To
<1398255277-26303-1-git-send-email-mst@redhat.com>

The test is very basic and can be extended. Couldn't find a good existing place to put it, so created a new file.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 t/t4056-diff-order.sh | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100755 t/t4056-diff-order.sh
diff --git a/t/t4056-diff-order.sh b/t/t4056-diff-order.sh
new file mode 100755
index 0000000..a247b7a
--- /dev/null
+++ b/t/t4056-diff-order.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+test_description='diff orderfile'
+
+. ./test-lib.sh
+
+test_expect_success 'setup' '
+        as="a a a a a a a a" && # eight a
+        test_write_lines $as >foo &&
+        test_write_lines $as >bar &&
+	git add foo bar &&
+	git commit -a -m initial &&
+        test_write_lines $as b >foo &&
+        test_write_lines $as b >bar &&
+	git commit -a -m first &&
+	test_write_lines bar foo >bar-then-foo &&
+	test_write_lines foo bar >foo-then-bar &&
+	git diff -Ofoo-then-bar HEAD~1..HEAD >diff-foo-then-bar &&
+	git diff -Obar-then-foo HEAD~1..HEAD >diff-bar-then-foo
+'
+
+test_diff_well_formed () {
+	grep ^+b "$1" >added
+	grep ^-b "$1" >removed
+	grep ^+++ "$1" >oldfiles
+	grep ^--- "$1" >newfiles
+	test_line_count = 2 added &&
+	test_line_count = 0 removed &&
+	test_line_count = 2 oldfiles &&
+	test_line_count = 2 newfiles
+}
+
+test_expect_success 'diff output with -O is well-formed' '
+	test_diff_well_formed diff-foo-then-bar &&
+	test_diff_well_formed diff-bar-then-foo
+'
+
+test_expect_success 'flag -O affects diff output' '
+	! test_cmp diff-foo-then-bar diff-bar-then-foo
+'
+
+test_expect_success 'orderfile is same as -O' '
+	test_config diff.orderfile foo-then-bar &&
+	git diff HEAD~1..HEAD >diff-foo-then-bar-config &&
+	test_config diff.orderfile bar-then-foo &&
+	git diff HEAD~1..HEAD >diff-bar-then-foo-config &&
+	test_cmp diff-foo-then-bar diff-foo-then-bar-config &&
+	test_cmp diff-bar-then-foo diff-bar-then-foo-config
+'
+
+test_expect_success '-O overrides orderfile' '
+	test_config diff.orderfile foo-then-bar &&
+	git diff -Obar-then-foo HEAD~1..HEAD >diff-bar-then-foo-flag &&
+	test_cmp diff-bar-then-foo diff-bar-then-foo-flag
+'
+
+test_expect_success '/dev/null is same as no orderfile' '
+	git diff -O/dev/null HEAD~1..HEAD>diff-null-orderfile &&
+	git diff HEAD~1..HEAD >diff-default &&
+	test_cmp diff-null-orderfile diff-default
+'
+
+test_done
-- 
MST
Previous: Michael S. TsirkinNext: Junio C Hamano
Message 5 of 15 in “diff: add a config option to control orderfile”
  1. 1/6 diff: add a config option to control orderfileMichael S. Tsirkin, Apr 23, 2014
  2. 2/6 test: add test_write_lines helperMichael S. Tsirkin, Apr 23, 2014
  3. Junio C HamanoApr 23, 2014
  4. Michael S. TsirkinApr 23, 2014
  5. 3/6 tests: new test for orderfile optionsMichael S. Tsirkin, Apr 23, 2014
  6. Junio C HamanoApr 23, 2014
  7. Michael S. TsirkinApr 23, 2014
  8. 4/6 patch-id: make it stable against hunk reorderingMichael S. Tsirkin, Apr 23, 2014
  9. Junio C HamanoApr 23, 2014
  10. Michael S. TsirkinApr 23, 2014
  11. Junio C HamanoApr 23, 2014
  12. Michael S. TsirkinApr 24, 2014
  13. Junio C HamanoApr 24, 2014
  14. 5/6 patch-id: document new behaviourMichael S. Tsirkin, Apr 23, 2014
  15. 6/6 patch-id-test: test stable and unstable behaviourMichael S. Tsirkin, Apr 23, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.