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.008 - Alpha:

Major Changes:

  • Introduce automation of PyDev and Eclipse integration by ‘pydevd.py’. This includes also the start of independent processes from the commandline.

  • Introduced a seperate module for subprocess units on top of the starter.

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

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: >9

  • Use-Cases as UnitTests: >18

Total: >25

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.9.tar.gz (360.4 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.9.linux-x86_64.tar.gz (40.0 kB view details)

Uploaded Source

epyunit-0.1.9.linux-x86_64.exe (99.5 kB view details)

Uploaded Source

epyunit-0.1.9-1.src.rpm (372.3 kB view details)

Uploaded Source

epyunit-0.1.9-1.noarch.rpm (47.4 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for epyunit-0.1.9.tar.gz
Algorithm Hash digest
SHA256 ca577117df0596e0dc3fca9aa4f840253aa7a803bc168d811fcc809bc2db44c3
MD5 e41ca376148b1750ea54d64264e28be9
BLAKE2b-256 9f0005ca4618bae4365b6b97ee261edd48c5e290bb421647b4159906c8848bd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for epyunit-0.1.9.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 e0655195d1ecae600478f8e490b61516d49436cae0ec1170ca26ea918c790274
MD5 25bf307907b5d82bb8923eb3fc0c6f55
BLAKE2b-256 40e8fc25a2dc2f946bc8bb58b6417cbcec18a48acb76bbb8f7893537741869ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for epyunit-0.1.9.linux-x86_64.exe
Algorithm Hash digest
SHA256 1998eddb59fa4372bfe11c9e8ba87e63cee84be189c442de24ed74d479d8f6d9
MD5 e8dfbe678de8941abff08d74c6259f67
BLAKE2b-256 515ef68df701517f2fa0fa5ddfb5a102bdff98417bfbc871d5cbfcb94e50a62f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for epyunit-0.1.9-1.src.rpm
Algorithm Hash digest
SHA256 ffbf9b1a6fc8fe392ef015da4c5828601a19269331167aa4d2f48179483c2ad9
MD5 f311dc3396b101a6fb10c2603dd38533
BLAKE2b-256 1e26d4f5afa46809eb2e04f868fb93779879eb1f5b3d33fb685273e1f81c6e0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: epyunit-0.1.9-1.noarch.rpm
  • Upload date:
  • Size: 47.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for epyunit-0.1.9-1.noarch.rpm
Algorithm Hash digest
SHA256 886dc070d242241c7bdea8d93bcaff178480a87a2a088060ebfd14563251de8f
MD5 f9e27d938090542f9cbdb0131439b0e2
BLAKE2b-256 33d2453a5ce78b1591f73f7bc269d9d2522f755ec39a8b36e045f52cc65604db

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

0.1.11

4 files

0.1.10

5 files

This release

0.1.9 This release

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