Am 9. Januar 2011 16:04 schrieb Adeodato Simo <[email protected]>: > --- a/qa/qa_group.py > +++ b/qa/qa_group.py > +def TestAssignNodesIncludingSplit(orig_group, node1, node2): > + """gnt-group assign-nodes --force""" > + groups = qa_config.get("groups", {}) > + other_group = groups.get("inexistent-groups", ["group1"])[0] > + > + master_node = qa_config.GetMasterNode()["primary"] > + > + def AssertInGroup(group, nodes): > + expected_output = (group + "\n") * len(nodes) > + real_output = GetCommandOutput(master_node, > + "gnt-node list --no-headers -o group " + > + utils.ShellQuoteArgs(nodes)) > + AssertEqual(expected_output, real_output)
If you use .splitlines, the code becomes simpler: AssertEqual(real_output.splitlines(), [group] * len(nodes)) > + AssertInGroup(orig_group, [node1, node2]) > + AssertCommand(["gnt-group", "add", other_group]) > + > + try: > + AssertCommand(["gnt-group", "assign-nodes", other_group, node1, node2]) > + AssertInGroup(other_group, [node1, node2]) > + > + AssertCommand(["gnt-group", "assign-nodes", orig_group, node1], > fail=True) Can you please add a comment as to why this should fail? > + AssertInGroup(other_group, [node1, node2]) > + > + AssertCommand(["gnt-group", "assign-nodes", "--force", orig_group, > node1]) > + AssertInGroup(orig_group, [node1]) > + AssertInGroup(other_group, [node2]) > + > + AssertCommand(["gnt-group", "assign-nodes", orig_group, node2]) > + AssertInGroup(orig_group, [node1, node2]) > + finally: > + AssertCommand(["gnt-group", "remove", other_group]) Michael
