Skip to main content

Unit Tests for Wavefront files and Poser files manipulation library

Project description

This file is the README of the unit tests and example package of:

  • The pypos3d library.
  • The pypos3dv 3D OpenGL Viewer
  • The LibreOffice based GUI

1. INTRODUCTION:

This library is a port of the old DATA3D library of the OpenSource Pojamas project. I own both of them.

pypos3d aims to have a high level of quality. Each version is automatically tested with a set of unit tests. Coding rules are based on CNES (RNC-CNES-Q-HB-80-535) -CNES is the French National Space Agency-

2. INSTALLATION:

Library Installation:

The library shall be installed with pip:

python3 -m pip pypos3dtu

Each release of pypos3dtu shall test the same version of pypos3d library

Configuration Management System:

The code is managed on SourceForge platform under SVN: svn checkout svn://svn.code.sf.net/p/pojamas/svncode/ pojamas-svncode

Development and test files are gathered in directory PyPoser

This PyPoser directory contains an Eclipse/PyDev environment.

3. Tests:

Unit tests are delivered in this package (pypos3dtu) This library is tested with unitest with a target coverage rate over 85%.

Installation and commissionning tests are performed on:

  • CentOS 8, 7
  • Fedora >30
  • Microsoft Windows 10
  • Debian 10 (i386)

Unit Tests:

To run the tests, 3 ways are available:

  • Under Linux use script the tu.sh to launch all tests:
  • Tests are run in parallel

  • Coverage Tests are run one by one (results in coverage_results.txt)

  • Detailed logs are generated in directory: pypos3dtu/tulog

  • Results are generated in directory: pypos3dtu/tures

  • Outside Linux (in non dev environments):
  • Locate the installation directory of pypos3dtu

    > python -c "import pypos3dtu; print(pypos3dtu.__path__[0])"

  • Change current directory to the previous value:

    > cd C:\Users\olivier\AppData\Roaming\Python\Python38\site-packages\pypos3dtu

  • Execute manually the tests

    > python -m unittest discover -p "tu*.py"

  • In a development environment:
  • Checkout the Eclipse project (cf. link above)
  • Run tests from PyPoser/src/pypos3dtu
  • Don't forfget to clean the 'tures' directory before check-in

Validation Tests:

Validation tests are 'free' tests excuted on the GUI (LibreOffice) and the viewer. Validation tests of the viewer (pypos3dv command) shall be run on various hardware platforms.

Tests Platforms:

Platform CPU, RAM, GraphicCard OS - Software
d16 Intel Core) i7-7700HQ CPU @ 2.80GHz

x86_64 - 4C/8T - RAM 16GB
NVIDIA Corporation GP108M [GeForce MX150]
CentOS 8 Stream
Python 3.6.8
PyOpenGL 3.1.5
Pillow 7.2
d6 Intel Core) i5 CPU 750 @ 2.67GHz

x86_64 - 4C/4T - RAM 4GB
NVIDIA Corporation GF119 [GeForce GT 520]
CentOS 7
Python 3.6.8
Pillow 6.2
nvidia-390xx-390.138-1.el7.x86_64
PyOpenGL 3.1.5
d8 Intel Atom) CPU N2800 @ 1.86GHz

i386 - 2C/4T - RAM 4GB
IGP 640MHz
Debian 10
Python 3.7.3
Pillow 5.4.1
PyGLM 1.99.3
PyOpenGL 3.1.5
scipy 1.5.4
numpy 1.19.4
glfw 2.0.0
xlrd 2.0.1
d10 Intel Pentium dual-Core CPU E5300 @2.60GHz

x86_64 - 2C/2T - RAM 6GB
NVIDIA GeForce 8600 GT/PCIe/SSE2 256MB
Microsoft Windows 10
Python 3.8.7
Pillow 8.1.0
PyGLM 1.99.3
PyOpenGL 3.1.5
glfw 2.0.0
numpy 1.20.0
Pillow 8.1.0
pip 21.0.1
scipy 1.6.0
xlrd 2.0.1
d9 Intel Core i5

