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.012 - 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.

  • Provide first version of integrated documentation created by SPhinx+Epydoc

  • Migrated API creation by Epydoc to Windows7 and MacOS-SnowLeopard

  • 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.12.tar.gz (790.0 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.12.linux-x86_64.tar.gz (66.9 kB view details)

Uploaded Source

epyunit-0.1.12.linux-x86_64.exe (112.6 kB view details)

Uploaded Source

epyunit-0.1.12-1.src.rpm (800.7 kB view details)

Uploaded Source

epyunit-0.1.12-1.noarch.rpm (64.6 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for epyunit-0.1.12.tar.gz
Algorithm Hash digest
SHA256 6f182b8e62672d31dcea6f7b8b854c1d6a08e1025bd68712cd9a76aba4c1d7b2
MD5 ec129174f23143bd0c6e6010d164640f
BLAKE2b-256 179a0eb718374cc814298f07df6d62e5e220576205b6b099dfdccfb5207f03cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for epyunit-0.1.12.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 74c0e5d694259ec53a44ece51a9e05716f112e7f9268f6bff40de6089ca0ccf8
MD5 f3239c2cde3e45db62616c41b06b2541
BLAKE2b-256 29cb1221af74eda63cc7d9d474b366c5882f45553f5516ec2032fb3a61eb6989

See more details on using hashes here.

File details

Details for the file epyunit-0.1.12.linux-x86_64.exe.

File metadata

File hashes

Hashes for epyunit-0.1.12.linux-x86_64.exe
Algorithm Hash digest
SHA256 cfe1bdd84224aa7940d98eafbc9c7252cda1d127641b486a42590629c086e036
MD5 fad750d8c9b477cacac715f0a615808f
BLAKE2b-256 5c904347d980f291f89d51ea99245a8a38cbdca245fbafd48a835cd2fba4264d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for epyunit-0.1.12-1.src.rpm
Algorithm Hash digest
SHA256 e86f4a5c3aa916475b7a50bef37436db21d808fb9c6744c7071a059b370b2ecb
MD5 e4b79d4993d85610c56f7e655dce1e3b
BLAKE2b-256 8191bc820f1c731fd7fad66f138fba5d7ac2779332a51143519019949a69f6be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for epyunit-0.1.12-1.noarch.rpm
Algorithm Hash digest
SHA256 26d39f896845f02006253b8874c398aee1133d1d95e6ecfe8c0554a0276b7728
MD5 9171923a3c6c89a1742ff85bbd649d5e
BLAKE2b-256 78acaef4a8a4bf23561013addee857d7cb6882d836dad15529b4430a8e6ab95d

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

This release

0.1.12 This release

5 files

0.1.11

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