public inbox for mauve-discuss@sourceware.org
 help / color / mirror / Atom feed
* about Jacks' functioning
@ 2006-04-27 17:03 Toni Masse
  2006-05-18 16:18 ` Tom Tromey
  0 siblings, 1 reply; 3+ messages in thread
From: Toni Masse @ 2006-04-27 17:03 UTC (permalink / raw)
  To: mauve-discuss

Hello,

My team and me would like to use Jacks to test our own java compiler, 
however I'm not very experienced with Tcl;
so I'd like to know how Jacks determines the compilation result (I've 
looked in jacks.tcl but I'm not sure about the exact behavior of Jacks),
and why is a cvs client needed to generate the change file (with "jacks 
loggen" command)? Could I deactivate it?

Thanks a lot for your help,
Toni Masse

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: about Jacks' functioning
  2006-04-27 17:03 about Jacks' functioning Toni Masse
@ 2006-05-18 16:18 ` Tom Tromey
  2006-06-01 10:47   ` Toni Masse
  0 siblings, 1 reply; 3+ messages in thread
From: Tom Tromey @ 2006-05-18 16:18 UTC (permalink / raw)
  To: Toni Masse; +Cc: mauve-discuss

>>>>> "Toni" == Toni Masse <toni.masse@ateji.com> writes:

Sorry about the big delay in my reply.

Toni> My team and me would like to use Jacks to test our own java compiler,
Toni> however I'm not very experienced with Tcl;
Toni> so I'd like to know how Jacks determines the compilation result (I've
Toni> looked in jacks.tcl but I'm not sure about the exact behavior of
Toni> Jacks),

The proc named _exec_impl is used to actually invoke the compiler.
This chunk invokes it:

        set cmd "exec $prog $prog_flags $prog_args > exec.out 2> exec.err"

        if {[info exists ::env(JACKS_EXEC_DEBUG)]} {
            puts stderr "JACKS_EXEC_DEBUG: $cmd"
        }

        eval $cmd

This is wrapped in a 'catch' clause; Tcl's exec command throws an
exception if the exec "fails", which in Tcl means that either it
really fails (command not found or something) or that the command
returns a non-zero exit status.  I'm not sure how this works on other
platforms.

Toni> and why is a cvs client needed to generate the change file (with
Toni> "jacks loggen" command)? Could I deactivate it?

Yeah, I've always wondered about this myself.  The jacks logging stuff
seems a bit user-unfriendly.  I'm sure it can be deactivated somehow.

Tom

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: about Jacks' functioning
  2006-05-18 16:18 ` Tom Tromey
@ 2006-06-01 10:47   ` Toni Masse
  0 siblings, 0 replies; 3+ messages in thread
From: Toni Masse @ 2006-06-01 10:47 UTC (permalink / raw)
  To: tromey; +Cc: mauve-discuss

Sorry about the delay, too.
I've found some more answers a few weeks ago:

Tom Tromey a écrit :
> Toni> so I'd like to know how Jacks determines the compilation result (I've
> Toni> looked in jacks.tcl but I'm not sure about the exact behavior of
> Toni> Jacks),
>
> The proc named _exec_impl is used to actually invoke the compiler.
> This chunk invokes it:
>
>         set cmd "exec $prog $prog_flags $prog_args > exec.out 2> exec.err"
>
>         if {[info exists ::env(JACKS_EXEC_DEBUG)]} {
>             puts stderr "JACKS_EXEC_DEBUG: $cmd"
>         }
>
>         eval $cmd
>
> This is wrapped in a 'catch' clause; Tcl's exec command throws an
> exception if the exec "fails", which in Tcl means that either it
> really fails (command not found or something) or that the command
> returns a non-zero exit status.  I'm not sure how this works on other
> platforms.
>   
For example, Tcl's exec command will fail if the executable calls java, 
and the java program throws an exception. It works fine under Windows 
using Cygwin, oddly it works if the executable is a batch file but not a 
shell script.

> Toni> and why is a cvs client needed to generate the change file (with
> Toni> "jacks loggen" command)? Could I deactivate it?
>
> Yeah, I've always wondered about this myself.  The jacks logging stuff
> seems a bit user-unfriendly.  I'm sure it can be deactivated somehow.
>
> Tom
>   
Actually CVS is used by Jacks to compare the revisions of the 
logging/compiler_name.log file with the cvs diff command; that's how you 
get an incremental list of transitions (clever, isn't it? ;) )
This means you just need to commit the log file each time you think you 
passed an important step in the changes to the compiler; so the 
compiler_name.changes file will
take it into account, and point out the transitions from this important 
step to your last test.
This also means it doesn't make any sense to deactivate it :)

Cheers,
Toni

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-06-01 10:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-27 17:03 about Jacks' functioning Toni Masse
2006-05-18 16:18 ` Tom Tromey
2006-06-01 10:47   ` Toni Masse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).