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

[StGIT PATCH 1/2] String comparison is done with "=", not "=="

From
Karl Hasselström <kha@treskal.com>
Date
Apr 29, 2007, 21:09 UTC
Message-ID
<20070429210950.4004.86948.stgit@yoghurt>
In-Reply-To
<20070429210713.4004.60467.stgit@yoghurt>
From: Karl Hasselström <kha@treskal.com>

The "test" builtin in bash accepts both "==" and "=", but it didn't work with dash as /bin/sh.

Signed-off-by: Karl Hasselström <kha@treskal.com>
---
 t/t1300-uncommit.sh |    8 ++++----
 t/t1800-import.sh   |   26 +++++++++++++-------------
 t/t1900-mail.sh     |    2 +-
 t/t2000-sync.sh     |   14 +++++++-------
 4 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/t/t1300-uncommit.sh b/t/t1300-uncommit.sh
index 497c354..519234e 100755
--- a/t/t1300-uncommit.sh
+++ b/t/t1300-uncommit.sh
@@ -42,7 +42,7 @@ test_expect_success \
 	'Uncommit the patches using names' \
 	'
 	stg uncommit bar foo &&
-	[ "$(stg id foo//top)" == "$(stg id bar//bottom)" ] &&
+	[ "$(stg id foo//top)" = "$(stg id bar//bottom)" ] &&
 	stg commit
 	'
 
@@ -50,7 +50,7 @@ test_expect_success \
 	'Uncommit the patches using prefix' \
 	'
 	stg uncommit --number=2 foobar &&
-	[ "$(stg id foobar1//top)" == "$(stg id foobar2//bottom)" ] &&
+	[ "$(stg id foobar1//top)" = "$(stg id foobar2//bottom)" ] &&
 	stg commit
 	'
 
@@ -58,7 +58,7 @@ test_expect_success \
 	'Uncommit the patches using auto names' \
 	'
 	stg uncommit --number=2 &&
-	[ "$(stg id foo-patch//top)" == "$(stg id bar-patch//bottom)" ] &&
+	[ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] &&
 	stg commit
 	'
 
@@ -67,7 +67,7 @@ test_expect_success \
 	'
 	stg uncommit &&
 	stg uncommit &&
-	[ "$(stg id foo-patch//top)" == "$(stg id bar-patch//bottom)" ] &&
+	[ "$(stg id foo-patch//top)" = "$(stg id bar-patch//bottom)" ] &&
 	stg commit
 	'
 test_done
diff --git a/t/t1800-import.sh b/t/t1800-import.sh
index 0c1baa3..ed10fa8 100755
--- a/t/t1800-import.sh
+++ b/t/t1800-import.sh
@@ -19,7 +19,7 @@ test_expect_success \
     '
     stg import ../t1800-import/git-diff &&
     [ $(git cat-file -p $(stg id) \
-        | grep -c "tree e96b1fba2160890ff600b675d7140d46b022b155") == 1 ] &&
+        | grep -c "tree e96b1fba2160890ff600b675d7140d46b022b155") = 1 ] &&
     stg delete ..
     '
 
@@ -28,7 +28,7 @@ test_expect_success \
     '
     stg import ../t1800-import/gnu-diff &&
     [ $(git cat-file -p $(stg id) \
-        | grep -c "tree e96b1fba2160890ff600b675d7140d46b022b155") == 1 ] &&
+        | grep -c "tree e96b1fba2160890ff600b675d7140d46b022b155") = 1 ] &&
     stg delete ..
     '
 
@@ -37,7 +37,7 @@ test_expect_success \
     '
     stg import ../t1800-import/stg-export &&
     [ $(git cat-file -p $(stg id) \
-        | grep -c "tree e96b1fba2160890ff600b675d7140d46b022b155") == 1 ] &&
+        | grep -c "tree e96b1fba2160890ff600b675d7140d46b022b155") = 1 ] &&
     stg delete ..
     '
 
@@ -46,9 +46,9 @@ test_expect_success \
     '
     stg import -m ../t1800-import/email-8bit &&
     [ $(git cat-file -p $(stg id) \
-        | grep -c "tree 030be42660323ff2a1958f9ee79589a4f3fbee2f") == 1 ] &&
+        | grep -c "tree 030be42660323ff2a1958f9ee79589a4f3fbee2f") = 1 ] &&
     [ $(git cat-file -p $(stg id) \
-        | grep -c "author Inge Ström <inge@power.com>") == 1 ] &&
+        | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
     stg delete ..
     '
 
