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

  • RELEASE: 00.00

  • NICKNAME: ‘Dromi’

  • STATUS: pre-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.010 - Alpha:

REMARK: This is an informal pre-work-release with some bugs, lots of UnitFailures - the stable is following within one or two days.

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.

ToDo:

  • Finish list of actual matches.

  • Correlator engine.

Current test status:

REMARK: Works already stable, but has still to be tested. Due to some

urgent required ads for a contract I have to push it already to the public as reference, for the same reason require this now for the ‘bash-core-lib’ family of extensions for the bash on the road to the cross platform object oriented scripting platform including the new introduced shell-scriptlets.

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

thus require a running local RemoteDebugServer, see manuals.

  • UnitTests: >128

  • Use-Cases as UnitTests: >29

Total: >150

nn

Metadata

Release files for epyunit 0.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for epyunit 0.1.10
File Size Uploaded
epyunit-0.1.10.tar.gz 669.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for epyunit 0.1.10
File
epyunit-0.1.10.linux-x86_64.tar.gz Details
epyunit-0.1.10.linux-x86_64.exe Details
epyunit-0.1.10-1.src.rpm Details
epyunit-0.1.10-1.noarch.rpm Details

Total release size: 1.6 MB

Release files / epyunit-0.1.10.tar.gz

Download URL epyunit-0.1.10.tar.gz
Size 669.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0071e027ca47cc9f2f3834d720dac4bf07f1c4adc06f02e88d7cd7e19cadced4
BLAKE2b-256 checksum
How to use checksums
3c7de5c8b8c74d635fc4142451a093d4facb73c795b8445de0f1bdaee788f6ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / epyunit-0.1.10.linux-x86_64.tar.gz

Download URL epyunit-0.1.10.linux-x86_64.tar.gz
Size 46.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b78c852602c74239c4cc10cd85d9e0a8e597995a9467c2af1959fdaf728a1d21
BLAKE2b-256 checksum
How to use checksums
787ac6ff073d19bfeea5643c043150bf2f370611ab27f1ed317a9a534832623e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / epyunit-0.1.10.linux-x86_64.exe

Download URL epyunit-0.1.10.linux-x86_64.exe
Size 103.1 kB
Tags Source
SHA-256 checksum
How to use checksums
14ffa413c15f1aa52a628d0f7f832385355f3e4a364d6237ab575a144ef1b535
BLAKE2b-256 checksum
How to use checksums
5ce754a4292f8a1d46c754cb05293e06490260f9042a287baef4bb304471ffd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / epyunit-0.1.10-1.src.rpm

Download URL epyunit-0.1.10-1.src.rpm
Size 681.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5d91450719ec9f88f2df0f5e1f7b6d1ead50cf22252f0390a34a12b31aee037c
BLAKE2b-256 checksum
How to use checksums
086f4b59dc2d594696c3f5c8e387e79961611cba6d3d7327de70fdbf4ae4736a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / epyunit-0.1.10-1.noarch.rpm

Download URL epyunit-0.1.10-1.noarch.rpm
Size 52.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0d927cca3d585674f4079d475f52d9cf35c069486b81b4b3d1b823fe28f94304
BLAKE2b-256 checksum
How to use checksums
1a29d8232f98bd03b9b289e1b78313b4bd7d2527c3aa3ae28ec53af44276d1d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.2.12

4 release files

0.2.11

5 release files

0.2.10

5 release files

0.2.9

4 release files

0.2.8

5 release files

0.2.7

5 release files

0.2.6

5 release files

0.2.5

5 release files

0.2.0

5 release files

0.1.14

5 release files

0.1.13

3 release files

0.1.12

5 release files

0.1.11

4 release files

This release

0.1.10 This release

5 release files

0.1.9

5 release files

0.1.8

5 release files

0.1.7

5 release files

0.0.1

4 release 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