provide small auto-test system with a web-based interface which can help to customize autoinstall testing.The test system should be small enough for personal use.
The purpose of auto test is to simplify testing,save time, improve efficiency.So the auto-test should help us to solve the following problems:
- the system should be small enough for personal use
- have a very simple interface for user to customize testing or configure testing
- very easy interface for user to set up some services due to some special cases,such as ftp/nfs/http install,etc
- test result is easy to check
Installation process covers the following sections, therefore Brokenness comes from these types:
- Image Sanity:
- Boot Methods
- The CD/DVD isolinux (or syslinux) menu is properly displayed
- Anaconda boots successfully from the DVD
- Anaconda transitions to stage#2 without error
- Install Source
- Install completes successfully
- Package errors (install.log) should not occur
- System boots successfully
- Kickstart Delivery
- The ks.cfg is successfully obtained from the specified location
- The install should proceed in accordance with the directives in the ks.cfg file
- Package Set
- Anaconda completes successfully
- System boots into installed environment successfully
- Install.log does not contain errors
- A (small) number of packages is installed (150~)
- The system should prompt for your passphrase only once during boot
- The system unlocks the encrypted partition(s) and boots successfully
- Anaconda should prompt for an existing partition to resize
- Anaconda should successfully resize the selected partition
- The installer will successfully partition a bootable system using remaining free space
- Confirm that rootfs partition is formatted as ext4/3/2 and is not a LVM or RAID volume
- Partitions are created and formatted properly.
- User Interface
- Graphical anaconda displays properly
- The installed system boots in graphical mode (runlevel 5)
- Anaconda starts Xvnc/telnet properly
- Storage Devices
- Upgrade system
- use the network install(or libvirt? does it make sense to run on virtual machines? need confirmation) to finish install tests one by one.
- provide web-based interface to customize testing.In the web page,user can specify the path of ISO,select which cases to run or not,edit(import) kickstart file or automaticly generate kickstart file after give some selected parameters (partition,packages,install method).
- web-based interface help to setup some needed services due to some special cases. Modify,add or delete test cases,
- Test result display page help to check the test result easily,the result format is good for testers to post to specified link(have no need to change a lot before post).
- Any testers from community can install the testing system and run test cases
- After finish testing,testers will post test result to specified wiki
- develop a system to run install system
- convert some of the current install test cases to cases which can be run in auto test system
- Provide a test results presentation layer for manual test result submission
- Goal: Create a basic system, make it simple and run successfully.
- Case: DVD input and support simplest test cases.
- Platform: Virtual Machine.
- Inputs and Outputs:
- Inputs: DVD, kickstart files, python (shell) scripts.
- Outputs: Logs of whole process(including anaconda logs), test results.
- Approach<<Fix Me>>:
- Create a server, and prepare DVD.iso.
- Create a virtual machine by the server.
- Run test cases using some kickstarts for install tests.
- Send back some logs, successful or not...
- Have some "results parsers" which waits for the logs from the clients and then parses them
- Frameworks studied so far: kvm-autotest, autotest, libvirt, dogtail.
- Graphical automation testing
- The above autotest is based on this framework: http://autotest.kernel.org/
- The steps to work with step files: http://www.linux-kvm.org/page/KVM-Autotest/Steps
To leave a comment, use the Talk page for this proposal.
Fedora auto-install test project
This project meeting is held weekly for progress. Welcome everyone to attend it and give your valuable suggestions.
- IRC on #fedora-meeting
- Each Friday at 8:30 UTC (9:30 CET and 16:30 Bejing)