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

[PATCH v7 6/6] fast-import: test the new option command

From
Sverre Rabbelier <srabbelier@gmail.com>
Date
Sep 6, 2009, 14:35 UTC
Message-ID
<1252247748-14507-7-git-send-email-srabbelier@gmail.com>
In-Reply-To
<1252247748-14507-6-git-send-email-srabbelier@gmail.com>

Test three options (quiet and import/export-marks) and verify that the commandline options override these.

Also make sure that a option command without a preceeding feature git-options command is rejected and that non-git options are ignored.

Lastly, make sure that git options that we do not recognise are ignored as well, but that they are rejected when parsed on the commandline.

Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com>
---
  Updated tests for the new behavior.
 t/t9300-fast-import.sh |   89 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 88 insertions(+), 1 deletions(-)
diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh
index 564ed6b..d33fc55 100755
--- a/t/t9300-fast-import.sh
+++ b/t/t9300-fast-import.sh
@@ -1089,7 +1089,7 @@ test_expect_success 'P: fail on blob mark in gitlink' '
     test_must_fail git fast-import <input'
 
 ###
-### series R (feature)
+### series R (feature and option)
 ###
 
 cat >input <<EOF
@@ -1108,4 +1108,91 @@ test_expect_success 'R: supported feature is accepted' '
 	git fast-import <input
 '
 
+cat >input << EOF
+feature git-options
+option git quiet
+blob
+data 3
+hi
+
+EOF
+
+touch empty
+
+test_expect_success 'R: quiet option results in no stats being output' '
+    cat input | git fast-import 2> output &&
+    test_cmp empty output
+'
+
+cat >input << EOF
+feature git-options
+option git export-marks=git.marks
+blob
+mark :1
+data 3
+hi
+
+EOF
+
+test_expect_success \
+    'R: export-marks option results in a marks file being created' \
+    'cat input | git fast-import &&
+    grep :1 git.marks'
+
+test_expect_success \
+    'R: export-marks options can be overriden by commandline options' \
+    'cat input | git fast-import --export-marks=other.marks &&
+    grep :1 other.marks'
+
+cat >input << EOF
+feature git-options
+option git import-marks=marks.out
+option git export-marks=marks.new
+EOF
+
+test_expect_success \
+    'R: import to output marks works without any content' \
+    'cat input | git fast-import &&
+    test_cmp marks.out marks.new'
+
+cat >input <<EOF
+feature git-options
+option git import-marks=nonexistant.marks
+option git export-marks=marks.new
+EOF
+
+test_expect_success \
+    'R: import marks prefers commandline marks file over the stream' \
+    'cat input | git fast-import --import-marks=marks.out &&
+    test_cmp marks.out marks.new'
+
+cat >input <<EOF
+feature git-options
+option git non-existing-option
+EOF
+
+test_expect_success \
+    'R: feature option is accepted and ignores unknown options' \
+    'git fast-import <input'
+
+cat >input <<EOF
+option git quiet
+EOF
+
+test_expect_success 'R: unknown commandline options are rejected' '\
+    test_must_fail git fast-import --non-existing-option < /dev/null
+'
+
+test_expect_success \
+    'R: option without preceeding feature command is rejected' \
+    'test_must_fail git fast-import <input'
+
+cat >input <<EOF
+option non-existing-vcs non-existing-option
+EOF
+
+test_expect_success 'R: ignore non-git options' '
+    git fast-import <input
+'
+
 test_done
-- 
1.6.4.16.g72c66.dirty
Previous: Sverre RabbelierNext: Shawn O. Pearce
Message 7 of 15 in “fast-import: add new feature and option command”
  1. 0/6 fast-import: add new feature and option commandSverre Rabbelier, Sep 6, 2009
  2. 1/6 fast-import: put option parsing code in separate functionsSverre Rabbelier, Sep 6, 2009
  3. 2/6 fast-import: put marks reading in it's own functionSverre Rabbelier, Sep 6, 2009
  4. 3/6 fast-import: add feature commandSverre Rabbelier, Sep 6, 2009
  5. 4/6 fast-import: test the new feature commandSverre Rabbelier, Sep 6, 2009
  6. 5/6 fast-import: add option commandSverre Rabbelier, Sep 6, 2009
  7. 6/6 fast-import: test the new option commandSverre Rabbelier, Sep 6, 2009
  8. Shawn O. PearceSep 12, 2009
  9. Sverre RabbelierSep 12, 2009
  10. Shawn O. PearceSep 12, 2009
  11. Sverre RabbelierSep 12, 2009
  12. Miklos VajnaSep 13, 2009
  13. Shawn O. PearceSep 12, 2009
  14. Sverre RabbelierSep 12, 2009
  15. Shawn O. PearceSep 12, 2009

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.