[ARVADOS] updated: 280621308e41e9cc8b8557d27738f186e795780b

Git user git at public.curoverse.com
Mon Jan 30 13:35:12 EST 2017


Summary of changes:
 services/crunch-run/crunchrun_test.go | 67 ++++++++++++-----------------------
 1 file changed, 23 insertions(+), 44 deletions(-)

       via  280621308e41e9cc8b8557d27738f186e795780b (commit)
      from  8e9a3e39375b4dd689cd85a92e77a5eee03b4908 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 280621308e41e9cc8b8557d27738f186e795780b
Author: radhika <radhika at curoverse.com>
Date:   Mon Jan 30 13:34:42 2017 -0500

    9397: test with multiple mount points under subdirectories

diff --git a/services/crunch-run/crunchrun_test.go b/services/crunch-run/crunchrun_test.go
index 1a28dea..fd9f0cb 100644
--- a/services/crunch-run/crunchrun_test.go
+++ b/services/crunch-run/crunchrun_test.go
@@ -57,6 +57,9 @@ var hwImageId = "9c31ee32b3d15268a0754e8edc74d4f815ee014b693bc5109058e431dd5caea
 var otherManifest = ". 68a84f561b1d1708c6baff5e019a9ab3+46+Ae5d0af96944a3690becb1decdf60cc1c937f556d at 5693216f 0:46:md5sum.txt\n"
 var otherPDH = "a3e8f74c6f101eae01fa08bfb4e49b3a+54"
 
+var subdirManifest = ". 3e426d509afffb85e06c4c96a7c15e91+27+Aa124ac75e5168396c73c0a18eda6411234567890 at 569fa8c3 0:9:file1_in_main.txt 9:18:file2_in_main.txt 27:5649:qr1hi-8i9sb-6tjg516fx3dhvnk.log.txt\n./subdir1 3e426d509afffb85e06c4c96a7c15e91+27+Aa124ac75e5168396c73c0a18eda6419876543234 at 569fa8c4 0:9:file1_in_subdir1.txt 9:18:file2_in_subdir1.txt\n./subdir1/subdir2 3e426d509afffb85e06c4c96a7c15e91+27+Aa124ac75e5168396c73c0a18eda6415544332211 at 569fa8c5 0:9:file1_in_subdir2.txt 9:19:file2_in_subdir2.txt\n"
+var subdirPDH = "a0def87f80dd594d4675809e83bd4f15+367"
+
 var fakeAuthUUID = "zzzzz-gj3su-55pqoyepgi2glem"
 var fakeAuthToken = "a3ltuwzqcu2u4sc0q7yhpc2w7s00fdcqecg5d6e0u3pfohmbjt"
 
