GUI test functionality

edited September 2011 in KLayout Support
Hi Matthias,

Thanks for this impressive program, it seems to have more functionality than some of the EDA/CAD s/w that we use & I'm prototyping an enhancement to an internal checking application to use Klayout's XOR functionalty.

Instead of attempting to learn Ruby to implement a script I tried using the -gr command line option to record the user menu picks to automate the process, which appears to have worked correctly, however using the command line options -gp <file> -gb <line_number> doesn't appear to work, since the application exits. Am I trying to use this incorrectly?
Also, how does the -gi option work?

Thanks In Advance,
Dave

Comments

  • edited 7:58PM

    Hi Dave,

    The -g* options are basically used for regression testing only. Basically you're right - the options allow to record and replay mouse and key events, but there is not much functionality beside that. In addition, the replay does not work correctly in some cases (i.e. combo boxes) so I would not advise using that functionality in real applications. For example, It's probably very hard to trick the replay mechanism into loading a file with a given file name ...

    The -gb option is basically just a debugging aid. It should not exit but stop the program instead but frankly I have not paid much attention to the implementation of that feature. -gi can be used if KLayout runs into a crash while a log is written with -gr. Without that option, the output is not correct since the system buffers the output and trailing parts of the log may be missing. Under normal circumstances, this option just slows down the recorder.

    I see the point about the automation - I have considered the XOR functionality not competitive with respect to "real" batch tools yet and in particular ones with a hierarchical engine. That's why I was not putting much effort in providing an automation interface for that functionality.

    Best regards,

    Matthias

  • edited 7:58PM
    Hi Matthias,

    I think your XOR functionality is a very good initial implementation, since you provide the tolerance & tiling options, future enhancements to support a hierarchical engine & multi-threading would make it equivalent to the "real" tools, most of which only run on Unix/Linux platforms...

    Please consider including an XOR automation interface in a future release, or allow some way of specifying a tolerance in the RBA::EdgeProcessor API

    Thanks In Advance,
    Dave
Sign In or Register to comment.