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

Reply via email to