Skip to main content

The ‘epyunit’ package provides extensions of the PyUnit framework for unit and regression tests of executables written in arbitrary languages. In distinction to some more comprising and though complex frameworks the ‘epyunit’ provides a minimal but sufficient approach in particular for the low-effort test automation of scripts and tools.

The reuse of the standard PyUnit in combination with PyDev provides out-of-the-box integration into the Eclipse-IDE. Thus command line based regression tests as well as a graphical frontend for test statistics provided by PyDev could be applied.

The epyunit components call the wrapped process and read the execution results from STDOUT, STDERR, and the exit value. The values are read into Python variables either for further processing, or optional pass-through to the caller.

The ‘epyunit’ package provides in particular:

  • Support for unit tests of shell scripts - bash - from command line and Eclipse/PyDev

  • The simplified reuse of executables as test-dummies within multiple test cases.

  • The categorization of structures defined by the directory tree.

  • The support of arbitrary intermixed implementation languages for executables.

The implementation supports Python(>=2.7) and integrates into the Eclipse IDE with PyDev, and PyUnit.

The package ‘epyunit’ is a spin off from the project ‘UnifiedSessionsManager-2.0’.

The main interface classes are:

  • FileSysObjectsMin - A subset of the project PyFileSysObjects.

  • SystemCalls - Adaptation of sub-process calls for unit tests.

The architecture is based on the packages ‘PyUnit’ and ‘PyDev’:

                   +-----------------------+     call      +-----------------------+
                   |                       |    ------>    |                       |
Subprocess         |        ePyUnit        |               |  Wrapped-Executable   |
                   |                       |    <-----     |                       |
                   +-----------------------+     stdin     +-----------------------+
                               |                 stderr                |
                               |                 exit                  V
                               |                           +-----------------------+
PyDev Remote                   |                           |    PyDevRemoteDBG     |      Debug into subprocess
Debug Server                   |                           +-----------------------+
                               |                                       |
               . . . . . . . . | . . . . . . . . . . . . . . . . . . . | . . . . . . . .
                               |                                       |
                               V                                       V
                   +-----------------------+               +-----------------------+
Python Units       |         PyUnit        |     <--->     |         PyDev         |
                   +-----------------------+               +-----------------------+
                       |               |                              |
                       V               V                             /
                 +-----------+   +-----------+                      /
IDE              |    CLI    |   |  Eclipse  |<--------------------/
                 +-----------+   +-----------+

For examples and patterns see subdirectories:

  • UseCases

  • tests

Downloads:

Online documentation:

setup.py

The installer adds a few options to the standard setuptools options.

  • build_sphinx: Creates documentation for runtime system by Sphinx, html only. Calls ‘callDocSphinx.sh’.

  • build_epydoc: Creates documentation for runtime system by Epydoc, html only. Calls ‘callDocEpydoc.sh’.

  • test: Runs PyUnit tests by discovery.

  • –help-epyunit: Displays this help.

  • –no-install-required: Suppresses installation dependency checks, requires appropriate PYTHONPATH.

  • –offline: Sets online dependencies to offline, or ignores online dependencies.

  • –exit: Exit ‘setup.py’.

After successful installation the ‘selftest’ verifies basic checks by:

epyunit –selftest

with the exit value ‘0’ when OK.

The option ‘-v’ raises the degree of verbosity for inspection

epyunit –selftest -v -v -v -v

Project Data

  • PROJECT: ‘epyunit’

  • MISSION: Extend the standard PyUnit package for arbitrary ExecUnits.

  • VERSION: 00.01

  • RELEASE: 00.01

  • NICKNAME: ‘Dromi’

  • STATUS: alpha

  • AUTHOR: Arno-Can Uestuensoez

  • COPYRIGHT: Copyright (C) 2010,2011,2015-2016 Arno-Can Uestuensoez @Ingenieurbuero Arno-Can Uestuensoez

  • LICENSE: Artistic-License-2.0 + Forced-Fairplay-Constraints Refer to enclose documents:

    • ArtisticLicense20.html - for base license: Artistic-License-2.0

    • licenses-amendments.txt - for amendments: Forced-Fairplay-Constraints

VERSIONS and RELEASES

