Skip to content

Latest commit

 

History

History
76 lines (52 loc) · 2.62 KB

developer_guide.md

File metadata and controls

76 lines (52 loc) · 2.62 KB

Developer Guide

The developer guide explains how to maintain and develop the Advanced Analytics Framework (AAF).

Building and Installing the AAF Script Language Container (SLC)

The following command builds the SLC for the AAF

poetry run nox -s build_language_container

Installing the SLC ins described in the AAF User Guide.

Update Generated Files

AAF contains the amalgated Lua script create_query_loop.sql originating from the files in the directory exasol/analytics/lua/src.

The following command updates the amalgated script:

poetry run nox -s amalgate_lua_scripts

Running Tests

AAF comes with different automated tests implemented in different programming languages and requiring different environments:

Language Category Database Environment
Python Unit tests no poetry
Python Integration tests with database yes dev_env
Python Integration tests w/o database no dev_env
Lua Unit tests no dev_env

Development Environment

For tests marked with Environment dev_env you need to

  • Setup a Development Environment
  • Add the AAF to it
  • Run the tests in the Development Environment

The Development Environment

  • Activates AAF's conda environment containing a specific versino of Lua
  • Sets the environment variables LUA_PATH, LUA_CPATH, and PATH for executing lua scripts

The following commands install the Development Environment and add the AAF

poetry run -- nox -s install_dev_env
poetry run -- nox -s run_in_dev_env -- poetry install

Python Unit Tests

You can execute the unit tests without special preparation in the regular poetry environment:

poetry run pytest tests/unit_tests

Python Integration Tests with and w/o database

The following commands run integration tests w/o and with database

poetry run -- nox -s run_python_test -- -- tests/integration_tests/without_db/
poetry run -- nox -s run_python_test -- -- --backend=onprem tests/integration_tests/with_db/

Lua Unit Tests

The following command executes the Lua Unit Tests:

poety run nox -s run_lua_unit_tests