xplat-utils Unit Tests

Overview

PyPi module N/A
git repository https://bitbucket.org/arrizza-public/xplat-utils-ut
git command git clone git@bitbucket.org:arrizza-public/xplat-utils-ut.git
Verification Report https://arrizza.com/web-ver/xplat-utils-ut-report.html
Version Info
OS Language #Runs Last Run Cov%
Ubuntu 22.04 jammy Python 3.10 - - -
Ubuntu 24.04 noble Python 3.10 202 2025-04-14 68%

Summary

This project are the unit tests for the xplat-utils repo.

To run

./do_ut

xplat.cfg content

The xplat.cfg file contains information about the project that is usable cross-platform.

The platforms supported are below. Note that most projects, not all, can run on all OSs. Testing has been mostly on Ubuntu and macOS. Windows running msys2 has additional problems and so, currently, fewer projects run successfully on it.

  • ubuntu - should be usable on other linux based OSs, but has not been tested
  • macOS
  • windows
  • RPI - currently future, has only been tested on a few projects. Most testing so far has been on Ubuntu installed on the RPI.

xplat section

Holds various names, data and info across all repo types (see "mod_type" below).

Note many of these are used in python modules and ruby gems.

  • See tools/pyproject_template.toml
  • See tools/gem_template.gemspec

version

The current version string for the project. Used in reports, documentation and in modules in pypi, rubygems.org etc.

mod_name

The name of the application/project.

  • It must contain only dashes "-". No initial or trailing dashes
  • no spaces
  • lower case recommended. Upper case has not been tested

Note another item "mod_dir_name" is automatically created based on this value.

mod_dir_name

Automatically created from "mod_name".

This holds the name of the python module in the src directory:

py-dual-sorter          <== top level directory
  - src
      - py_dual_sorter  <== pypi module name used in the import 

desc

A short description of the app/module. This is used in documentation, license, etc.

slug

The web page name used on arrizza.com. Typically, it is the same as mod-name but can have a prefix e.g. python-on-the-fly-stats

is_module

Boolean value indicating it is a module or an app.

If it is an app, then it is False. If it is a python module, C/C++ library, Ruby gem, etc. then it is True.

mod_type

Indicates if this module is publicly available.

"public" indicates it can show up on arrizza.com. Some projects are marked public but I have not published them (yet). "private" indicates that it will not be visible.

mod_tech

Indicates the underlying primary technology used by this project. Note that some projects are cross-technology e.g. pyalamake uses python but generates a Makefile which uses C/C++ and Arduino code.

Currently, there are these techs:

  • "python" - for python apps and modules
  • "cpp" - for C/C++ apps and libraries
  • "arduino" - for Arduino apps (libraries are under construction)
  • "ruby" - for Ruby apps and gems

lic_year

The "as of" year for the license and copyright. This is an indication of when the project was first publicly posted. See LICENSE.txt for the full license and info.

licence

The license type. Currently only uses "MIT".

classifier_license

Used in python modules only in the pyproject.toml file. This is used by pypi.

See tools/pyproject_template.toml for an example.

source_url

Used in python modules and ruby gems.

download_url

Used in python modules only in the pyproject.toml file. This is used by pypi to indicate how to download the module

author

Used in python modules and ruby gems.

email

Used in python modules and ruby gems.

long_desc_type

Used by pypi to display the README.md file.

See tools/pyproject_template.toml for an example.

do_publish

Various info used by the do_publish script to publish a Python module or Ruby gem.

disallow

Some repos are only templates but are marked as a module/gem. These should be not be published to pypi or rubygem.org.

do_lint

Various info used by the do_lint script.

include_tools

Boolean flag to indicate of the tools/ directory should be included in the lint

src_dirs

Any additional directories to check. Currently used only in cpp/arduino mod_techs.

do_doc

Various info used by the do_doc script.

daxy_exclude

Various files or directories to exclude from being parsed by doxygen or other doc generators.

Recommend one line per file/directory.

daxy_include

Various directories to include for parsing by doxygen or other doc generators.

do_post_ver

Various info used by the do_post_ver script.

dst_dir

The directory to save the genned verification html files. These are all accumulated and published on arrizza.com/web-ver

dst_dir.win

An override for dst_dir used on Windows since that OS used drive letters.

src_dir

The directory where the verification data is stored. Typically, it is out/ver.

pypi_url

The pypi url that contains the python module.

  • if it is an app use "App"

repo_url

The url to for the associated repo. Currently, these are on bitbucket for the repos in arrizza.com

repo_url = 'https://bitbucket.org/arrizza-{mod_type}/{mod_name}'

do_ut

Various info used by the do_ut script.

cov_dirs

Indicates which directories to include in coverage statistics.

Currently used by C/C++ repos only.

exclude

Various directories or files to exclude from coverage.

cpip

Indicates any CPIP common packages to retrieve or publish to.

(CPIP is my very simple "package manager")

root_dir

The location of the packages. This is a mounted shared drive between my windows, ubuntu and macos laptops.

root_dir.win

An override for windows (because of the drive letter)

packages

A list of packages used by this project

- John Arrizza