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 ‘PyDev’:

                +-----------------------+   call    +----------------------+
                |                       |  ------>  |                      |
Subprocess      |        ePyUnit        |           |   Wrapped-Process    |
                |                       |  <-----   |                      |
                +-----------------------+   stdin   +----------------------+
                            |               stderr
                            V               exit
                +-----------------------+
Python Units    |         PyUnit        |
                +-----------------------+
                            |
                            V
                +-----------+-----------+
IDE             |  Eclipse  |    CLI    |
                +-----------+-----------+

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.007 - 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.7.tar.gz (360.6 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.7.linux-x86_64.tar.gz (39.8 kB view details)

Uploaded Source

epyunit-0.1.7.linux-x86_64.exe (98.2 kB view details)

Uploaded Source

epyunit-0.1.7-1.src.rpm (371.3 kB view details)

Uploaded Source

epyunit-0.1.7-1.noarch.rpm (46.2 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for epyunit-0.1.7.tar.gz
Algorithm Hash digest
SHA256 d4e842766597f3f3913484ea9417a1d8bd4a47bcca9b4f9d25fd4e9c0985b9f8
MD5 989f894243112ce44a80c4c50c57b182
BLAKE2b-256 c98570658c38afad6b096b6f83afdcd41b417b8de73715066c4b0f727f3b7df4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for epyunit-0.1.7.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 a7870adfea0f617250d45c3994f5f31b2f205987fabaa55b3ab676f64736e7cb
MD5 149f7ab5aa8a16dfb5ee47b254db0ba0
BLAKE2b-256 77c53344772e6a7e5fe1d367418e07c9a5fded41e9b97722996c9745da068423

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for epyunit-0.1.7.linux-x86_64.exe
Algorithm Hash digest
SHA256 5326855d7308700ac5a5b5ba7adbe699aac8c355312299241a8676d78dfc0c2f
MD5 79ddbeafe9eb844a09da10307d8ad3e0
BLAKE2b-256 1f9d86c320a25e5fd53f159f70ce03a431c71f86f360b68e51ecf17d6f53ec62

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for epyunit-0.1.7-1.src.rpm
Algorithm Hash digest
SHA256 155b95cd677c3333b7e61c2f5483f0110ee042453f2582d9e39cb6f3532025a0
MD5 90f0b94a0bed6259cb1afb55af626ba5
BLAKE2b-256 5db4163a66159ead896a5fb4d293fe68b2898eb90b3b3e15c1f1dbabdfbe6a1e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for epyunit-0.1.7-1.noarch.rpm
Algorithm Hash digest
SHA256 67a14aff0d3ae3192e93e98fb1e7eee3fe1a56fe69ff77c46959ca71e2b3f630
MD5 fa0775d4eb339e47f2ab9be74eb1ee8d
BLAKE2b-256 21a922ad01e2d40b4753f21a5fd8d3b85bf75ee9e2e337f34f51fa29d73bf4e6

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

0.1.9

5 files

0.1.8

5 files

This release

0.1.7 This release

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