Description of problem: Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Created attachment 152900 [details] New option in pykickstart/parser.py I hit enter accidently. Sorry for that. New option "dogtail <url>" added to kickstart. This is needed in order to support dogtail scripts in anaconda.
The rpm version is 0.43-1.el5. The related Dogtail+Ananconda bug is: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=172891
Created attachment 152909 [details] patch to pykicstart/data.py added self.dogtail = "" in __init__
We won't be able to put a change of this complexity into RHEL5 (since it needs all the stuff in anaconda as well to really make sense) so I'm going to move this to the Fedora product. The pykickstart in Fedora is pretty different so it'll take a bit of modification to make the patch work, but shouldn't be too difficult. I'll target this dogtail work for the first thing on F8.
It is better to use None instead of "" in self.dogtail = "" Please consider this when modifying patch to work with Fedora.
Created attachment 154020 [details] Classes to handle dogtail command in commands/*.py, pykickstart v1.0
Created attachment 154021 [details] Import dogtail in commands/__init__.py, pykickstart v1.0
Created attachment 154022 [details] Add dogtail to F7 & RHEL5 in handlers/control.py, pykickstart v1.0
While we are interested in adding dogtail support to anaconda for this next release, I don't know that it makes much sense to add it into kickstart as well. When you think about it, kickstart is an automated installation mechanism. It steps through things automatically, skipping steps that do not need to be displayed because it already has the information those screens provide. Similarly, dogtail is an automated mechanism that will also steps through anaconda screens automatically. If kickstart is already stepping through them, dogtail won't be able to do anything. I think it makes more sense to provide this functionality with a command line parameter.
(In reply to comment #9) > Similarly, dogtail is an automated mechanism that will also steps through > anaconda screens automatically. Not always. Dogtail is automated GUI testing tool. Dogtail testcases may NOT need to step over anaconda. It may perform tests independently of kickstart (e.g. translation tests). Or trying to detect widget creation (exception message dialog for example). > I think it makes more sense to provide this functionality with a command line > parameter. There is a patch for a command line parameter: https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=154122 However kickstart is used for automated installation. Adding dogtail command may be helpful to automate dogtail testing. AFAIK there is no way to specify command line parameters with kickstart. Am I right?
(In reply to comment #10) > Not always. Dogtail is automated GUI testing tool. Dogtail testcases may NOT > need to step over anaconda. It may perform tests independently of kickstart > (e.g. translation tests). Or trying to detect widget creation (exception message dialog for example). Well the point here is that with kickstart, you're not going to see any of the screens to perform tests on them. The only way you'd get a screen would be to remove information from the kickstart file, in which case you're now editing the kickstart file for each run. What I'm saying is that the automated nature of kickstart makes dogtail sort of useless, since kickstart will skip over all the interested and complicated UIs that we'll want to test with dogtail. > There is a patch for a command line parameter: > https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=154122 I'll be reviewing this in a week or two after we get through some common Fedora bugs and RHEL5 stuff. > However kickstart is used for automated installation. Adding dogtail command may > be helpful to automate dogtail testing. AFAIK there is no way to specify command > line parameters with kickstart. Am I right? Correct, command line parameters are processed before any kickstart file is downloaded. I can sort of see a point to having a kickstart file containing just the dogtail script location, but that could also just as easily be added to the PXE boot parameters.
(In reply to comment #11) > What I'm saying is that the automated nature of kickstart makes dogtail sort of > useless, since kickstart will skip over all the interested and complicated UIs > that we'll want to test with dogtail. > One may use kickstart to proceed up to screen X where is a new gui widget or something of interest. This can be tested with Dogtail and then let kickstart finish the rest of the installation. An example: A ks.cfg file containing all but the root password. This will result in anaconda jumping straigth to the root password entry screen. A dogtail testcase is waiting for this screen and performs some check (e.g. is the translation correct, are all strings translated, are buttons, textboxes enabled). Then it fills the textboxes with root password and clicks next. From this step anaconda continues with installing packages since it has all information needed.
Another thing: AFAIK anaconda has limit of command line parameters length. It's 255 chars or something like that. A longer dogtail url combined with other parameters can easily go beyond that limit.