Skip to content
Snippets Groups Projects

Repo for bachelor SOI-tool

Forutsetninger

  • Python 3.7
  • Pip 20.0
  • Windows 10 eller Ubuntu 18.04. Merk at flesteparten av gruppen arbeider på Windows 10

Oppsett med virtual environment

# initialiser virtual environment
python -m venv venv
# aktiver virtual environment (Windows)
./venv/Scripts/activate
# aktiver virtual environment (Ubuntu, ikke testet)
./venv/bin/activate
# sikre at venv har riktige versjoner av kritiske innebygde pakker
# (kanskje unødvendig)
# dette blir gjort fordi default gir pip-18, som gir errormeldinger.
# Se https://bugs.python.org/issue30628
python -m pip install pip=='20.0' setuptools=='45.2' wheel=='0.34'
# installer pakker
pip install -r requirements.txt
# ...jobb med koden...
# for å deaktivere virtual environment
deactivate

Linting

Sjekk av kodekvalitet gjøres med scriptet "CodeQualityCheck" i script-mappa, og er skrevet i Powershell(.ps1) og Bash(.sh). Scriptet kjører Pylint med .pylintrc-fil, Flake8, Bandit og pydocstyle. Man kan gi scriptet spesifikke .py-filer, hvis ikke sjekker den alle .py-filer.

Terminal kjøres fra root:

  • Sjekk alle .py: .\scripts\CodeQualityCheck.ps1 eller ./scripts/CodeQualityCheck.sh

  • Sekk spesifikk(e) .py: .\scripts\CodeQualityCheck.ps1 filEn.py filTo.py

Testing

Tester er skrevet med unittest modulen, og ligger i mappen test.

  • For å kjøre alle tester: python -m unittest
  • For å kjøre en enkelt test modul (fil i test mappen): python -m unittest test.<navnet_til_modulen>
  • For å kjøre en enkelt test metode (fil i test mappen): python -m unittest test.<navnet_til_modulen>.<navnet til klassen>.<navnet til metoden>

Generering av kodedokumentasjon

Gjøres med pdoc3:

  • pdoc3 --html --output-dir .\docs .\soitool\main.py

  • Uten kildekode: pdoc3 --html --config show_source_code=False --output-dir .\docs\ .\soitool\main.py