Austin English
2009-Aug-24 14:51 UTC
[Wine] Want to help Wine and prevent regressions in your favorite (downloadable) app?
Howdy all, For Google Summer of Code, I worked on a project I called Appinstall, which is basically an automated test framework for Wine. It works as a simple shell script, that runs several independent tests of applications, then parses the log files to make sure no applications broke, or bugs were fixed. The tests themselves are written using AutoHotKey (http://www.autohotkey.com). The neat thing about AutoHotKey is it takes pretty much no programming skill to write a simple test for your favorite application. So if you really love Foobar Text Editor, and some past version of Wine made it crash, you can prevent that from happening again by writing a test for it. That way, daily, Foobar Text Editor is installed and run, to make sure it doesn't crash. Of course, if you've got time and/or know of a corner case that may break easily, AutoHotKey has a ton of functions that allow you to do things like send keystrokes/mouseclicks/etc. to make sure those things still work in your app. If you'd like to give it a try, pick your favorite application (make sure it has a public download available), read http:/wiki.winehq.org/Appinstall_Testing, and write a test. Be sure to read the AutoHotKey documentation at http://www.autohotkey.com/docs/ if you're not familiar with it (it's _REALLY_ easy, most of it reads like plain English) and to verify the test on Windows first. Don't worry about writing really complex tests, just a simple test that installs the application, verifies the install, and making sure it runs can prevent a lot of bugs (and catch new bugs as well). If you've got a test ready, please e-mail me directly, and (if it works) I'll commit it. Source is at http://winezeug.googlecode.com/svn/trunk/appinstall/ -- -Austin
Paul Romanyszyn
2009-Aug-24 16:45 UTC
[Wine] Want to help Wine and prevent regressions in your favorite (downloadable) app?
Austin English wrote:> Howdy all, > > For Google Summer of Code, I worked on a project I called Appinstall, > which is basically an automated test framework for Wine. It works as a > simple shell script, that runs several independent tests of > applications, then parses the log files to make sure no applications > broke, or bugs were fixed. The tests themselves are written using > AutoHotKey (http://www.autohotkey.com). > > The neat thing about AutoHotKey is it takes pretty much no programming > skill to write a simple test for your favorite application. So if you > really love Foobar Text Editor, and some past version of Wine made it > crash, you can prevent that from happening again by writing a test for > it. That way, daily, Foobar Text Editor is installed and run, to make > sure it doesn't crash. Of course, if you've got time and/or know of a > corner case that may break easily, AutoHotKey has a ton of functions > that allow you to do things like send keystrokes/mouseclicks/etc. to > make sure those things still work in your app. > > If you'd like to give it a try, pick your favorite application (make > sure it has a public download available), read > http:/wiki.winehq.org/Appinstall_Testing, and write a test. Be sure to > read the AutoHotKey documentation at http://www.autohotkey.com/docs/ > if you're not familiar with it (it's _REALLY_ easy, most of it reads > like plain English) and to verify the test on Windows first. Don't > worry about writing really complex tests, just a simple test that > installs the application, verifies the install, and making sure it > runs can prevent a lot of bugs (and catch new bugs as well). > > If you've got a test ready, please e-mail me directly, and (if it > works) I'll commit it. > > Source is at http://winezeug.googlecode.com/svn/trunk/appinstall/ >I have a few Delphi based bugs which have test exe's as bug attachments. Would a using them or a custom test application attached to a bug be allowed into these tests? Some of the bugs are 16 bit related and others are too hard to duplicate with a few lines of windows API as it is something deep inside the Delphi vcl.