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

[PATCH 07/10] t4018: reduce test files for pattern compilation tests

From
Johannes Sixt <j6t@kdbg.org>
Date
Mar 21, 2014, 21:07 UTC
Message-ID
<92c48a41f3aee778d1a1d21ef9f9abdd54bfdaab.1395433874.git.j6t@kdbg.org>
In-Reply-To
<cover.1395433874.git.j6t@kdbg.org>

All test cases that need a file with specific text patterns have been converted to utilize texts in the t4018/ directory. The remaining tests in the test script deal only with the validity of the regular expressions. These tests do not depend on the contents of files that 'git diff' is invoked on. Remove the largish here-document and use only tiny files.

While we are touching these tests, convert grep to test_i18ngrep as the texts checked for may undergo translation in the future.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
 t/t4018-diff-funcname.sh | 52 +++++++++++++-----------------------------------
 1 file changed, 14 insertions(+), 38 deletions(-)
diff --git a/t/t4018-diff-funcname.sh b/t/t4018-diff-funcname.sh
index 5ac744f..34591c2 100755
--- a/t/t4018-diff-funcname.sh
+++ b/t/t4018-diff-funcname.sh
@@ -7,29 +7,6 @@ test_description='Test custom diff function name patterns'
 
 . ./test-lib.sh
 
-LF='
-'
-cat >Beer.java <<\EOF
-public class Beer
-{
-	int special;
-	public static void main(String args[])
-	{
-		String s=" ";
-		for(int x = 99; x > 0; x--)
-		{
-			System.out.print(x + " bottles of beer on the wall "
-				+ x + " bottles of beer\n"
-				+ "Take one down, pass it around, " + (x - 1)
-				+ " bottles of beer on the wall.\n");
-		}
-		System.out.print("Go to the store, buy some more,\n"
-			+ "99 bottles of beer on the wall.\n");
-	}
-}
-EOF
-sed 's/beer\\/beer,\\/' <Beer.java >Beer-correct.java
-
 test_expect_success 'setup' '
 	# a non-trivial custom pattern
 	git config diff.custom1.funcname "!static
@@ -41,7 +18,11 @@ test_expect_success 'setup' '
 
 	# alternation in pattern
 	git config diff.custom3.funcname "Beer$" &&
-	git config diff.custom3.xfuncname "^[ 	]*((public|static).*)$"
+	git config diff.custom3.xfuncname "^[ 	]*((public|static).*)$" &&
+
+	# for regexp compilation tests
+	echo A >A.java &&
+	echo B >B.java
 '
 
 diffpatterns="
@@ -70,29 +51,24 @@ do
 	test_expect_success "builtin $p pattern compiles" '
 		echo "*.java diff=$p" >.gitattributes &&
 		test_expect_code 1 git diff --no-index \
-			Beer.java Beer-correct.java 2>msg &&
-		! grep fatal msg &&
-		! grep error msg
+			A.java B.java 2>msg &&
+		! test_i18ngrep fatal msg &&
+		! test_i18ngrep error msg
 	'
 	test_expect_success "builtin $p wordRegex pattern compiles" '
 		echo "*.java diff=$p" >.gitattributes &&
 		test_expect_code 1 git diff --no-index --word-diff \
-			Beer.java Beer-correct.java 2>msg &&
-		! grep fatal msg &&
-		! grep error msg
+			A.java B.java 2>msg &&
+		! test_i18ngrep fatal msg &&
+		! test_i18ngrep error msg
 	'
 done
 
-test_expect_success 'set up .gitattributes declaring drivers to test' '
-	cat >.gitattributes <<-\EOF
-	*.java diff=java
-	EOF
-'
-
 test_expect_success 'last regexp must not be negated' '
+	echo "*.java diff=java" >.gitattributes &&
 	test_config diff.java.funcname "!static" &&
-	test_expect_code 128 git diff --no-index Beer.java Beer-correct.java 2>msg &&
-	grep ": Last expression must not be negated:" msg
+	test_expect_code 128 git diff --no-index A.java B.java 2>msg &&
+	test_i18ngrep ": Last expression must not be negated:" msg
 '
 
 test_expect_success 'setup hunk header tests' '
-- 
1.8.5.2.244.g9fb3fb1
Previous: Johannes SixtNext: Johannes Sixt
Message 24 of 30 in “diff: simplify cpp funcname regex”
  1. diff: simplify cpp funcname regexJeff King, Mar 5, 2014
  2. Johannes SixtMar 5, 2014
  3. Jeff KingMar 6, 2014
  4. Johannes SixtMar 7, 2014
  5. Jeff KingMar 14, 2014
  6. Johannes SixtMar 14, 2014
  7. Jeff KingMar 18, 2014
  8. Johannes SixtMar 18, 2014
  9. René ScharfeMar 18, 2014
  10. 00/10 userdiff: cpp pattern simplification and test frameworkJohannes Sixt, Mar 21, 2014
  11. 01/10 userdiff: support C++ ->* and .* operators in the word regexpJohannes Sixt, Mar 21, 2014
  12. 02/10 userdiff: support unsigned and long long suffixes of integer constantsJohannes Sixt, Mar 21, 2014
  13. 03/10 t4018: an infrastructure to test hunk headersJohannes Sixt, Mar 21, 2014
  14. Junio C HamanoMar 21, 2014
  15. Johannes SixtMar 22, 2014
  16. Junio C HamanoMar 23, 2014
  17. Jeff KingMar 24, 2014
  18. Jeff KingMar 24, 2014
  19. Johannes SixtMar 25, 2014
  20. Jeff KingMar 25, 2014
  21. 04/10 t4018: convert perl pattern tests to the new infrastructureJohannes Sixt, Mar 21, 2014
  22. 05/10 t4018: convert java pattern test to the new infrastructureJohannes Sixt, Mar 21, 2014
  23. 06/10 t4018: convert custom pattern test to the new infrastructureJohannes Sixt, Mar 21, 2014
  24. 07/10 t4018: reduce test files for pattern compilation testsJohannes Sixt, Mar 21, 2014
  25. 08/10 t4018: test cases for the built-in cpp patternJohannes Sixt, Mar 21, 2014
  26. 09/10 t4018: test cases showing that the cpp pattern misses many anchor pointsJohannes Sixt, Mar 21, 2014
  27. 10/10 userdiff: have 'cpp' hunk header pattern catch more C++ anchor pointsJohannes Sixt, Mar 21, 2014
  28. Junio C HamanoMar 21, 2014
  29. Jeff KingMar 24, 2014
  30. Junio C HamanoMar 5, 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.