From Fedora Project Wiki

(Create the new test case for modularity.)
No edit summary
 
Line 23: Line 23:
# The yaml file contains a `version` section and the value is `1`.
# The yaml file contains a `version` section and the value is `1`.
# The yaml file contains a `data` section, where the defaults are defined.
# The yaml file contains a `data` section, where the defaults are defined.
# If the module has a default stream defined, then the `data` section contains a `stream` section and the value matches the default stream reported by the installed system. If default stream is not defined, there '''must be no''' `stream` section in the file.
# The `data` section contains the `module` section where the value is the name of the module. It must match the name on the installed system.
# The `data` section contains the `profiles` section, where streams and their default profiles are given. For example, `4.5 [server]` means that the module has a stream called `4.5` and that stream has a default profile called `server`. The yaml file definition '''must''' correspond with the situation reported by `dnf module list <module>` on the installed system.  
# If the module has a default stream defined, then the `data` section contains a `stream` section and the value matches the default stream reported by the installed system. If default stream is not defined, there '''must be no''' `stream` section in the file. See the default stream `1.10` defined in the example yaml file below.
# The `data` section contains the `profiles` section, where streams and their default profiles are given. For example, `1.10 [default]` means that the module has a stream called `1.10` and that stream has a default profile called `default`. See the example yaml file. The yaml file definition '''must''' correspond with the situation reported by `dnf module list <module>` on the installed system.
 
'''An example yaml file:'''
 
<pre>
document: modulemd-defaults
version: 1
data:
    module: ant
    stream: 1.10
    profiles:
        1.10: [default]
</pre>
 
 


'''Notes''':   
'''Notes''':   
* If you find any discrepancies between the module defaults definitions and the real situation on the installed system, or if the yaml definition does not exist at all, please report a bug against this particular module [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20Modules in Fedora Modules].
* If you find any discrepancies between the module defaults definitions and the real situation on the installed system, or if the yaml definition does not exist at all, please report a bug against this particular module [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20Modules in Fedora Modules].
}}
}}

Latest revision as of 12:02, 2 August 2019

Description

This test is a follow-up for the QA:Testcase_Modularity_module_defaults test case and tests that all system modules have their default definition yaml files in the fedora-module-defaults repository at Pagure.

Setup

  1. Make sure you have a clean installation of Fedora (all flavors are possible).
  2. Log onto the system as a superuser or a user with sudo rights.
  3. Run a terminal application, such as gnome-terminal, or switch to a virtual console (Ctrl-Alt-F3). The following test is based on the DNF package manager.
  4. Clone the definition yaml files, using git clone https://pagure.io/releng/fedora-module-defaults onto your system.

Note: For the time's being, users can work with modules using dnf. In the future, other package managers will be able to deal with it. Until then, do not attempt to test this approach using tools other than dnf.

How to test

  1. List a module:
    Execute dnf module list <module>.
  2. Read the information on streams and profiles.
  3. Check if the a corresponding yaml file is present in the fedora-module-defaults directory that you have cloned before.
  4. Check that the yaml file is correctly formed (see below).
  5. Check that the settings given by the yaml file correspond with the system settings.

Expected Results

  1. All system modules must have their yaml files in the above mentioned directory.
  2. The yaml file contains a document section where the value is modulemd-defaults.
  3. The yaml file contains a version section and the value is 1.
  4. The yaml file contains a data section, where the defaults are defined.
  5. The data section contains the module section where the value is the name of the module. It must match the name on the installed system.
  6. If the module has a default stream defined, then the data section contains a stream section and the value matches the default stream reported by the installed system. If default stream is not defined, there must be no stream section in the file. See the default stream 1.10 defined in the example yaml file below.
  7. The data section contains the profiles section, where streams and their default profiles are given. For example, 1.10 [default] means that the module has a stream called 1.10 and that stream has a default profile called default. See the example yaml file. The yaml file definition must correspond with the situation reported by dnf module list <module> on the installed system.

An example yaml file:

document: modulemd-defaults
version: 1
data:
    module: ant
    stream: 1.10
    profiles:
        1.10: [default]


Notes:

  • If you find any discrepancies between the module defaults definitions and the real situation on the installed system, or if the yaml definition does not exist at all, please report a bug against this particular module in Fedora Modules.