Magellan Linux

Contents of /tags/grubby-8_40_20170706/README.rst

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3047 - (show annotations) (download)
Thu Jul 6 12:20:52 2017 UTC (6 years, 9 months ago) by niro
File size: 2319 byte(s)
tagged 'grubby-8_40_20170706'
1 grubby is a command line tool for updating and displaying information about
2 the configuration files for the grub, lilo, elilo (ia64), yaboot (powerpc)
3 and zipl (s390) boot loaders. It is primarily designed to be used from scripts
4 which install new kernels and need to find information about the current boot
5 environment.
6
7
8 Testing grubby
9 ==============
10
11 To execute the integrated test suite from inside the source directory run the
12 command::
13
14 make test
15
16
17 Test Suite Architecture
18 ------------------------
19
20 grubby's test suite is written in Bash. The file `test.sh` contains several
21 helper functions and a list of different test scenarios which are exercised
22 upon execution. Important functions are:
23
24 - oneTest() - test if the configuration generated by the supplied grubby
25 parameters matches a well known configuration file;
26
27 - oneDisplayTest() - test grubby features that display some information,
28 checking grubby's output against well known values;
29
30 - commandTest() - test if the output of some commands matches the provided
31 text. This function is only used for grub2 testing in a few places.
32
33
34 Note: the test suite creates aliases for oneTest() and oneDisplayTest(), which
35 are prefixed with the corresponding boot loader name. For example:
36 grubTest(). eliloTest(), etc.
37
38 The invocation syntax is::
39
40 testFunction config_file results_file --grubby --options
41
42 For example the line::
43
44 grubTest grub.1 updargs/g1.1 --update-kernel=DEFAULT --args="root=/dev/hda1"
45
46 means execute the command::
47
48 ./grubby --grub --config-file tests/grub.1 --update-kernel=DEFAULT \
49 --args="root=/dev/hda1"
50
51 and compare the resulting configuration with the file
52 `tests/results/updargs/g1.1`.
53
54
55 The line::
56
57 grubDisplayTest grub.1 defaultindex/0 --default-index
58
59 means execute::
60
61 ./grubby --grub --config-file tests/grub.1 --default-index
62
63 and compare the output with the file `tests/results/defaultindex/0`.
64
65 Writing New Test Cases
66 ----------------------
67
68 To write a new test case for grubby you need a config file which matches the
69 initial test conditions (either existing one or a new one), provide a
70 results file (likely a new one) which contains the expected configuration or
71 output and finally add a call to the test function(s) using the desired grubby
72 parameters in an appropriate section of `test.sh`.