glfs/general/prog/python-modules/pytest.xml
Bruce Dubbs 569925c77f Update python modules for pythonhosted
Move the pythonhoted page to python_modules even though it is not
yet activated to render in the book.

Change location of pythonhosted md5sum ENTITIES to packages.ent
so they can be used in multiple pages but only need to be updated
in one place.

Note that pages not have entries like:
  <!ENTITY asciidoc-md5sum        "&asciidoc-md5sum;">
so this seems to be redefinig the entity to the version
in packages.ent.  This seems to be OK with the build system.
2023-01-31 18:02:12 -06:00

169 lines
5.3 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect2 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../../general.ent">
%general-entities;
<!ENTITY pytest-download-http "https://files.pythonhosted.org/packages/source/p/pytest/pytest-&pytest-version;.tar.gz">
<!ENTITY pytest-download-ftp " ">
<!ENTITY pytest-md5sum "&pytest-md5sum;">
<!ENTITY pytest-size "1.2 MB">
<!ENTITY pytest-buildsize "10 MB (add 31 MB for tests)">
<!ENTITY pytest-time "less than 0.1 SBU (1.1 SBU for tests)">
]>
<sect2 id="pytest" xreflabel="pytest-&pytest-version;">
<title>Pytest-&pytest-version;</title>
<indexterm zone="pytest">
<primary sortas="a-pytest">pytest</primary>
</indexterm>
<sect3 role="package">
<title>Introduction to Pytest Module</title>
<para>
The <application>Pytest</application> framework makes it easy to
write small, readable tests, and can scale to support complex
functional testing for applications and libraries.
</para>
&lfs112_checked;
<bridgehead renderas="sect4">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&pytest-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&pytest-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &pytest-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &pytest-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &pytest-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &pytest-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect4">Pytest Dependencies</bridgehead>
<bridgehead renderas="sect5">Required</bridgehead>
<para role="required">
<xref linkend="attrs"/>,
<xref linkend="iniconfig"/>,
<xref linkend="packaging"/>,
<xref linkend="pluggy"/>, and
<xref linkend="py"/>
</para>
<bridgehead renderas="sect5">Recommended</bridgehead>
<para role="recommended">
<xref linkend="setuptools_scm"/>
</para>
<bridgehead renderas="sect5">Optional (for testing)</bridgehead>
<para role="optional">
<xref linkend="pygments"/>,
<xref linkend="requests"/>,
<ulink url="https://pypi.org/project/argcomplete/">argcomplete</ulink>,
<ulink url="https://pypi.org/project/hypothesis/">hypothesis</ulink>,
<ulink url="https://pypi.org/project/mock/">mock</ulink>,
<ulink url="https://pypi.org/project/nose/">nose</ulink>, and
<ulink url="https://pypi.org/project/xmlschema/">xmlschema</ulink>
</para>
</sect3>
<sect3 role="installation">
<title>Installation of Pytest</title>
<para> Build the module: </para>
<screen><userinput>pip3 wheel -w dist --no-build-isolation --no-deps $PWD</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>pip3 install --no-index --find-links dist --no-cache-dir --no-user pytest</userinput></screen>
<para>
The installation can be tested with the following commands:
</para>
<screen remap="test"><userinput>python3 -m venv --system-site-packages testenv &amp;&amp;
source testenv/bin/activate &amp;&amp;
pip3 install pytest[testing] &amp;&amp;
python3 /usr/bin/pytest<!-- no && because of a possible error -->
deactivate</userinput></screen>
</sect3>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../xincludes/pip3-cmd-explain.xml"/>
<sect3 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
pytest and py.test (different files but with same content)
</seg>
<seg>None</seg>
<seg>
/usr/lib/python&python3-majorver;/site-packages/_pytest,
/usr/lib/python&python3-majorver;/site-packages/pytest, and
/usr/lib/python&python3-majorver;/site-packages/pytest-&pytest-version;.dist-info
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect5">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="pytest-prog">
<term><command>pytest</command></term>
<listitem>
<para>
sets up, manages, and/or runs test in python module source
directories
</para>
<indexterm zone="pytest pytest-prog">
<primary sortas="b-pytest-prog">pytest</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>