Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#2949 closed defect (fixed)

descriptionDone may not always be coerced into list of strings; thus causing exception

Reported by: bms20 Owned by: dustin
Priority: major Milestone: undecided
Version: 0.8.9 Keywords:

Description (last modified by sa2ajj)

I've run into a problem where a ShellCommand may create an exception.

It appears that the basic idea behind the descriptionDone field (and I suspect the description field as well) are that they are strings or lists of strings denoting text to be reported on completion of a BuildStep.

The problem arises when I create a ShellCommand and provide a string description field. In both MasterShellCommand and ShellCommand the input to the field descriptionDone is checked to verify whether it is an instance of a string or not.

This test fails when one provides a unicode string - thus the resulting exception is raised on line 716 of buildbot/process/ when the code attempts to add a list of string to a unicode item.

Can I suggest that the test is inverted such that if the item is not of type list, then the item is embedded in a list prior to storage on self.descriptionDone?

Additionally, can this process be moved to the base class constructor?

Change History (4)

comment:1 Changed 5 years ago by sa2ajj

  • Description modified (diff)
  • Type changed from undecided to defect

comment:2 Changed 5 years ago by dustin

  • Owner set to dustin
  • Status changed from new to assigned

This is closely related to #2818. I'll fix it up.

comment:3 Changed 5 years ago by Dustin J. Mitchell <dustin@…>

  • Resolution set to fixed
  • Status changed from assigned to closed

In aeddbc5e1ea017e920bd89f5a33197aed971cfb3:

move support for description{,Done,Suffix} entirely to BuildStep?

Fixes #2949.

comment:4 Changed 5 years ago by Mikhail Sobolev <mss@…>

In ae0e33d970174f668dbabe38a2789e480435f10f:

Merge pull request #1271 from djmitche/bug2949

move support for description{,Done,Suffix} entirely to BuildStep?

See ticket:2818
Fixes ticket:2949

Note: See TracTickets for help on using tickets.