-
Notifications
You must be signed in to change notification settings - Fork 637
Expand file tree
/
Copy pathwin32_system_dir.bat
More file actions
154 lines (117 loc) · 3.66 KB
/
win32_system_dir.bat
File metadata and controls
154 lines (117 loc) · 3.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
@ECHO OFF
ECHO ---------------------------------------------------------------
ruby -I lib -r rake -e "print ' platform: ' + (Rake::Win32.windows? ? 'Windows' : 'Unix')"
ruby -e "puts ' / branch: ' + %%x{git symbolic-ref --quiet --short HEAD}.chomp"
ECHO:
GOTO :main
:echoWindowsEnv
ECHO [Windows] %%HOME%%=%HOME%
ECHO [Windows] %%HOMEDRIVE%%=%HOMEDRIVE%
ECHO [Windows] %%HOMEPATH%%=%HOMEPATH%
ECHO [Windows] %%APPDATA%%=%APPDATA%
ECHO [Windows] %%USERPROFILE%%=%USERPROFILE%
ECHO:
GOTO :eof
:putsRubyEnv
ruby -e 'puts "[Ruby] ENV[\"HOME\"] = " + ENV.fetch("HOME", "nil")'
ruby -e 'puts "[Ruby] ENV[\"HOMEDRIVE\"] = " + ENV.fetch("HOMEDRIVE", "nil")'
ruby -e 'puts "[Ruby] ENV[\"HOMEPATH\"] = " + ENV.fetch("HOMEPATH", "nil")'
ruby -e 'puts "[Ruby] ENV[\"APPDATA\"] = " + ENV.fetch("APPDATA", "nil")'
ruby -e 'puts "[Ruby] ENV[\"USERPROFILE\"] = " + ENV.fetch("USERPROFILE", "nil")'
ECHO:
GOTO :eof
:returnRubyDirHome
for /f "delims=" %%i in ('ruby -e "puts File.join(Dir.home, \"Rake\")"') do set RUBY_DIR=%%i
GOTO :eof
:returnRakeWin32SystemDir
for /f "delims=" %%i in ('ruby -I lib -r rake -e "puts Rake::Win32::win32_system_dir"') do set RAKE_DIR=%%i
GOTO :eof
:compareValues
CALL :returnRubyDirHome
CALL :returnRakeWin32SystemDir
ECHO [Ruby] File.join^(Dir.home, "Rake"^) =^> %RUBY_DIR%
ECHO [Rake] Rake::Win32::win32_system_dir =^> %RAKE_DIR%
if "%RUBY_DIR%"=="%RAKE_DIR%" (
ECHO ✅ PASS: Values match
) else (
ECHO ❌ FAIL: Values do not match
set /a FAILURE_COUNT+=1
)
GOTO :eof
:main
SET FAILURE_COUNT=0
ECHO ---------------------------------------------------------------
ECHO 1/5 - %%HOME%% set in Windows env
ECHO ---------------------------------------------------------------
SET HOME=C:\HP
SET HOMEDRIVE=
SET HOMEPATH=
SET APPDATA=
SET USERPROFILE=
CALL :echoWindowsEnv
CALL :putsRubyEnv
CALL :compareValues
ECHO:
ECHO ---------------------------------------------------------------
ECHO 2/5 - %%HOMEDRIVE%% and %%HOMEPATH%% set in Windows env
ECHO ---------------------------------------------------------------
SET HOME=
SET HOMEDRIVE=C:
SET HOMEPATH=\HP
SET APPDATA=
SET USERPROFILE=
CALL :echoWindowsEnv
CALL :putsRubyEnv
CALL :compareValues
ECHO:
ECHO ---------------------------------------------------------------
ECHO 3/5 - %%APPDATA%% set in Windows env
ECHO ---------------------------------------------------------------
SET HOME=
SET HOMEDRIVE=
SET HOMEPATH=
SET APPDATA=C:\Documents and Settings\HP\Application Data
SET USERPROFILE=
CALL :echoWindowsEnv
CALL :putsRubyEnv
CALL :compareValues
ECHO:
ECHO ---------------------------------------------------------------
ECHO 4/5 - %%USERPROFILE%% set in Windows env
ECHO ---------------------------------------------------------------
SET HOME=
SET HOMEDRIVE=
SET HOMEPATH=
SET APPDATA=
SET USERPROFILE=C:\Documents and Settings\HP
CALL :echoWindowsEnv
CALL :putsRubyEnv
CALL :compareValues
ECHO:
ECHO ---------------------------------------------------------------
ECHO 5/5 - nothing set in Windows env
ECHO ---------------------------------------------------------------
ECHO Ruby *always* sets HOME [and USER for that matter]
ECHO in *its* environment, even if these are not set in
ECHO the Windows environment.
ECHO:
ECHO https://github.com/ruby/ruby/commit/c41cefd492
ECHO ---------------------------------------------------------------
SET HOME=
SET HOMEDRIVE=
SET HOMEPATH=
SET APPDATA=
SET USERPROFILE=
CALL :echoWindowsEnv
CALL :putsRubyEnv
CALL :compareValues
ECHO:
ECHO ----------------------------------
ECHO:
if %FAILURE_COUNT% GTR 0 (
ECHO ❌ OVERALL RESULT: %FAILURE_COUNT% test^(s^) failed
exit /b 1
) else (
ECHO ✅ OVERALL RESULT: All tests passed
exit /b 0
)