summaryrefslogtreecommitdiffstats
path: root/t/t0100-environment-names.sh
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-05-14 07:52:42 +0200
committerPetr Baudis <xpasky@machine.sinus.cz>2005-05-14 17:41:01 +0200
commit368f99d57e8ed17243f2e164431449d48bfca2fb (patch)
treee796629de967435998081b62f62a14de08178965 /t/t0100-environment-names.sh
parent[PATCH 1/2] Test framework take two. (diff)
downloadgit-368f99d57e8ed17243f2e164431449d48bfca2fb.tar.xz
git-368f99d57e8ed17243f2e164431449d48bfca2fb.zip
[PATCH 2/2] The core GIT tests: recent additions and fixes.
This set of scripts are designed to test the features and fixes we recently added to core GIT. The convention to call test helper function has been changed during the framework cleanup (take two), and these tests have been updated to use the cleaned up test-lib.sh interface. Signed-off-by: Junio C Hamano <junkio@cox.net> Note that this does not include the t2000-diff.sh script since it tests a patch which was not applied yet. Signed-off-by: Petr Baudis <pasky@ucw.cz>
Diffstat (limited to 't/t0100-environment-names.sh')
-rwxr-xr-xt/t0100-environment-names.sh84
1 files changed, 84 insertions, 0 deletions
diff --git a/t/t0100-environment-names.sh b/t/t0100-environment-names.sh
new file mode 100755
index 0000000000..9f851bc114
--- /dev/null
+++ b/t/t0100-environment-names.sh
@@ -0,0 +1,84 @@
+#!/bin/sh
+#
+# Copyright (c) 2005 Junio C Hamano
+#
+
+test_description='general environment name warning test.
+
+This test makes sure that use of deprecated environment variables
+trigger the warnings from gitenv().'
+
+env_vars='GIT_AUTHOR_DATE:AUTHOR_DATE
+GIT_AUTHOR_EMAIL:AUTHOR_EMAIL
+GIT_AUTHOR_NAME:AUTHOR_NAME
+GIT_COMMITTER_EMAIL:COMMIT_AUTHOR_EMAIL
+GIT_COMMITTER_NAME:COMMIT_AUTHOR_NAME
+GIT_ALTERNATE_OBJECT_DIRECTORIES:SHA1_FILE_DIRECTORIES
+GIT_OBJECT_DIRECTORY:SHA1_FILE_DIRECTORY
+'
+
+. ./test-lib.sh
+
+export_them () {
+ for ev in $env_vars
+ do
+ new=$(expr "$ev" : '\(.*\):')
+ old=$(expr "$ev" : '.*:\(.*\)')
+ # Build and eval the following:
+ # case "${VAR+set}" in set) export VAR;; esac
+ evstr='case "${'$new'+set}" in set) export '$new';; esac'
+ eval "$evstr"
+ evstr='case "${'$old'+set}" in set) export '$old';; esac'
+ eval "$evstr"
+ done
+}
+
+date >path0
+git-update-cache --add path0
+tree=$(git-write-tree)
+
+AUTHOR_DATE='Wed May 11 23:55:18 2005'
+AUTHOR_EMAIL='author@example.xz'
+AUTHOR_NAME='A U Thor'
+COMMIT_AUTHOR_EMAIL='author@example.xz'
+COMMIT_AUTHOR_NAME='A U Thor'
+SHA1_FILE_DIRECTORY=.git/objects
+
+export_them
+
+echo 'foo' | git-commit-tree $tree >/dev/null 2>errmsg
+cat >expected-err <<\EOF
+warning: Attempting to use SHA1_FILE_DIRECTORY
+warning: GIT environment variables have been renamed.
+warning: Please adjust your scripts and environment.
+warning: old AUTHOR_DATE => new GIT_AUTHOR_DATE
+warning: old AUTHOR_EMAIL => new GIT_AUTHOR_EMAIL
+warning: old AUTHOR_NAME => new GIT_AUTHOR_NAME
+warning: old COMMIT_AUTHOR_EMAIL => new GIT_COMMITTER_EMAIL
+warning: old COMMIT_AUTHOR_NAME => new GIT_COMMITTER_NAME
+warning: old SHA1_FILE_DIRECTORY => new GIT_OBJECT_DIRECTORY
+EOF
+sed -ne '/^warning: /p' <errmsg >generated-err
+
+test_expect_success \
+ 'using old names should issue warnings.' \
+ 'cmp generated-err expected-err'
+
+for ev in $env_vars
+do
+ new=$(expr "$ev" : '\(.*\):')
+ old=$(expr "$ev" : '.*:\(.*\)')
+ # Build and eval the following:
+ # NEWENV=$OLDENV
+ evstr="$new=\$$old"
+ eval "$evstr"
+done
+export_them
+echo 'foo' | git-commit-tree $tree >/dev/null 2>errmsg
+sed -ne '/^warning: /p' <errmsg >generated-err
+
+test_expect_success \
+ 'using old names but having new names should not issue warnings.' \
+ 'cmp generated-err /dev/null'
+
+test_done