See https://ci.suse.de/job/yast-yast-autoinstallation-master/71/display/redirect
Changes:
------------------------------------------
[...truncated 200.14 KB...]
[ 110s] but there is no content for some of the elements
[ 110s] does not include the element with no content
[ 110s] when a module uses an alternative resource name
[ 110s] uses the alternative name
[ 110s] #ReadXML
[ 110s] when the file is valid
[ 110s] returns true
[ 110s] imports the file content
[ 110s] when the file content is invalid
[ 110s] returns false
[ 110s] displays an error message
[ 110s] does not import the file content
[ 110s] when the content is encrypted
[ 110s] decrypts and imports the file content
[ 110s] during the first stage
[ 110s] saves the unencrypted content
[ 110s] #Save
[ 110s] returns true if saved profile to file
[ 110s] returns false when failed
[ 110s] #SaveSingleSections
[ 110s] returns list of saved sections
[ 111s] it does not return sections that failed to save
[ 111s] #set_element_by_path
[ 111s] when a string is given as path
[ 111s] sets the element by using the path's parts
[ 111s] when a profile path object is given as path
[ 111s] sets the element by using the path's parts
[ 111s] #setElementByList
[ 111s] when the element exists
[ 111s] replaces its value
[ 111s] when the element does not exist
[ 111s] adds the element in the given path
[ 111s] when the element is supposed to be an array member but it does not exist
[ 111s] adds an element to the array
[ 111s] fills any gap with nil
[ 111s] when parent elements are missing
[ 111s] adds all the full hierarchy up to the given path
[ 111s]
[ 111s] Yast::AutoinstClass
[ 111s] #Read
[ 111s] when some class definition exists
[ 111s] read content into @Classes
[ 111s] returns nil
[ 111s] when class definition is not valid
[ 111s] sets Classes to []
[ 111s] returns nil
[ 111s] when classes definition file does not exist
[ 111s] sets Classes to []
[ 111s] returns nil
[ 111s] when classes definition is empty or not valid XML
[ 111s] set Classes to []
[ 111s] returns nil
[ 111s] #Files
[ 111s] when some class definition exists
[ 111s] sets confs to an array containing classes configurations
[ 111s] when classes definitions are not found
[ 111s] when directory does not exist
[ 111s] sets confs to an empty array
[ 111s] when directory is empty
[ 111s] sets confs to an empty array
[ 111s] #classDirChanged
[ 111s] reads again the classes definitions
[ 111s] #findPath
[ 111s] when class and configuration exists
[ 111s] returns string with path to classes directory, class name and configuration
[ 111s] when class does not exist
[ 111s] returns string with path to a default directory below the classes directory
[ 111s] when name does not exist
[ 111s] returns string with path to a default directory below the classes directory
[ 111s] #Compat
[ 111s] when a classes.xml file exists in the new location
[ 111s] does not overwrite classes.xml file
[ 111s] when a classes.xml file does not exist in the new location
[ 111s] and /etc/autoinstall/classes.xml exists
[ 111s] creates a classes.xml file in the new location
[ 111s] and /etc/autoinstall/classes.xml is empty or not valid XML
[ 111s] creates a classes.xmlfile in the new location with no classes
[ 111s] #class_dir=
[ 111s] sets the classes definitions directory
[ 111s] #MergeClasses
[ 111s] executes xsltproc and returns a hash with info about the result
[ 111s] when all elements must be merged
[ 111s] merges elements from profile and configuration
[ 111s] when some elements are not intended to be merged
[ 111s] does not merge those elements
[ 111s] #Import
[ 111s] sets profile_conf variable as a copy of the given settings
[ 111s] #Export
[ 111s] returns a copy of profile_conf
[ 111s] #Summary
[ 111s] when some settings are given
[ 111s] returns a summary containing class names and configurations
[ 111s] when no class name is given
[ 111s] 'None' is used instead
[ 111s] when no configuration is given
[ 111s] 'None' is used instead
[ 111s] when no settings are given
[ 111s] returns an empty summary
[ 111s] #Save
[ 111s] creates a classes.xml file in the new location
[ 111s] does not raise exception when serialization failed
[ 111s] when classes are marked for deletion
[ 111s] deletes classes files
[ 111s]
[ 111s] Yast::AutoinstallAskInclude
[ 111s] #askDialog
[ 111s] when ask-list is empty
[ 111s] no dialog is shown
[ 111s] dialogs creation
[ 111s] when the ask-list contains a question with type 'string'
[ 111s] creates a TextEntry widget
[ 111s] when the ask-list contains a question with timeout=0
[ 111s] waits for user input infinitely
[ 111s] when the ask-list contains a question with timeout>0
[ 111s] when user does not do anything
[ 111s] waits for user input with timeout and then time-outs
[ 111s] when user stops the execution manually
[ 111s] waits for user input with timeout and then stops and waits for user infinitely
[ 111s] when ask-list contains a question with type 'selection'
[ 111s] creates a ComboBox widget
[ 111s] when ask-list contains a question with type 'password'
[ 111s] creates two Password widgets
[ 111s] when ask-list contains a question with type 'static_text'
[ 111s] creates a Label widget
[ 111s] when ask-list contains question with type 'symbol'
[ 111s] creates a ComboBox widget
[ 111s] when ask-list contains a question with type 'boolean'
[ 111s] creates a CheckBox widget
[ 111s] when ask-list contains more than one question
[ 111s] creates one widget for each one of them
[ 111s] when ask-list contains more than one password question
[ 111s] creates two password widgets for each question without repeating the Ids
[ 111s] dialogs actions
[ 111s] when ok button is pressed
[ 111s] when a path was specified
[ 111s] response is saved into the Profile at the specified path
[ 111s] when a pathlist was specified
[ 111s] saves response into Profile at the paths specified in the pathlist
[ 111s] when a file was specified
[ 111s] saves the user answer in the file
[ 111s] when response is a boolean
[ 111s] converts the answer to a string and saves it in the file
[ 111s] when asking for a 'password' and values don't match
[ 111s] shows an error message and try run the dialog again
[ 111s] when a script was specified
[ 111s] shows some feedback while script is running
[ 111s] when 'environment' property is not set
[ 111s] runs the script without passing the ask response
[ 111s] when 'environment' property is set
[ 111s] runs the script passing the ask response
[ 111s] when more dialogs left
[ 111s] next dialog is shown
[ 111s] when no more dialogs left
[ 111s] finishes dialog processing and returns
[ 111s] when a value for 'next dialog' is set
[ 111s] jumps to that dialog
[ 111s]
[ 111s] Yast::AutoinstallConfTreeInclude
[ 111s] #ShowSource
[ 111s] shows xml with current profile serialized to XML
[ 111s] shows error popup when profile serialization failed
[ 111s] #configureModule
[ 111s] when the user accepts the configuration dialog
[ 111s] and the settings have been changed
[ 111s] sets the module and the profile as modified
[ 111s] and the settings has not been changed
[ 111s] does not set the module or profile as modified
[ 111s] when new settings are not valid
[ 112s] imports the original settings again
[ 112s] reports the error and returns :abort
[ 112s] when the user aborts the configuration dialog
[ 112s] imports the original settings again
[ 112s]
[ 112s] Pending: (Failures listed here are expected and do not affect your suite's status)
[ 112s]
[ 112s] 1) Yast::AutoinstPartPlan #read partition target exporting nfs root partition
[ 112s] # pending on nfs definition in yml files
[ 112s] # ./test/AutoinstPartPlan_test.rb:41
[ 112s]
[ 112s] Failures:
[ 112s]
[ 112s] 1) Yast::AutoInstallRules #classes_to_merge when there classes defined in the profile adds the configuration file to the list of files to be merged
[ 112s] Failure/Error: expect { subject.classes_to_merge }.to change { subject.tomerge }.from([]).to(tomerge)
[ 112s]
[ 112s] NoMethodError:
[ 112s] undefined method `union' for []:Array
[ 112s] Did you mean? uniq
[ 112s] # ./src/modules/AutoInstallRules.rb:984:in `block in classes_to_merge'
[ 112s] # ./src/modules/AutoInstallRules.rb:979:in `each'
[ 112s] # ./src/modules/AutoInstallRules.rb:979:in `classes_to_merge'
[ 112s] # ./test/AutoInstallRules_test.rb:643:in `block (5 levels) in