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

Uploaded Source

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

Uploaded Source

epyunit-0.1.8-1.src.rpm (372.1 kB view details)

Uploaded Source

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

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for epyunit-0.1.8.tar.gz
Algorithm Hash digest
SHA256 6af5606200937132bc9a2d24297811ef8f05220599fbcfc2d225744e23f17234
MD5 6ed2c4ba329d2ed9616be0aaa4e190f6
BLAKE2b-256 089b57c1d8d4d5d9bc0b1ebdf3f1fd0ce779bec4cf1701021f7d2f2ff4a904aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for epyunit-0.1.8.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 e2b3c6f21fd90eb39ada2f80b7705cd51087229237c051aee2ed4070f098dd70
MD5 d3ff93dfa81234d8e111aed17fd097bf
BLAKE2b-256 aa4283ce717a086a334824d1bc3090dc5f2ebe299290126b1adc9136a1747fa5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for epyunit-0.1.8.linux-x86_64.exe
Algorithm Hash digest
SHA256 e51a5f285666de98a193bdfff239cec9be044ba568358ca69f15ca0f8113559c
MD5 88e48f984f81ab03836968176aa20f5f
BLAKE2b-256 5d31a20b0784343957cc9118b12d1f20a2dfa2ddd63b9bf995908fc4a8d75b70

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for epyunit-0.1.8-1.src.rpm
Algorithm Hash digest
SHA256 828cdb45faa75a8343a1e6079315fe681a1b73e984bb0bcf0dd93e4221551a68
MD5 7fce9a6b04b217b0e1086d07ba3b43fd
BLAKE2b-256 8048799c63ba36aa280bec69f6ef236590cff34200d6dd5e3a35314635c4a217

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for epyunit-0.1.8-1.noarch.rpm
Algorithm Hash digest
SHA256 70e19e9346562ed7b45f3a013164d0870e8c28b6508a90314d1b1d75985fe34e
MD5 7331b12955184c91f99e0af86e546bd8
BLAKE2b-256 e048d569b336e1d0c3abaf3a2d20f067d08494d2a99471a2e864552656f73aa9

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

This release

0.1.8 This release

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