Changeset a9272522 in trunk
- Timestamp:
- 2013-01-03T22:16:20Z (12 years ago)
- Branches:
- master
- Children:
- 8df3a07
- Parents:
- 456955e
- Location:
- src/allmydata
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/allmydata/scripts/tahoe_check.py ¶
r456955e ra9272522 78 78 stdout.write(" repair failed\n") 79 79 else: 80 stdout.write("Summary: %s\n" % quote_output(data["summary"], quotemarks=False)) 80 # LIT files and directories do not have a "summary" field. 81 summary = data.get("summary", "Healthy (LIT)") 82 stdout.write("Summary: %s\n" % quote_output(summary, quotemarks=False)) 81 83 cr = data["results"] 82 84 stdout.write(" storage index: %s\n" % quote_output(data["storage-index"], quotemarks=False)) 83 stdout.write(" good-shares: %r (encoding is %r-of-%r)\n" 84 % (cr["count-shares-good"], 85 cr["count-shares-needed"], 86 cr["count-shares-expected"])) 87 stdout.write(" wrong-shares: %r\n" % cr["count-wrong-shares"]) 88 corrupt = cr["list-corrupt-shares"] 85 86 if all([field in cr for field in ("count-shares-good", "count-shares-needed", 87 "count-shares-expected", "count-wrong-shares")]): 88 stdout.write(" good-shares: %r (encoding is %r-of-%r)\n" 89 % (cr["count-shares-good"], 90 cr["count-shares-needed"], 91 cr["count-shares-expected"])) 92 stdout.write(" wrong-shares: %r\n" % cr["count-wrong-shares"]) 93 94 corrupt = cr.get("list-corrupt-shares", []) 89 95 if corrupt: 90 96 stdout.write(" corrupt shares:\n") 91 97 for (serverid, storage_index, sharenum) in corrupt: 92 98 stdout.write(" %s\n" % _quote_serverid_index_share(serverid, storage_index, sharenum)) 99 93 100 return 0 94 101 … … 139 146 if not path: 140 147 path = ["<root>"] 148 149 # LIT files and directories do not have a "summary" field. 141 150 summary = cr.get("summary", "Healthy (LIT)") 142 151 print >>stdout, "%s: %s" % (quote_path(path), quote_output(summary, quotemarks=False)) -
TabularUnified src/allmydata/test/test_cli.py ¶
r456955e ra9272522 2954 2954 data = simplejson.loads(out) 2955 2955 self.failUnlessReallyEqual(to_str(data["summary"]), "Healthy") 2956 self.failUnlessReallyEqual(data["results"]["healthy"], True) 2956 2957 d.addCallback(_check2) 2958 2959 d.addCallback(lambda ign: c0.upload(upload.Data("literal", convergence=""))) 2960 def _stash_lit_uri(n): 2961 self.lit_uri = n.get_uri() 2962 d.addCallback(_stash_lit_uri) 2963 2964 d.addCallback(lambda ign: self.do_cli("check", self.lit_uri)) 2965 def _check_lit((rc, out, err)): 2966 self.failUnlessReallyEqual(err, "") 2967 self.failUnlessReallyEqual(rc, 0) 2968 lines = out.splitlines() 2969 self.failUnless("Summary: Healthy (LIT)" in lines, out) 2970 d.addCallback(_check_lit) 2971 2972 d.addCallback(lambda ign: self.do_cli("check", "--raw", self.lit_uri)) 2973 def _check_lit_raw((rc, out, err)): 2974 self.failUnlessReallyEqual(err, "") 2975 self.failUnlessReallyEqual(rc, 0) 2976 data = simplejson.loads(out) 2977 self.failUnlessReallyEqual(data["results"]["healthy"], True) 2978 d.addCallback(_check_lit_raw) 2979 2980 d.addCallback(lambda ign: c0.create_immutable_dirnode({}, convergence="")) 2981 def _stash_lit_dir_uri(n): 2982 self.lit_dir_uri = n.get_uri() 2983 d.addCallback(_stash_lit_dir_uri) 2984 2985 d.addCallback(lambda ign: self.do_cli("check", self.lit_dir_uri)) 2986 d.addCallback(_check_lit) 2987 2988 d.addCallback(lambda ign: self.do_cli("check", "--raw", self.lit_uri)) 2989 d.addCallback(_check_lit_raw) 2957 2990 2958 2991 def _clobber_shares(ignored): … … 2984 3017 self.failUnless(self._corrupt_share_line in lines, out) 2985 3018 d.addCallback(_check3) 3019 3020 d.addCallback(lambda ign: self.do_cli("check", "--verify", "--raw", self.uri)) 3021 def _check3_raw((rc, out, err)): 3022 self.failUnlessReallyEqual(err, "") 3023 self.failUnlessReallyEqual(rc, 0) 3024 data = simplejson.loads(out) 3025 self.failUnlessReallyEqual(data["results"]["healthy"], False) 3026 self.failUnlessIn("Unhealthy: 8 shares (enc 3-of-10)", data["summary"]) 3027 self.failUnlessReallyEqual(data["results"]["count-shares-good"], 8) 3028 self.failUnlessReallyEqual(data["results"]["count-corrupt-shares"], 1) 3029 self.failUnlessIn("list-corrupt-shares", data["results"]) 3030 d.addCallback(_check3_raw) 2986 3031 2987 3032 d.addCallback(lambda ign:
Note: See TracChangeset
for help on using the changeset viewer.