x86_64 - 2C/4T - RAM 4GB
IGP nnnMHz
Fedora 33

5. Tests Data:

Units tests are using some tests data (geometries, textures, material libs, ...). Tests data have been (usually) found on the web on: https://www.sharecg.com They are all free and usable for this product (non-commercial use or totally free)

In case of error on the license on embedded tests data, contact me. I'll fix it immediatly.

Included (partial) Open Source models:

Many thanks to the contributors!

LICENCE:

This library and its unit tests are delivered under the BSD license.

KR, Olivier

Unit Tests of pypos3d version 0.4.1 on lun. mars 8 22:56:34 CET 2021 2021-03-08 22:56:35+01:00 tuWFBasic.py Success 2021-03-08 22:56:36+01:00 tuPaveList.py Success 2021-03-08 22:57:19+01:00 tuPoserFile.py Success 2021-03-08 22:57:30+01:00 tuPoserMeshed.py Success 2021-03-08 22:57:37+01:00 tuPlaneCut.py Success 2021-03-08 22:58:20+01:00 tuQSlim.py Success 2021-03-08 22:58:40+01:00 tuFigure.py Success 2021-03-08 22:59:31+01:00 tuWaveGeom.py Success Name Stmts Miss Cover

/home/olivier/workspace/PyPoser/src/pypos3d/init.py 4 0 100% /home/olivier/workspace/PyPoser/src/pypos3d/pftk/ChannelImportAnalysis.py 158 27 83% /home/olivier/workspace/PyPoser/src/pypos3d/pftk/Figure.py 817 123 85% /home/olivier/workspace/PyPoser/src/pypos3d/pftk/GeomCustom.py 166 23 86% /home/olivier/workspace/PyPoser/src/pypos3d/pftk/PoserBasic.py 825 45 95% /home/olivier/workspace/PyPoser/src/pypos3d/pftk/PoserFile.py 647 79 88% /home/olivier/workspace/PyPoser/src/pypos3d/pftk/PoserMeshed.py 663 94 86% /home/olivier/workspace/PyPoser/src/pypos3d/pftk/SimpleAttribut.py 261 40 85% /home/olivier/workspace/PyPoser/src/pypos3d/pftk/StructuredAttribut.py 1036 135 87% /home/olivier/workspace/PyPoser/src/pypos3d/pftk/init.py 4 0 100% /home/olivier/workspace/PyPoser/src/pypos3d/propslim/MxBasic.py 212 6 97% /home/olivier/workspace/PyPoser/src/pypos3d/propslim/MxStdModel.py 324 24 93% /home/olivier/workspace/PyPoser/src/pypos3d/propslim/PropSlim.py 203 12 94% /home/olivier/workspace/PyPoser/src/pypos3d/propslim/init.py 12 0 100% /home/olivier/workspace/PyPoser/src/pypos3d/wftk/DebugPlotter.py 63 63 0% /home/olivier/workspace/PyPoser/src/pypos3d/wftk/GeomGroup.py 661 86 87% /home/olivier/workspace/PyPoser/src/pypos3d/wftk/PaveList2D.py 66 8 88% /home/olivier/workspace/PyPoser/src/pypos3d/wftk/PoserFileParser.py 112 18 84% /home/olivier/workspace/PyPoser/src/pypos3d/wftk/Repere.py 63 0 100% /home/olivier/workspace/PyPoser/src/pypos3d/wftk/WFBasic.py 1112 159 86% /home/olivier/workspace/PyPoser/src/pypos3d/wftk/WaveGeom.py 1235 159 87% /home/olivier/workspace/PyPoser/src/pypos3d/wftk/init.py 4 0 100%

TOTAL 8648 1101 87%

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypos3dtu-0.4.1.tar.gz (24.8 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page