CanvasLibraryTest

class ip_manager.testing.CanvasLibraryTest

Generate an IPKISS Canvas library file (.iclib extension) from a library and compare it against the library’s built-in reference.

Usage

Override the ‘library_folder’ method so it returns the directory containing the library’s all.py file. Optionally, override the ‘build_script_path’ method so it returns the path to the iclib’s build script.

Note

The library should have an .iclib file next to its all.py file, which is considered the reference file. Since the reference file is stored in the PDK / library, regeneration should be done manually.

build_script_path()

Optional path to a build script that generates the iclib file.

The build script is a python script that can be called through CLI and has an argument ‘-o’ to configure the output directory. If None, the default library exporter is used.

abstract library_folder()

Path to the library (directory containing the all.py file)

library_name(library_folder)

Name of the library

Defaults to Path(library_folder).stem

reference_folder(library_folder)

Fixture returning the full reference folder path

Defaults to the library_folder, and expect that the reference_folder exists.

reference_name(library_name)

Fixture for configuring the reference file name, without the folder path.

Defaults to the library_name.

create_reference_iclib()

The reference iclib file should be regenerated by running its build script manually.

temp_folder_name(reference_folder_name)

Fixture specifying the relative folder path in which the temporary files are saved.

Defaults to ./tmp.

reference_folder_name()

Fixture for configuring the relative folder path in which the known-good reference files are saved.

Defaults to ‘ref’

temp_folder(request, temp_folder_name)

Fixture returning the full temporary folder path.

Creates the necessary directories if they don’t exist. Should not be overridden (use ‘temp_folder_name’ instead).