Tests needed for config_install: __init__(): - sets up env: __target_host cleanup() - Fail if cache_dir from previous run cannot be deleted - Fail if cache_dir cannot be created from current out_dir filter() - ensure logformat is changed: target host is prefixed: LOGLEVEL: target_host: MESSAGE run_initial_manifest(): - parameter is actually used (from __init__) - ensure changing the manifest actually runs a different manifest -> give ConfigInstall Constructor different manifest -> different manifest is executed. - test all submitted (from core to type manifest) variables: - ENVIRONMENT - they are set - they contain the correct values run_type_manifest(): - test all submitted (from core to type manifest) variables: - ENVIRONMENT - they are set - they contain the correct values run_manifest(): - test all submitted variables: - ENVIRONMENT - including __debug, if debug - they are set - they contain the correct values - does $require work? transfer_type_explorers(): - Explorers are not transferred twice - No transfer tried if there are no type_explorers emulator() may only be called with __ as prefix - fail otherwise! object_run(): - ensure no object is run twice - ensure requirements are taken into account? - and order of run is adjusted - check (from extern?) that all needed variables are setup - ensure no code-{local, remote} is created, if gencode is not producing code - ensure THAT code-{local, remote} contains what gencode created - abort if gencode-* fails - abort if code-* fails - abort == raise(FooException) - gencode-*: ensure ENVIRONMENT is setup correctly run_type_explorer(): ensure output is saved to correct path run_type_explorer(): ensure a type with no explorers works run_type_explorer(): ensure environment is setup correctly all: check that messages of all functions contain target_host in string config_install: run_type_manifest() - same tests as for test_initial_manifest_*? run_manifest() - raise exception if manifest is not existent