From Fedora Project Wiki

No edit summary
m (Minor wiki updates)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{QA/Test_Case
{{QA/Test_Case
|description=A test that ensures there are no package dependencies broken by pushing out an update.
|description=This test is designed to ensure that a proposed package update does not introduce any dependency problems into the targetted repository (<code>updates</code> or <code>updates-testing</code>).
|setup=The test environment consists of any machine with [http://git.fedorahosted.org/git/?p=autoqa.git;a=tree;f=tests/depcheck depcheck script] downloaded.
|setup=The test environment consists of any machine with [http://git.fedorahosted.org/git/?p=autoqa.git;a=tree;f=tests/depcheck depcheck script] downloaded. When downloading packages from the [http://koji.fedoraproject.org/koji/ fedora build system (koji)], you will need to install the {{package|koji}} package by typing: <code>yum install koji</code>
|actions=
|actions=
<ol>
<ol>
<li>Download all builds (i.e. all RPMs from a build for every build) currently present in a Koji tag you want to test. For example to list all builds currently proposed to stable Fedora 13 updates, you can run:
<li>Download all builds (i.e. all RPMs from a build for every build) currently present in a Koji tag you want to test. For example to list all builds currently proposed to stable Fedora 13 updates, you can run:
<pre>
<pre>
koji list-tagged dist-f13-updates-pending
koji list-tagged dist-f14-updates-pending
</pre>
</pre>
You can download them all e.g. like this:
You can download them all e.g. like this:
<pre>
<pre>
koji list-tagged dist-f13-updates-pending --quiet | cut -f1 -d ' ' | while read BUILD; do koji download-build $BUILD; done
koji list-tagged dist-f14-updates-pending --quiet | cut -f1 -d ' ' | while read BUILD; do koji download-build $BUILD; done
</pre>
</pre>
{{admon/important||It is absolutely necessary to always download '''all''' builds currently proposed for inclusion into some repository. If you download just some of them the test result may not be valid.}}
{{admon/important|Download all proposed packages|It is absolutely necessary to always download '''all''' packages proposed for inclusion into some repository. If you download just some of them the test result may not be valid.}}
</li>
</li>
<li>Run depcheck script with the target repository (notice different syntax) and all the downloaded RPMs as arguments:
<li>Run {{command|depcheck}} script with the desired ''target'' repository (notice different syntax) and all the downloaded RPMs as arguments:
<pre>
<pre>
depcheck f13-updates *.rpm
depcheck f14-updates *.rpm
</pre>
</pre>
</li>
</li>
<li>Examine depcheck output. Builds after '''OK:''' keyword do not break dependencies, builds after '''SKIP:''' keyword break them.
<li>Examine {{command|depcheck}} output. Builds listed as '''ACCEPTED''' do not break dependencies.  However, builds listed as '''REJECTED''' break them.</li>
<li>Repeat this approach for all supported architectures - i686 and x86_64. (I.e. follow this test case on both 32-bit and 64-bit Fedora).
</ol>
</ol>
|results=
|results=
# All updates are listed after '''OK:''' keyword.
# All updates are listed as '''ACCEPTED'''.  In other words, none of the proposed updates are listed as '''REJECTED'''.
}}
}}


[[Category:Package Update Acceptance Test Cases]]
[[Category:Package Update Acceptance Test Cases]]

Latest revision as of 20:26, 10 February 2011

Description

This test is designed to ensure that a proposed package update does not introduce any dependency problems into the targetted repository (updates or updates-testing).

Setup

The test environment consists of any machine with depcheck script downloaded. When downloading packages from the fedora build system (koji), you will need to install the Package-x-generic-16.pngkoji package by typing: yum install koji

How to test

  1. Download all builds (i.e. all RPMs from a build for every build) currently present in a Koji tag you want to test. For example to list all builds currently proposed to stable Fedora 13 updates, you can run:
    koji list-tagged dist-f14-updates-pending
    

    You can download them all e.g. like this:

    koji list-tagged dist-f14-updates-pending --quiet | cut -f1 -d ' ' | while read BUILD; do koji download-build $BUILD; done
    
    Important.png
    Download all proposed packages
    It is absolutely necessary to always download all packages proposed for inclusion into some repository. If you download just some of them the test result may not be valid.
  2. Run depcheck script with the desired target repository (notice different syntax) and all the downloaded RPMs as arguments:
    depcheck f14-updates *.rpm
    
  3. Examine depcheck output. Builds listed as ACCEPTED do not break dependencies. However, builds listed as REJECTED break them.
  4. Repeat this approach for all supported architectures - i686 and x86_64. (I.e. follow this test case on both 32-bit and 64-bit Fedora).

Expected Results

  1. All updates are listed as ACCEPTED. In other words, none of the proposed updates are listed as REJECTED.