[squeak-dev] Logging progress during an update

Frank Shearar frank.shearar at gmail.com
Tue Sep 17 07:40:58 UTC 2013


I really do need to take the time to look at that guy... So I should, for the moment, just need to catch the PIEs to log? I tried that but maybe I did it wrong. I'll take another run at it. We definitely do need a command line processor in trunk, at any rate. Loads of the CI work is working around our lack thereof.

frank

On 17 Sep 2013, at 2:47, Chris Muller <asqueaker at gmail.com> wrote:

> I use MaCommandLineProcessor to do all of my batch logging.  Here's
> it's main processing method which bridges the OS world with the
> Smalltalk world (e.g., parsing command-line arguments and logging
> output):
> 
> MaCommandLineProcess class>>#do: aBlock
>     self ensureStartedUp.
>     [ [ aBlock valueWithAllArguments: self args ]
>          on: ProgressInitiationException
>          do:
>               [ : pie | "Don't want to log this notification."
>               pie defaultAction ] ]
>          on: Notification , Warning
>          do:
>               [ : noti | StandardFileStream stdout
>                     nextPutAll: DateAndTime now asString ;
>                     space ;
>                     nextPutAll: noti description ;
>                     cr.
>               noti resume ]
>          on: SyntaxErrorNotification
>          do:
>               [ : err | StandardFileStream stdout
>                     nextPutAll: err errorCode ;
>                     cr.
>               self haltOrQuit ]
>          on: Error
>          do:
>               [ : err | err printVerboseOn: StandardFileStream stderr.
>               self haltOrQuit.
>               err isResumable ifTrue: [ err resume ] ]
> 
> I've used MaCommandLineProcessor for years and I think it suits
> Squeak's TSTTCPW philosophy which is why I've had an itch to try
> renaming and polishing it for the trunk.  But I don't know how it
> would be received, so I haven't done the work.
> 
> HTH.
> 
> On Mon, Sep 16, 2013 at 4:59 PM, Frank Shearar <frank.shearar at gmail.com> wrote:
>> In my continuing CI tribulations (which hopefully are now drawing to a
>> close) I have reached a point where I have a new problem: builds time
>> out on Travis CI (which runs 'rake test' on every commit to the GitHub
>> repository) because Travis thinks the build has hung, because of a
>> lack of timeous logging.
>> 
>> I thought I'd log progressive updates, like "loading
>> Monticello-foo.1234" or similar. I can't quite make sense of things
>> though. I thought perhaps I could just catch ProgressNotifications or
>> ProgressInitiationExceptions, but neither worked. Does the update
>> process throw progress-displaying exceptions that I can catch? Is
>> there another way of logging the notifications to stdout?
>> 
>> Thanks!
>> 
>> frank
>> 
> 


More information about the Squeak-dev mailing list