@@ -182,6 +185,8 @@ func (client *ArvTestClient) Get(resourceType string, uuid string, parameters ar
 			output.(*arvados.Collection).ManifestText = hwManifest
 		} else if uuid == otherPDH {
 			output.(*arvados.Collection).ManifestText = otherManifest
+		} else if uuid == subdirPDH {
+			output.(*arvados.Collection).ManifestText = subdirManifest
 		}
 	}
 	if resourceType == "containers" {
@@ -1143,7 +1148,7 @@ func (s *TestSuite) TestStdoutWithExcludeFromOutputMountPointUnderOutputDir(c *C
 	c.Check(api.CalledWith("collection.manifest_text", "./a/b 307372fa8fd5c146b22ae7a45b49bc31+6 0:6:c.out\n"), NotNil)
 }
 
-func (s *TestSuite) TestStdoutWithMountPointWithNoPathUnderOutputDir(c *C) {
+func (s *TestSuite) TestStdoutWithMountPointForFileUnderOutputDir(c *C) {
 	helperRecord := `{
 		"command": ["/bin/sh", "-c", "echo $FROBIZ"],
 		"container_image": "d4ab34d3d4f8a72f5c4973051ae69fab+122",
@@ -1151,7 +1156,7 @@ func (s *TestSuite) TestStdoutWithMountPointWithNoPathUnderOutputDir(c *C) {
 		"environment": {"FROBIZ": "bilbo"},
 		"mounts": {
         "/tmp": {"kind": "tmp"},
-        "/tmp/foo": {"kind": "collection", "portable_data_hash": "a3e8f74c6f101eae01fa08bfb4e49b3a+54"},
+        "/tmp/foo": {"kind": "collection", "portable_data_hash": "a3e8f74c6f101eae01fa08bfb4e49b3a+54/md5sum.txt"},
         "stdout": {"kind": "file", "path": "/tmp/a/b/c.out"}
     },
 		"output_path": "/tmp",
@@ -1159,7 +1164,7 @@ func (s *TestSuite) TestStdoutWithMountPointWithNoPathUnderOutputDir(c *C) {
 		"runtime_constraints": {}
 	}`
 
-	extraMounts := []string{"a3e8f74c6f101eae01fa08bfb4e49b3a+54"}
+	extraMounts := []string{"a3e8f74c6f101eae01fa08bfb4e49b3a+54/md5sum.txt"}
 
 	api, _ := FullRunHelper(c, helperRecord, extraMounts, func(t *TestDockerClient) {
 		t.logWriter.Write(dockerLog(1, t.env[0][7:]+"\n"))
@@ -1175,13 +1180,13 @@ func (s *TestSuite) TestStdoutWithMountPointWithNoPathUnderOutputDir(c *C) {
 			if strings.Index(collection["name"].(string), "output") == 0 {
 				streams := strings.Split(collection["manifest_text"].(string), "\n")
 				c.Check(streams[0], Equals, "./a/b 307372fa8fd5c146b22ae7a45b49bc31+6 0:6:c.out")
-				c.Check(streams[1], Matches, `\.\/foo.*md5sum\.txt`)
+				c.Check(streams[1], Equals, ". 68a84f561b1d1708c6baff5e019a9ab3+46+Ae5d0af96944a3690becb1decdf60cc1c937f556d at 5693216f 0:46:foo")
 			}
 		}
 	}
 }
 
-func (s *TestSuite) TestStdoutWithMountPointForFileUnderOutputDir(c *C) {
+func (s *TestSuite) TestStdoutWithMultipleMountPointsUnderOutputDir(c *C) {
 	helperRecord := `{
 		"command": ["/bin/sh", "-c", "echo $FROBIZ"],
 		"container_image": "d4ab34d3d4f8a72f5c4973051ae69fab+122",
@@ -1189,7 +1194,10 @@ func (s *TestSuite) TestStdoutWithMountPointForFileUnderOutputDir(c *C) {
 		"environment": {"FROBIZ": "bilbo"},
 		"mounts": {
         "/tmp": {"kind": "tmp"},
-        "/tmp/foo": {"kind": "collection", "portable_data_hash": "a3e8f74c6f101eae01fa08bfb4e49b3a+54/md5sum.txt"},
+        "/tmp/foo": {"kind": "collection", "portable_data_hash": "a0def87f80dd594d4675809e83bd4f15+367"},
+        "/tmp/foo/sub1": {"kind": "collection", "portable_data_hash": "a0def87f80dd594d4675809e83bd4f15+367", "path":"/subdir1"},
+        "/tmp/foo/sub1file2": {"kind": "collection", "portable_data_hash": "a0def87f80dd594d4675809e83bd4f15+367", "path":"/subdir1/file2_in_subdir1.txt"},
+        "/tmp/foo/sub2file2": {"kind": "collection", "portable_data_hash": "a0def87f80dd594d4675809e83bd4f15+367", "path":"/subdir1/subdir2/file2_in_subdir2.txt"},
         "stdout": {"kind": "file", "path": "/tmp/a/b/c.out"}
     },
 		"output_path": "/tmp",
@@ -1197,7 +1205,7 @@ func (s *TestSuite) TestStdoutWithMountPointForFileUnderOutputDir(c *C) {
 		"runtime_constraints": {}
 	}`
 
-	extraMounts := []string{"a3e8f74c6f101eae01fa08bfb4e49b3a+54/md5sum.txt"}
+	extraMounts := []string{"a0def87f80dd594d4675809e83bd4f15+367"}
 
 	api, _ := FullRunHelper(c, helperRecord, extraMounts, func(t *TestDockerClient) {
 		t.logWriter.Write(dockerLog(1, t.env[0][7:]+"\n"))
@@ -1211,47 +1219,18 @@ func (s *TestSuite) TestStdoutWithMountPointForFileUnderOutputDir(c *C) {
 		if v["collection"] != nil {
 			collection := v["collection"].(arvadosclient.Dict)
 			if strings.Index(collection["name"].(string), "output") == 0 {
-				streams := strings.Split(collection["manifest_text"].(string), "\n")
-				c.Check(streams[0], Equals, "./a/b 307372fa8fd5c146b22ae7a45b49bc31+6 0:6:c.out")
-				c.Check(streams[1], Matches, `\.\ .*\ 0:46:foo`)
-			}
-		}
-	}
-}
+				manifest := collection["manifest_text"].(string)
 
-func (s *TestSuite) TestStdoutWithMountPointForFileAsPathUnderOutputDir(c *C) {
-	helperRecord := `{
-		"command": ["/bin/sh", "-c", "echo $FROBIZ"],
-		"container_image": "d4ab34d3d4f8a72f5c4973051ae69fab+122",
-		"cwd": "/bin",
-		"environment": {"FROBIZ": "bilbo"},
-		"mounts": {
-        "/tmp": {"kind": "tmp"},
-        "/tmp/foo": {"kind": "collection", "portable_data_hash": "a3e8f74c6f101eae01fa08bfb4e49b3a+54", "path":"/md5sum.txt"},
-        "stdout": {"kind": "file", "path": "/tmp/a/b/c.out"}
-    },
-		"output_path": "/tmp",
-		"priority": 1,
-		"runtime_constraints": {}
-	}`
+				c.Check(-1, Not(Equals), strings.Index(manifest, "./a/b 307372fa8fd5c146b22ae7a45b49bc31+6 0:6:c.out"))
 
-	extraMounts := []string{"a3e8f74c6f101eae01fa08bfb4e49b3a+54"}
+				origManifestWithDotReplacedAsFoo := strings.Replace(subdirManifest, "./", "./foo/", -1)
+				c.Check(-1, Not(Equals), strings.Index(manifest, "./foo"+origManifestWithDotReplacedAsFoo[1:]))
 
-	api, _ := FullRunHelper(c, helperRecord, extraMounts, func(t *TestDockerClient) {
-		t.logWriter.Write(dockerLog(1, t.env[0][7:]+"\n"))
-		t.logWriter.Close()
-		t.finish <- dockerclient.WaitResult{ExitCode: 0}
-	})
+				c.Check(-1, Not(Equals), strings.Index(manifest, "./foo/sub1 3e426d509afffb85e06c4c96a7c15e91+27+Aa124ac75e5168396c73c0a18eda6419876543234 at 569fa8c4 0:9:file1_in_subdir1.txt 9:18:file2_in_subdir1.txt"))
 
-	c.Check(api.CalledWith("container.exit_code", 0), NotNil)
-	c.Check(api.CalledWith("container.state", "Complete"), NotNil)
-	for _, v := range api.Content {
-		if v["collection"] != nil {
-			collection := v["collection"].(arvadosclient.Dict)
-			if strings.Index(collection["name"].(string), "output") == 0 {
-				streams := strings.Split(collection["manifest_text"].(string), "\n")
-				c.Check(streams[0], Equals, "./a/b 307372fa8fd5c146b22ae7a45b49bc31+6 0:6:c.out")
-				c.Check(streams[1], Matches, `\.\ .*\ 0:46:foo`)
+				c.Check(-1, Not(Equals), strings.Index(manifest, "./foo 3e426d509afffb85e06c4c96a7c15e91+27+Aa124ac75e5168396c73c0a18eda6419876543234 at 569fa8c4 9:18:sub1file2"))
+
+				c.Check(-1, Not(Equals), strings.Index(manifest, "./foo 3e426d509afffb85e06c4c96a7c15e91+27+Aa124ac75e5168396c73c0a18eda6415544332211 at 569fa8c5 9:19:sub2file2"))
 			}
 		}
 	}

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list