MCPcopy Index your code
hub / github.com/rclone/rclone / TestCmdTest

Function TestCmdTest

cmdtest/cmdtest_test.go:152–217  ·  view source on GitHub ↗

TestCmdTest demonstrates and verifies the test functions for end-to-end testing of rclone

(t *testing.T)

Source from the content-addressed store, hash-verified

150
151// TestCmdTest demonstrates and verifies the test functions for end-to-end testing of rclone
152func TestCmdTest(t *testing.T) {
153 createTestEnvironment(t)
154
155 // Test simple call and output from rclone
156 out, err := rclone("version")
157 t.Log("rclone version\n" + out)
158 if assert.NoError(t, err) {
159 assert.Contains(t, out, "rclone v")
160 assert.Contains(t, out, "version: ")
161 assert.NotContains(t, out, "Error:")
162 assert.NotContains(t, out, "--help")
163 assert.NotContains(t, out, " DEBUG : ")
164 assert.Regexp(t, "rclone\\s+v\\d+\\.\\d+", out) // rclone v_.__
165 }
166
167 // Test multiple arguments and DEBUG output
168 out, err = rclone("version", "-vv")
169 if assert.NoError(t, err) {
170 assert.Contains(t, out, "rclone v")
171 assert.Contains(t, out, " DEBUG : ")
172 }
173
174 // Test error and error output
175 out, err = rclone("version", "--provoke-an-error")
176 if assert.Error(t, err) {
177 assert.Contains(t, err.Error(), "exit status 2")
178 assert.Contains(t, out, "Error: unknown flag")
179 }
180
181 // Test effect of environment variable
182 env := "RCLONE_LOG_LEVEL=DEBUG"
183 out, err = rcloneEnv(env, "version")
184 if assert.NoError(t, err) {
185 assert.Contains(t, out, "rclone v")
186 assert.Contains(t, out, " DEBUG : ")
187 }
188
189 // Test effect of multiple environment variables, including one with ,
190 env = "RCLONE_LOG_LEVEL=DEBUG;RCLONE_LOG_FORMAT=date,shortfile;RCLONE_STATS=173ms"
191 out, err = rcloneEnv(env, "version")
192 if assert.NoError(t, err) {
193 assert.Contains(t, out, "rclone v")
194 assert.Contains(t, out, " DEBUG : ")
195 assert.Regexp(t, "[^\\s]+\\.go:\\d+:", out) // ___.go:__:
196 assert.Contains(t, out, "173ms")
197 }
198
199 // Test setup of config file
200 out, err = rclone("config", "create", "myLocal", "local")
201 if assert.NoError(t, err) {
202 assert.Contains(t, out, "[myLocal]")
203 assert.Contains(t, out, "type = local")
204 }
205
206 // Test creation of simple test data
207 createSimpleTestData(t)
208
209 // Test access to config file and simple test data

Callers

nothing calls this directly

Calls 7

createTestEnvironmentFunction · 0.85
rcloneFunction · 0.85
rcloneEnvFunction · 0.85
createSimpleTestDataFunction · 0.85
LogMethod · 0.80
ContainsMethod · 0.80
ErrorMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…