@@ -57,9 +57,9 @@ test_expect_success \
     '
     stg import -m ../t1800-import/email-qp &&
     [ $(git cat-file -p $(stg id) \
-        | grep -c "tree 030be42660323ff2a1958f9ee79589a4f3fbee2f") == 1 ] &&
+        | grep -c "tree 030be42660323ff2a1958f9ee79589a4f3fbee2f") = 1 ] &&
     [ $(git cat-file -p $(stg id) \
-        | grep -c "author Inge Ström <inge@power.com>") == 1 ] &&
+        | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
     stg delete ..
     '
 
@@ -68,17 +68,17 @@ test_expect_success \
     '
     stg import -M ../t1800-import/email-mbox &&
     [ $(git cat-file -p $(stg id change-1) \
-        | grep -c "tree 401bef82cd9fb403aba18f480a63844416a2e023") == 1 ] &&
+        | grep -c "tree 401bef82cd9fb403aba18f480a63844416a2e023") = 1 ] &&
     [ $(git cat-file -p $(stg id change-1) \
-        | grep -c "author Inge Ström <inge@power.com>") == 1 ] &&
+        | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
     [ $(git cat-file -p $(stg id change-2) \
-        | grep -c "tree e49dbce010ec7f441015a8c64bce0b99108af4cc") == 1 ] &&
+        | grep -c "tree e49dbce010ec7f441015a8c64bce0b99108af4cc") = 1 ] &&
     [ $(git cat-file -p $(stg id change-2) \
-        | grep -c "author Inge Ström <inge@power.com>") == 1 ] &&
+        | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
     [ $(git cat-file -p $(stg id change-3) \
-        | grep -c "tree 166bbaf27a44aee21ba78c98822a741e6f7d78f5") == 1 ] &&
+        | grep -c "tree 166bbaf27a44aee21ba78c98822a741e6f7d78f5") = 1 ] &&
     [ $(git cat-file -p $(stg id change-3) \
-        | grep -c "author Inge Ström <inge@power.com>") == 1 ] &&
+        | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
     stg delete ..
     '
 
diff --git a/t/t1900-mail.sh b/t/t1900-mail.sh
index 3eed7f8..78050db 100755
--- a/t/t1900-mail.sh
+++ b/t/t1900-mail.sh
@@ -29,7 +29,7 @@ test_expect_success \
     stg pop -a &&
     stg import -M mbox0 &&
     t2=$(git cat-file -p $(stg id) | grep ^tree) &&
-    [ "$t1" == "$t2" ]
+    [ "$t1" = "$t2" ]
     '
 
 test_done
diff --git a/t/t2000-sync.sh b/t/t2000-sync.sh
index 3dd1cd6..02345bb 100755
--- a/t/t2000-sync.sh
+++ b/t/t2000-sync.sh
@@ -47,7 +47,7 @@ test_expect_success \
     '
     stg sync -b master p2 &&
     test $(stg applied -c) -eq 3 &&
-    test $(cat foo2.txt) == "foo2"
+    test $(cat foo2.txt) = "foo2"
     '
 
 test_expect_success \
@@ -55,8 +55,8 @@ test_expect_success \
     '
     stg sync -b master -a &&
     test $(stg applied -c) -eq 3 &&
-    test $(cat foo1.txt) == "foo1" &&
-    test $(cat foo2.txt) == "foo2"
+    test $(cat foo1.txt) = "foo1" &&
+    test $(cat foo2.txt) = "foo2"
     '
 
 test_expect_success \
@@ -64,9 +64,9 @@ test_expect_success \
     '
     stg sync -s patches-master/series -a &&
     test $(stg applied -c) -eq 3 &&
-    test $(cat foo1.txt) == "foo1" &&
-    test $(cat foo2.txt) == "foo2" &&
-    test $(cat foo3.txt) == "foo3"
+    test $(cat foo1.txt) = "foo1" &&
+    test $(cat foo2.txt) = "foo2" &&
+    test $(cat foo3.txt) = "foo3"
     '
 
 test_expect_success \
@@ -92,7 +92,7 @@ test_expect_success \
     '
     stg sync -b master p2 &&
     test $(stg applied -c) -eq 3 &&
-    test $(cat bar2.txt) == "bar2"
+    test $(cat bar2.txt) = "bar2"
     '
 
 test_expect_failure \
Previous: Karl HasselströmNext: Karl Hasselström
Message 2 of 5 in “Make test suite work with dash as /bin/sh”
  1. 0/2 Make test suite work with dash as /bin/shKarl Hasselström, Apr 29, 2007
  2. 1/2 String comparison is done with "=", not "=="Karl Hasselström, Apr 29, 2007
  3. 2/2 dash doesn't do curly brace expansion, so avoid thatKarl Hasselström, Apr 29, 2007
  4. Catalin MarinasApr 29, 2007
  5. Karl HasselströmApr 30, 2007

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.