Planned Releases:

  • RELEASE: 00.00.00x - Pre-Alpha: Extraction of the features from hard-coded application into a reusable package.

  • RELEASE: 00.01.00x - Alpha: Completion of basic features.

  • RELEASE: 00.02.00x - Alpha: Completion of features, stable interface.

  • RELEASE: 00.03.00x - Beta: Accomplish test cases for medium to high complexity.

  • RELEASE: 00.04.00x - Production: First production release. Estimated number of UnitTests := 100.

  • RELEASE: 00.05.00x - Production: Various performance enhancements.

Current Release: 00.01.011 - Alpha:

REMARK: This is an informal pre-work-release - tested on Linux only.

The content is a major advance, and the major part is stable, but overall still in work.

Major Changes:

  • Fixes.

  • Introduced match lists of regexpr.

  • The most may already work on Mac-OS and MS-Windows and others too, but due to priorities for now tested and released for Linux. Others are following soon.

  • The class ‘epyunit.spUnittest.TestExecutable’ is pre-alpha

  • The documents are mostly complete, but still in review.

ToDo:

  • Finish the class ‘epyunit.spUnittest.TestExecutable’

  • Finish list of actual matches.

  • Correlator engine.

Current test status:

ATTENTION: Some of the tests involve the remote debug feature of PyDev/Eclipse,

thus require a running local RemoteDebugServer, see manuals.

  • UnitTests: >500

  • Use-Cases as UnitTests: >29

Total: >530

nn

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

epyunit-0.1.11.tar.gz (802.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

epyunit-0.1.11.linux-x86_64.tar.gz (61.3 kB view details)

Uploaded Source

epyunit-0.1.11-1.src.rpm (812.6 kB view details)

Uploaded Source

epyunit-0.1.11-1.noarch.rpm (60.4 kB view details)

Uploaded Source

File details

Details for the file epyunit-0.1.11.tar.gz.

File metadata

  • Download URL: epyunit-0.1.11.tar.gz
  • Upload date:
  • Size: 802.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for epyunit-0.1.11.tar.gz
Algorithm Hash digest
SHA256 8416f998d71673914486a1015f42e16ef9756758fe5751a92e26889918e32e5b
MD5 072dd8440c44afaee58f975d14de23ab
BLAKE2b-256 26fcfe0d31beee132127cf01dec494a7e9d284f62a8a1484d241abd2a2c2d6e6

See more details on using hashes here.

File details

Details for the file epyunit-0.1.11.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for epyunit-0.1.11.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 98e90a4b756b56b835d94c09f435ab2a8a4bf56777a5488453baa65a6d53e8d3
MD5 323e076abce68c3a38c97c46694e6b97
BLAKE2b-256 f5bf6f1f75d0fe362154dfcb1f49624b7d6bd442b05b9b5a51268e7d9662c398

See more details on using hashes here.

File details

Details for the file epyunit-0.1.11-1.src.rpm.

File metadata

  • Download URL: epyunit-0.1.11-1.src.rpm
  • Upload date:
  • Size: 812.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for epyunit-0.1.11-1.src.rpm
Algorithm Hash digest
SHA256 83ed8d832378cbdc31e45060c7995028ce87850d5ed3bd60698f9fee03e8a710
MD5 47e7e9acabf34b63ea6a6d0b5c2ae8d0
BLAKE2b-256 b3fbdd673c755df689ca2030df23dad2bf046ba1a7f5f9a622c9408696df91ee

See more details on using hashes here.

File details

Details for the file epyunit-0.1.11-1.noarch.rpm.

File metadata

File hashes

Hashes for epyunit-0.1.11-1.noarch.rpm
Algorithm Hash digest
SHA256 6a7690955c4fc9ca99dea0ce5f642dc66d2df053944ef48026e96152b1369344
MD5 3053503537d075a6876393dfc5339c89
BLAKE2b-256 d80502bcd68d1a9bed191b927f0db5ae491cab87a411e4e0c881d8c5035a2a57

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.12

4 files

0.2.11

5 files

0.2.10

5 files

0.2.9

4 files

0.2.8

5 files

0.2.7

5 files

0.2.6

5 files

0.2.5

5 files

0.2.0

5 files

0.1.14

5 files

0.1.13

3 files

0.1.12

5 files

This release

0.1.11 This release

4 files

0.1.10

5 files

0.1.9

5 files

0.1.8

5 files

0.1.7

5 files

0.0.10

4 files

0.0.1

4 files

0.0.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page