From e2724175ff8a1cb3faeaaceabd0d3f3348677fc2 Mon Sep 17 00:00:00 2001 From: Dirk Alders Date: Sun, 26 Jan 2020 16:07:23 +0100 Subject: [PATCH] Release: e10fa482d1bae991647206a4d38be6d4 --- __init__.py | 236 + _testresults_/unittest.json | 21836 ++++++++++++++++++++++++++++++++++ _testresults_/unittest.pdf | Bin 0 -> 323950 bytes 3 files changed, 22072 insertions(+) create mode 100644 __init__.py create mode 100644 _testresults_/unittest.json create mode 100644 _testresults_/unittest.pdf diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..3ad1c54 --- /dev/null +++ b/__init__.py @@ -0,0 +1,236 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +""" +caching (Caching Module) +======================== + +**Author:** + +* Dirk Alders + +**Description:** + + This Module supports functions and classes for caching e.g. properties of other instances. + +**Submodules:** + +* :class:`caching.property_cache_json` +* :class:`caching.property_cache_pickle` + +**Unittest:** + + See also the :download:`unittest <../../caching/_testresults_/unittest.pdf>` documentation. +""" +__DEPENDENCIES__ = [] + +import hashlib +import hmac +import json +import logging +import os +import pickle +import sys + +logger_name = 'CACHING' +logger = logging.getLogger(logger_name) + +__DESCRIPTION__ = """The Module {\\tt %s} is designed to store information in {\\tt json} or {\\tt pickle} files to support them much faster then generating them from the original source file. +For more Information read the documentation.""" % __name__.replace('_', '\_') +"""The Module Description""" +__INTERPRETER__ = (2, 3) +"""The Tested Interpreter-Versions""" + + +class property_cache_pickle(object): + """ + Class to cache properties, which take longer on initialising than reading a file in pickle format. + + :param source_instance: The source instance holding the data + :type source_instance: instance + :param cache_filename: File name, where the properties are stored as cache + :type cache_filename: str + :param load_all_on_init: Optionally init behaviour control parameter. True will load all available properties from source on init, False not. + :raises: ? + + .. note:: This module uses logging. So logging should be initialised at least by executing logging.basicConfig(...) + + .. note:: source_instance needs to have at least the following methods: uid(), keys(), data_version(), get() + + * uid(): returns the unique id of the source. + * keys(): returns a list of all available keys. + * data_version(): returns a version number of the current data (it should be increased, if the get method of the source instance returns improved values or the data structure had been changed). + * get(key, default): returns the property for a key. If key does not exists, default will be returned. + + Reasons for updating the complete data set: + + * UID of source_instance has changed (in comparison to the cached value). + * data_version is increased + + **Example:** + + .. literalinclude:: ../../caching/_examples_/property_cache_pickle.py + + Will result on the first execution to the following output (with a long execution time): + + .. literalinclude:: ../../caching/_examples_/property_cache_pickle_1.log + + With every following execution (slow for getting "two" which is not cached - see implementation): + + .. literalinclude:: ../../caching/_examples_/property_cache_pickle_2.log + """ + LOG_PREFIX = 'PickCache:' + DATA_VERSION_TAG = '_property_cache_data_version_' + UID_TAG = '_property_cache_uid_' + + def __init__(self, source_instance, cache_filename, load_all_on_init=False, callback_on_data_storage=None): + self._source_instance = source_instance + self._cache_filename = cache_filename + self._load_all_on_init = load_all_on_init + self._callback_on_data_storage = callback_on_data_storage + self._cached_props = None + + def get(self, key, default=None): + """ + Method to get the cached property. If key does not exists in cache, the property will be loaded from source_instance and stored in cache (file). + + :param key: key for value to get. + :param default: value to be returned, if key does not exists. + :returns: value for a given key or default value. + """ + if key in self.keys(): + if self._cached_props is None: + self._init_cache() + if self._key_filter(key) not in self._cached_props: + val = self._source_instance.get(key, None) + logger.debug("%s Loading property for '%s' from source instance (%s)", self.LOG_PREFIX, key, repr(val)) + self._cached_props[self._key_filter(key)] = val + self._save_cache() + else: + logger.debug("%s Providing property for '%s' from cache (%s)", self.LOG_PREFIX, key, repr(self._cached_props.get(self._key_filter(key), default))) + return self._cached_props.get(self._key_filter(key), default) + else: + logger.info("%s Key '%s' is not in cached_keys. Uncached data will be returned.", self.LOG_PREFIX, key) + return self._source_instance.get(key, default) + + def keys(self): + return self._source_instance.keys() + + def _data_version(self): + if self._cached_props is None: + return None + else: + return self._cached_props.get(self.DATA_VERSION_TAG, None) + + def _init_cache(self): + if not self._load_cache() or self._source_instance.uid() != self._uid() or self._source_instance.data_version() > self._data_version(): + if self._uid() is not None and self._source_instance.uid() != self._uid(): + logger.debug("%s Source uid changed, ignoring previous cache data", self.LOG_PREFIX) + if self._data_version() is not None and self._source_instance.data_version() > self._data_version(): + logger.debug("%s Data version increased, ignoring previous cache data", self.LOG_PREFIX) + self._cached_props = dict() + if self._load_all_on_init: + self._load_source() + self._cached_props[self.UID_TAG] = self._source_instance.uid() + self._cached_props[self.DATA_VERSION_TAG] = self._source_instance.data_version() + self._save_cache() + + def _load_cache(self): + if os.path.exists(self._cache_filename): + with open(self._cache_filename, 'rb') as fh: + self._cached_props = pickle.load(fh) + logger.info('%s Loading properties from cache (%s)', self.LOG_PREFIX, self._cache_filename) + return True + else: + logger.debug('%s Cache file does not exists (yet).', self.LOG_PREFIX) + return False + + def _key_filter(self, key): + if sys.version_info >= (3, 0): + tps = [str] + else: + tps = [str, unicode] + if type(key) in tps: + if key.endswith(self.DATA_VERSION_TAG) or key.endswith(self.UID_TAG): + return '_' + key + return key + + def _load_source(self): + logger.debug('%s Loading all data from source - %s', self.LOG_PREFIX, repr(self._source_instance.keys())) + for key in self._source_instance.keys(): + val = self._source_instance.get(key) + self._cached_props[self._key_filter(key)] = val + + def _save_cache(self): + with open(self._cache_filename, 'wb') as fh: + pickle.dump(self._cached_props, fh) + logger.info('%s cache-file stored (%s)', self.LOG_PREFIX, self._cache_filename) + if self._callback_on_data_storage is not None: + self._callback_on_data_storage() + + def _uid(self): + if self._cached_props is None: + return None + else: + return self._cached_props.get(self.UID_TAG, None) + + +class property_cache_json(property_cache_pickle): + """ + Class to cache properties, which take longer on initialising than reading a file in json format. See also parent :py:class:`property_cache_pickle` + + :param source_instance: The source instance holding the data + :type source_instance: instance + :param cache_filename: File name, where the properties are stored as cache + :type cache_filename: str + :param load_all_on_init: Optionally init behaviour control parameter. True will load all available properties from source on init, False not. + :raises: ? + + .. warning:: + * This class uses json. You should **only** use keys of type string! + * Unicode types are transfered to strings + + .. note:: This module uses logging. So logging should be initialised at least by executing logging.basicConfig(...) + + .. note:: source_instance needs to have at least the following methods: uid(), keys(), data_version(), get() + + * uid(): returns the unique id of the source. + * keys(): returns a list of all available keys. + * data_version(): returns a version number of the current data (it should be increased, if the get method of the source instance returns improved values or the data structure had been changed). + * get(key, default): returns the property for a key. If key does not exists, default will be returned. + + Reasons for updating the complete data set: + + * UID of source_instance has changed (in comparison to the cached value). + * data_version is increased + + **Example:** + + .. literalinclude:: ../../caching/_examples_/property_cache_json.py + + Will result on the first execution to the following output (with a long execution time): + + .. literalinclude:: ../../caching/_examples_/property_cache_json_1.log + + With every following execution (slow for getting "two" which is not cached - see implementation): + + .. literalinclude:: ../../caching/_examples_/property_cache_json_2.log + """ + LOG_PREFIX = 'JsonCache:' + + def _load_cache(self): + if os.path.exists(self._cache_filename): + with open(self._cache_filename, 'r') as fh: + self._cached_props = json.load(fh) + logger.info('%s Loading properties from cache (%s)', self.LOG_PREFIX, self._cache_filename) + return True + else: + logger.debug('%s Cache file does not exists (yet).', self.LOG_PREFIX) + return False + + def _save_cache(self): + with open(self._cache_filename, 'w') as fh: + json.dump(self._cached_props, fh, sort_keys=True, indent=4) + logger.info('%s cache-file stored (%s)', self.LOG_PREFIX, self._cache_filename) + if self._callback_on_data_storage is not None: + self._callback_on_data_storage() diff --git a/_testresults_/unittest.json b/_testresults_/unittest.json new file mode 100644 index 0000000..b985abb --- /dev/null +++ b/_testresults_/unittest.json @@ -0,0 +1,21836 @@ +{ + "coverage_information": [ + { + "branch_coverage": 100.0, + "filepath": "/user_data/data/dirk/prj/modules/caching/pylibs/caching", + "files": [ + { + "branch_coverage": 100.0, + "filepath": "/user_data/data/dirk/prj/modules/caching/pylibs/caching/__init__.py", + "fragments": [ + { + "coverage_state": "clean", + "end": 3, + "start": 1 + }, + { + "coverage_state": "covered", + "end": 4, + "start": 4 + }, + { + "coverage_state": "clean", + "end": 24, + "start": 5 + }, + { + "coverage_state": "covered", + "end": 25, + "start": 25 + }, + { + "coverage_state": "clean", + "end": 26, + "start": 26 + }, + { + "coverage_state": "covered", + "end": 33, + "start": 27 + }, + { + "coverage_state": "clean", + "end": 34, + "start": 34 + }, + { + "coverage_state": "covered", + "end": 36, + "start": 35 + }, + { + "coverage_state": "clean", + "end": 37, + "start": 37 + }, + { + "coverage_state": "covered", + "end": 38, + "start": 38 + }, + { + "coverage_state": "clean", + "end": 40, + "start": 39 + }, + { + "coverage_state": "covered", + "end": 41, + "start": 41 + }, + { + "coverage_state": "clean", + "end": 44, + "start": 42 + }, + { + "coverage_state": "covered", + "end": 45, + "start": 45 + }, + { + "coverage_state": "clean", + "end": 81, + "start": 46 + }, + { + "coverage_state": "covered", + "end": 84, + "start": 82 + }, + { + "coverage_state": "clean", + "end": 85, + "start": 85 + }, + { + "coverage_state": "covered", + "end": 91, + "start": 86 + }, + { + "coverage_state": "clean", + "end": 92, + "start": 92 + }, + { + "coverage_state": "covered", + "end": 93, + "start": 93 + }, + { + "coverage_state": "clean", + "end": 100, + "start": 94 + }, + { + "coverage_state": "covered", + "end": 108, + "start": 101 + }, + { + "coverage_state": "clean", + "end": 109, + "start": 109 + }, + { + "coverage_state": "covered", + "end": 111, + "start": 110 + }, + { + "coverage_state": "clean", + "end": 112, + "start": 112 + }, + { + "coverage_state": "covered", + "end": 114, + "start": 113 + }, + { + "coverage_state": "clean", + "end": 115, + "start": 115 + }, + { + "coverage_state": "covered", + "end": 117, + "start": 116 + }, + { + "coverage_state": "clean", + "end": 118, + "start": 118 + }, + { + "coverage_state": "covered", + "end": 121, + "start": 119 + }, + { + "coverage_state": "clean", + "end": 122, + "start": 122 + }, + { + "coverage_state": "covered", + "end": 123, + "start": 123 + }, + { + "coverage_state": "clean", + "end": 124, + "start": 124 + }, + { + "coverage_state": "covered", + "end": 136, + "start": 125 + }, + { + "coverage_state": "clean", + "end": 137, + "start": 137 + }, + { + "coverage_state": "covered", + "end": 143, + "start": 138 + }, + { + "coverage_state": "clean", + "end": 144, + "start": 144 + }, + { + "coverage_state": "covered", + "end": 146, + "start": 145 + }, + { + "coverage_state": "clean", + "end": 147, + "start": 147 + }, + { + "coverage_state": "covered", + "end": 150, + "start": 148 + }, + { + "coverage_state": "clean", + "end": 151, + "start": 151 + }, + { + "coverage_state": "covered", + "end": 156, + "start": 152 + }, + { + "coverage_state": "clean", + "end": 157, + "start": 157 + }, + { + "coverage_state": "covered", + "end": 162, + "start": 158 + }, + { + "coverage_state": "clean", + "end": 163, + "start": 163 + }, + { + "coverage_state": "covered", + "end": 169, + "start": 164 + }, + { + "coverage_state": "clean", + "end": 170, + "start": 170 + }, + { + "coverage_state": "covered", + "end": 173, + "start": 171 + }, + { + "coverage_state": "clean", + "end": 174, + "start": 174 + }, + { + "coverage_state": "covered", + "end": 175, + "start": 175 + }, + { + "coverage_state": "clean", + "end": 177, + "start": 176 + }, + { + "coverage_state": "covered", + "end": 178, + "start": 178 + }, + { + "coverage_state": "clean", + "end": 218, + "start": 179 + }, + { + "coverage_state": "covered", + "end": 219, + "start": 219 + }, + { + "coverage_state": "clean", + "end": 220, + "start": 220 + }, + { + "coverage_state": "covered", + "end": 226, + "start": 221 + }, + { + "coverage_state": "clean", + "end": 227, + "start": 227 + }, + { + "coverage_state": "covered", + "end": 229, + "start": 228 + }, + { + "coverage_state": "clean", + "end": 230, + "start": 230 + }, + { + "coverage_state": "covered", + "end": 236, + "start": 231 + }, + { + "coverage_state": "clean", + "end": null, + "start": 237 + } + ], + "line_coverage": 100.0, + "name": "caching.__init__.py" + } + ], + "line_coverage": 100.0, + "name": "caching" + } + ], + "lost_souls": { + "item_list": [], + "testcase_list": [ + "caching.property_cache_json: Test cached data (full init)", + "caching.property_cache_json: Test cached data (partially init)", + "caching.property_cache_json: Test execution of save callback (full init)", + "caching.property_cache_json: Test full initialised JSON-Cache-Object", + "caching.property_cache_json: Test get from source caused by changed uid (full init)", + "caching.property_cache_json: Test get from source caused by changed uid (partially init)", + "caching.property_cache_json: Test get from source caused by increased data version (full init)", + "caching.property_cache_json: Test get from source caused by increased data version (partially init)", + "caching.property_cache_json: Test internal key usage", + "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object", + "caching.property_cache_pickle: Test cached data (full init)", + "caching.property_cache_pickle: Test cached data (partially init)", + "caching.property_cache_pickle: Test execution of save callback (full init)", + "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object", + "caching.property_cache_pickle: Test get from source caused by changed uid (full init)", + "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)", + "caching.property_cache_pickle: Test get from source caused by increased data version (full init)", + "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)", + "caching.property_cache_pickle: Test internal key usage", + "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object" + ] + }, + "specification": {}, + "system_information": { + "Architecture": "64bit", + "Distribution": "LinuxMint 19.3 tricia", + "Hostname": "ahorn", + "Kernel": "5.0.0-37-generic (#40~18.04.1-Ubuntu SMP Thu Nov 14 12:06:39 UTC 2019)", + "Machine": "x86_64", + "Path": "/user_data/data/dirk/prj/modules/caching/unittest", + "System": "Linux", + "Username": "dirk" + }, + "testobject_information": { + "Dependencies": [], + "Description": "The Module {\\tt caching} is designed to store information in {\\tt json} or {\\tt pickle} files to support them much faster then generating them from the original source file.\nFor more Information read the documentation.", + "Name": "caching", + "State": "Released", + "Supported Interpreters": "python2, python3", + "Version": "e10fa482d1bae991647206a4d38be6d4" + }, + "testrun_list": [ + { + "heading_dict": {}, + "interpreter": "python 2.7.17 (final)", + "name": "Default Testsession name", + "number_of_failed_tests": 0, + "number_of_possibly_failed_tests": 4, + "number_of_successfull_tests": 16, + "number_of_tests": 20, + "testcase_execution_level": 90, + "testcase_names": { + "0": "Single Test", + "10": "Smoke Test (Minumum subset)", + "50": "Short Test (Subset)", + "90": "Full Test (all defined tests)" + }, + "testcases": { + "caching.property_cache_json: Test cached data (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,662", + "created": 1577479726.662434, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "WARNING", + "levelno": 30, + "lineno": 31, + "message": "caching.property_cache_json: Test cached data (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 662.4341011047363, + "msg": "caching.property_cache_json: Test cached data (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 102.90002822875977, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:46,664", + "created": 1577479726.664573, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,662", + "created": 1577479726.662676, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 662.6760959625244, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 103.14202308654785, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,662", + "created": 1577479726.662952, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 662.9519462585449, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 103.41787338256836, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,663", + "created": 1577479726.663307, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 663.3069515228271, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 103.77287864685059, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,663", + "created": 1577479726.663474, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 663.4740829467773, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 103.94001007080078, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,664", + "created": 1577479726.664318, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 664.3180847167969, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 104.78401184082031, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 664.5729541778564, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 105.03888130187988, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0002548694610595703 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:46,666", + "created": 1577479726.666463, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Collecting data from cache instance.", + "module": "test_cached_data", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "uncached" + ], + "asctime": "2019-12-27 21:48:46,664", + "created": 1577479726.664909, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "INFO", + "levelno": 20, + "lineno": 113, + "message": "JsonCache: Key 'uncached' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 664.9088859558105, + "msg": "%s Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 105.37481307983398, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,665", + "created": 1577479726.665348, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 665.3480529785156, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 105.81398010253906, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{u'1': 1, u'3': u'3', u'2': u'two', u'4': 4}" + ], + "asctime": "2019-12-27 21:48:46,665", + "created": 1577479726.665564, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'dict' from cache ({u'1': 1, u'3': u'3', u'2': u'two', u'4': 4})", + "module": "__init__", + "msecs": 665.5640602111816, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 106.02998733520508, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "u'unicode'" + ], + "asctime": "2019-12-27 21:48:46,665", + "created": 1577479726.665832, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'unicode' from cache (u'unicode')", + "module": "__init__", + "msecs": 665.8320426940918, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 106.29796981811523, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "u'string'" + ], + "asctime": "2019-12-27 21:48:46,665", + "created": 1577479726.665978, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'str' from cache (u'string')", + "module": "__init__", + "msecs": 665.977954864502, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 106.44388198852539, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "17" + ], + "asctime": "2019-12-27 21:48:46,666", + "created": 1577479726.666104, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'integer' from cache (17)", + "module": "__init__", + "msecs": 666.1040782928467, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 106.57000541687012, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "3.14159" + ], + "asctime": "2019-12-27 21:48:46,666", + "created": 1577479726.66623, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'float' from cache (3.14159)", + "module": "__init__", + "msecs": 666.2299633026123, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 106.69589042663574, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "[1, u'two', u'3', 4]" + ], + "asctime": "2019-12-27 21:48:46,666", + "created": 1577479726.666363, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'list' from cache ([1, u'two', u'3', 4])", + "module": "__init__", + "msecs": 666.363000869751, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 106.82892799377441, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 666.4628982543945, + "msg": "Collecting data from cache instance.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_cached_data.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 106.92882537841797, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 9.989738464355469e-05 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:46,669", + "created": 1577479726.669458, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "WARNING", + "levelno": 30, + "lineno": 144, + "message": "Cached data is NOT correct. See detailed log for more information.", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cached data", + "{ 'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [ 1, u'two', u'3', 4 ], 'dict': { u'1': 1, u'3': u'3', u'2': u'two', u'4': 4 }, 'str': u'string', 'integer': 17 }", + "" + ], + "asctime": "2019-12-27 21:48:46,666", + "created": 1577479726.666938, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cached data): { 'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [ 1, u'two', u'3', 4 ], 'dict': { u'1': 1, u'3': u'3', u'2': u'two', u'4': 4 }, 'str': u'string', 'integer': 17 } ()", + "module": "test", + "msecs": 666.938066482544, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 107.40399360656738, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Cached data", + "{ 'uncached': 'uncached_data_of_class', 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,667", + "created": 1577479726.6672, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cached data): result = { 'uncached': 'uncached_data_of_class', 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] } ()", + "module": "test", + "msecs": 667.2000885009766, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 107.666015625, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,667", + "created": 1577479726.667519, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 667.5190925598145, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 107.98501968383789, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,667", + "created": 1577479726.667651, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'two' is incorrect for test_variable.", + "module": "test", + "msecs": 667.6509380340576, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 108.11686515808105, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,667", + "created": 1577479726.667826, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 667.8259372711182, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 108.2918643951416, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,667", + "created": 1577479726.667987, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'two' is incorrect for test_variable.", + "module": "test", + "msecs": 667.9871082305908, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 108.45303535461426, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,668", + "created": 1577479726.668064, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 668.0641174316406, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 108.53004455566406, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.list[1]", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,668", + "created": 1577479726.668145, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.list[1] (u'two'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 668.144941329956, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 108.61086845397949, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,668", + "created": 1577479726.668216, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'3'). ", + "module": "test", + "msecs": 668.2159900665283, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 108.68191719055176, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,668", + "created": 1577479726.668292, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'3' is incorrect for test_variable.", + "module": "test", + "msecs": 668.2920455932617, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 108.75797271728516, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,668", + "created": 1577479726.668397, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'3'). ", + "module": "test", + "msecs": 668.3969497680664, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 108.86287689208984, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.list[2]", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,669", + "created": 1577479726.669079, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.list[2] (u'3'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 669.079065322876, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 109.54499244689941, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.dict.3", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,669", + "created": 1577479726.669205, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.dict.3 (u'3'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 669.2049503326416, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 109.67087745666504, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.dict.2", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,669", + "created": 1577479726.669295, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.dict.2 (u'two'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 669.295072555542, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 109.76099967956543, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.str", + "u'string'" + ], + "asctime": "2019-12-27 21:48:46,669", + "created": 1577479726.669377, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.str (u'string'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 669.3770885467529, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 109.84301567077637, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 669.4579124450684, + "msg": "Cached data is NOT correct. See detailed log for more information.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 109.9238395690918, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 8.082389831542969e-05 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.007023811340332031, + "time_finished": "2019-12-27 21:48:46,669", + "time_start": "2019-12-27 21:48:46,662" + }, + "caching.property_cache_json: Test cached data (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,669", + "created": 1577479726.669917, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "WARNING", + "levelno": 30, + "lineno": 32, + "message": "caching.property_cache_json: Test cached data (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 669.917106628418, + "msg": "caching.property_cache_json: Test cached data (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 110.3830337524414, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:46,671", + "created": 1577479726.671109, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,670", + "created": 1577479726.670008, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 670.0079441070557, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 110.4738712310791, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,670", + "created": 1577479726.670202, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 670.2020168304443, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 110.66794395446777, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,670", + "created": 1577479726.670339, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 670.3391075134277, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 110.80503463745117, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,670", + "created": 1577479726.670444, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 670.4440116882324, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 110.90993881225586, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,670", + "created": 1577479726.670918, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 670.9179878234863, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 111.38391494750977, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 671.1089611053467, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 111.57488822937012, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00019097328186035156 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.67206, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Collecting data from cache instance.", + "module": "test_cached_data", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "uncached" + ], + "asctime": "2019-12-27 21:48:46,671", + "created": 1577479726.671241, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "INFO", + "levelno": 20, + "lineno": 113, + "message": "JsonCache: Key 'uncached' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 671.241044998169, + "msg": "%s Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 111.70697212219238, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,671", + "created": 1577479726.671492, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 671.4920997619629, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 111.95802688598633, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{u'1': 1, u'3': u'3', u'2': u'two', u'4': 4}" + ], + "asctime": "2019-12-27 21:48:46,671", + "created": 1577479726.671601, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'dict' from cache ({u'1': 1, u'3': u'3', u'2': u'two', u'4': 4})", + "module": "__init__", + "msecs": 671.6010570526123, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 112.06698417663574, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "u'unicode'" + ], + "asctime": "2019-12-27 21:48:46,671", + "created": 1577479726.671685, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'unicode' from cache (u'unicode')", + "module": "__init__", + "msecs": 671.684980392456, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 112.15090751647949, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "u'string'" + ], + "asctime": "2019-12-27 21:48:46,671", + "created": 1577479726.671759, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'str' from cache (u'string')", + "module": "__init__", + "msecs": 671.7588901519775, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 112.22481727600098, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "17" + ], + "asctime": "2019-12-27 21:48:46,671", + "created": 1577479726.671831, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'integer' from cache (17)", + "module": "__init__", + "msecs": 671.8308925628662, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 112.29681968688965, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "3.14159" + ], + "asctime": "2019-12-27 21:48:46,671", + "created": 1577479726.671916, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'float' from cache (3.14159)", + "module": "__init__", + "msecs": 671.9160079956055, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 112.3819351196289, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "[1, u'two', u'3', 4]" + ], + "asctime": "2019-12-27 21:48:46,671", + "created": 1577479726.671999, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'list' from cache ([1, u'two', u'3', 4])", + "module": "__init__", + "msecs": 671.9989776611328, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 112.46490478515625, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 672.0600128173828, + "msg": "Collecting data from cache instance.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_cached_data.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 112.52593994140625, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 6.103515625e-05 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673263, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "WARNING", + "levelno": 30, + "lineno": 144, + "message": "Cached data is NOT correct. See detailed log for more information.", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cached data", + "{ 'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [ 1, u'two', u'3', 4 ], 'dict': { u'1': 1, u'3': u'3', u'2': u'two', u'4': 4 }, 'str': u'string', 'integer': 17 }", + "" + ], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.672206, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cached data): { 'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [ 1, u'two', u'3', 4 ], 'dict': { u'1': 1, u'3': u'3', u'2': u'two', u'4': 4 }, 'str': u'string', 'integer': 17 } ()", + "module": "test", + "msecs": 672.205924987793, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 112.6718521118164, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Cached data", + "{ 'uncached': 'uncached_data_of_class', 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.672362, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cached data): result = { 'uncached': 'uncached_data_of_class', 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] } ()", + "module": "test", + "msecs": 672.3620891571045, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 112.82801628112793, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.672556, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 672.5559234619141, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.0218505859375, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.672705, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'two' is incorrect for test_variable.", + "module": "test", + "msecs": 672.7049350738525, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.17086219787598, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.672791, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 672.7910041809082, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.25693130493164, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.672832, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'two' is incorrect for test_variable.", + "module": "test", + "msecs": 672.8320121765137, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.29793930053711, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.672875, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 672.874927520752, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.34085464477539, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.list[1]", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.672916, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.list[1] (u'two'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 672.9159355163574, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.38186264038086, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.67296, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'3'). ", + "module": "test", + "msecs": 672.9600429534912, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.42597007751465, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,672", + "created": 1577479726.672999, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'3' is incorrect for test_variable.", + "module": "test", + "msecs": 672.9989051818848, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.4648323059082, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673041, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'3'). ", + "module": "test", + "msecs": 673.0411052703857, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.50703239440918, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.list[2]", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673081, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.list[2] (u'3'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 673.0809211730957, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.54684829711914, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.dict.3", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673138, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.dict.3 (u'3'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 673.137903213501, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.60383033752441, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.dict.2", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.67318, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.dict.2 (u'two'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 673.180103302002, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.64603042602539, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.str", + "u'string'" + ], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673224, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.str (u'string'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 673.2239723205566, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.68989944458008, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 673.2630729675293, + "msg": "Cached data is NOT correct. See detailed log for more information.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.72900009155273, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 3.910064697265625e-05 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.003345966339111328, + "time_finished": "2019-12-27 21:48:46,673", + "time_start": "2019-12-27 21:48:46,669" + }, + "caching.property_cache_json: Test execution of save callback (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,708", + "created": 1577479726.70814, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 37, + "message": "caching.property_cache_json: Test execution of save callback (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 708.1398963928223, + "msg": "caching.property_cache_json: Test execution of save callback (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 148.6058235168457, + "testcaseLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,708", + "created": 1577479726.708624, + "exc_info": null, + "exc_text": null, + "filename": "test_save_callback.py", + "funcName": "save_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Installing save_callback, which sets a variable to True on execution.", + "module": "test_save_callback", + "moduleLogger": [], + "msecs": 708.6238861083984, + "msg": "Installing save_callback, which sets a variable to True on execution.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_save_callback.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 149.08981323242188, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2019-12-27 21:48:46,710", + "created": 1577479726.710204, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Save callback execution variable is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/save_callback_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,709", + "created": 1577479726.709266, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/save_callback_load_on_init.json)", + "module": "__init__", + "msecs": 709.265947341919, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 149.73187446594238, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution variable", + "True", + "" + ], + "asctime": "2019-12-27 21:48:46,709", + "created": 1577479726.709886, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Save callback execution variable): True ()", + "module": "test", + "msecs": 709.8860740661621, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 150.35200119018555, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution variable", + "True", + "" + ], + "asctime": "2019-12-27 21:48:46,710", + "created": 1577479726.710083, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Save callback execution variable): result = True ()", + "module": "test", + "msecs": 710.0830078125, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 150.54893493652344, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 710.2038860321045, + "msg": "Save callback execution variable is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 150.66981315612793, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00012087821960449219 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0020639896392822266, + "time_finished": "2019-12-27 21:48:46,710", + "time_start": "2019-12-27 21:48:46,708" + }, + "caching.property_cache_json: Test full initialised JSON-Cache-Object": { + "args": null, + "asctime": "2019-12-27 21:48:46,643", + "created": 1577479726.643786, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "WARNING", + "levelno": 30, + "lineno": 29, + "message": "caching.property_cache_json: Test full initialised JSON-Cache-Object", + "module": "__init__", + "moduleLogger": [], + "msecs": 643.7859535217285, + "msg": "caching.property_cache_json: Test full initialised JSON-Cache-Object", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 84.25188064575195, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:46,647", + "created": 1577479726.647687, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,644", + "created": 1577479726.644632, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 644.63210105896, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 85.0980281829834, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,645", + "created": 1577479726.645167, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 645.1671123504639, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 85.6330394744873, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,645", + "created": 1577479726.645936, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 645.9360122680664, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 86.40193939208984, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,646", + "created": 1577479726.646279, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 646.2790966033936, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 86.74502372741699, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,647", + "created": 1577479726.647255, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json)", + "module": "__init__", + "msecs": 647.2549438476562, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 87.72087097167969, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 647.6869583129883, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 88.15288543701172, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00043201446533203125 + }, + { + "args": [ + "property_cache_json" + ], + "asctime": "2019-12-27 21:48:46,650", + "created": 1577479726.650248, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Extracting storage object from property_cache_json for comparison.", + "module": "test_load_on_init", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,648", + "created": 1577479726.648629, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json)", + "module": "__init__", + "msecs": 648.6289501190186, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 89.09487724304199, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "{u'str': u'string', u'_property_cache_uid_': u'my_unique_id', u'float': 3.14159, u'list': [1, u'two', u'3', 4], u'dict': {u'1': 1, u'3': u'3', u'2': u'two', u'4': 4}, u'unicode': u'unicode', u'_property_cache_data_version_': 1, u'integer': 17}" + ], + "asctime": "2019-12-27 21:48:46,649", + "created": 1577479726.649488, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Using storage object of cache class for comparison: {u'str': u'string', u'_property_cache_uid_': u'my_unique_id', u'float': 3.14159, u'list': [1, u'two', u'3', 4], u'dict': {u'1': 1, u'3': u'3', u'2': u'two', u'4': 4}, u'unicode': u'unicode', u'_property_cache_data_version_': 1, u'integer': 17}", + "module": "test_load_on_init", + "msecs": 649.4879722595215, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 89.95389938354492, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:46,650", + "created": 1577479726.650075, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_load_on_init", + "msecs": 650.0749588012695, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 90.54088592529297, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 650.2480506896973, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 90.7139778137207, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00017309188842773438 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:46,652", + "created": 1577479726.652238, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "WARNING", + "levelno": 30, + "lineno": 144, + "message": "Cache object is NOT correct. See detailed log for more information.", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache object", + "{ u'str': u'string', u'float': 3.14159, u'list': [ 1, u'two', u'3', 4 ], u'dict': { u'1': 1, u'3': u'3', u'2': u'two', u'4': 4 }, u'unicode': u'unicode', u'integer': 17 }", + "" + ], + "asctime": "2019-12-27 21:48:46,650", + "created": 1577479726.650631, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache object): { u'str': u'string', u'float': 3.14159, u'list': [ 1, u'two', u'3', 4 ], u'dict': { u'1': 1, u'3': u'3', u'2': u'two', u'4': 4 }, u'unicode': u'unicode', u'integer': 17 } ()", + "module": "test", + "msecs": 650.6309509277344, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 91.09687805175781, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Cache object", + "{ 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,650", + "created": 1577479726.650847, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache object): result = { 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] } ()", + "module": "test", + "msecs": 650.8469581604004, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 91.31288528442383, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.str", + "u'string'" + ], + "asctime": "2019-12-27 21:48:46,651", + "created": 1577479726.651082, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.str (u'string'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 651.0820388793945, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 91.54796600341797, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,651", + "created": 1577479726.651304, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 651.3040065765381, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 91.76993370056152, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,651", + "created": 1577479726.651417, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'two' is incorrect for test_variable.", + "module": "test", + "msecs": 651.4170169830322, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 91.88294410705566, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,651", + "created": 1577479726.651511, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 651.5109539031982, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 91.97688102722168, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,651", + "created": 1577479726.651591, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'two' is incorrect for test_variable.", + "module": "test", + "msecs": 651.5910625457764, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.0569896697998, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,651", + "created": 1577479726.651705, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 651.7050266265869, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.17095375061035, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.list[1]", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,651", + "created": 1577479726.651781, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.list[1] (u'two'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 651.7810821533203, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.24700927734375, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,651", + "created": 1577479726.651867, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'3'). ", + "module": "test", + "msecs": 651.8669128417969, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.33283996582031, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,651", + "created": 1577479726.651935, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'3' is incorrect for test_variable.", + "module": "test", + "msecs": 651.9351005554199, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.40102767944336, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,652", + "created": 1577479726.652018, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'3'). ", + "module": "test", + "msecs": 652.0180702209473, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.4839973449707, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.list[2]", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,652", + "created": 1577479726.652068, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.list[2] (u'3'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 652.0678997039795, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.53382682800293, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.dict.3", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,652", + "created": 1577479726.652128, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.dict.3 (u'3'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 652.1279811859131, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.59390830993652, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.dict.2", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,652", + "created": 1577479726.65217, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.dict.2 (u'two'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 652.169942855835, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.6358699798584, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 652.2378921508789, + "msg": "Cache object is NOT correct. See detailed log for more information.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.70381927490234, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 6.794929504394531e-05 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00845193862915039, + "time_finished": "2019-12-27 21:48:46,652", + "time_start": "2019-12-27 21:48:46,643" + }, + "caching.property_cache_json: Test get from source caused by changed uid (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,684", + "created": 1577479726.684843, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 35, + "message": "caching.property_cache_json: Test get from source caused by changed uid (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 684.8430633544922, + "msg": "caching.property_cache_json: Test get from source caused by changed uid (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 125.30899047851562, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:46,688", + "created": 1577479726.688011, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,685", + "created": 1577479726.685249, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 685.2490901947021, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 125.71501731872559, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,685", + "created": 1577479726.685665, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 685.6648921966553, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 126.13081932067871, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,686", + "created": 1577479726.686045, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 686.0449314117432, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 126.5108585357666, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,686", + "created": 1577479726.68631, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 686.3100528717041, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 126.77597999572754, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,687", + "created": 1577479726.687464, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json)", + "module": "__init__", + "msecs": 687.4639987945557, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 127.9299259185791, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 688.0109310150146, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 128.4768581390381, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0005469322204589844 + }, + { + "args": [ + "{'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34}", + "" + ], + "asctime": "2019-12-27 21:48:46,692", + "created": 1577479726.692153, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after changing uid is correct (Content {'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,688", + "created": 1577479726.688798, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json)", + "module": "__init__", + "msecs": 688.7979507446289, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 129.26387786865234, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,689", + "created": 1577479726.689191, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 128, + "message": "JsonCache: Source uid changed, ignoring previous cache data", + "module": "__init__", + "msecs": 689.1911029815674, + "msg": "%s Source uid changed, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 129.65703010559082, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,689", + "created": 1577479726.68953, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 689.5298957824707, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 129.99582290649414, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,690", + "created": 1577479726.690441, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json)", + "module": "__init__", + "msecs": 690.4408931732178, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 130.9068202972412, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{'1': '1', '3': 'three', '2': 2, '4': '4'}" + ], + "asctime": "2019-12-27 21:48:46,691", + "created": 1577479726.691013, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'dict' from cache ({'1': '1', '3': 'three', '2': 2, '4': '4'})", + "module": "__init__", + "msecs": 691.0130977630615, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 131.47902488708496, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "u'__unicode__'" + ], + "asctime": "2019-12-27 21:48:46,691", + "created": 1577479726.691165, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'unicode' from cache (u'__unicode__')", + "module": "__init__", + "msecs": 691.1649703979492, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 131.63089752197266, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:46,691", + "created": 1577479726.691288, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'str' from cache ('__string__')", + "module": "__init__", + "msecs": 691.2879943847656, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 131.75392150878906, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:46,691", + "created": 1577479726.691419, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'integer' from cache (34)", + "module": "__init__", + "msecs": 691.4188861846924, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 131.88481330871582, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:46,691", + "created": 1577479726.691533, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'float' from cache (2.71828)", + "module": "__init__", + "msecs": 691.533088684082, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 131.99901580810547, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:46,691", + "created": 1577479726.691639, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'list' from cache (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 691.6389465332031, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 132.10487365722656, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 }", + "" + ], + "asctime": "2019-12-27 21:48:46,691", + "created": 1577479726.691786, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after changing uid): { 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 } ()", + "module": "test", + "msecs": 691.7860507965088, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 132.25197792053223, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,691", + "created": 1577479726.691933, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after changing uid): result = { 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] } ()", + "module": "test", + "msecs": 691.9329166412354, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 132.3988437652588, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 692.1529769897461, + "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 132.61890411376953, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0002200603485107422 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.007309913635253906, + "time_finished": "2019-12-27 21:48:46,692", + "time_start": "2019-12-27 21:48:46,684" + }, + "caching.property_cache_json: Test get from source caused by changed uid (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,692", + "created": 1577479726.692504, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 36, + "message": "caching.property_cache_json: Test get from source caused by changed uid (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 692.5039291381836, + "msg": "caching.property_cache_json: Test get from source caused by changed uid (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 132.96985626220703, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:46,694", + "created": 1577479726.694636, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,692", + "created": 1577479726.692719, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 692.7189826965332, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 133.18490982055664, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,692", + "created": 1577479726.692926, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 692.9259300231934, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 133.3918571472168, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,693", + "created": 1577479726.693103, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 693.1030750274658, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 133.56900215148926, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,693", + "created": 1577479726.693317, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 693.3169364929199, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 133.78286361694336, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,694", + "created": 1577479726.694216, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 694.2160129547119, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 134.68194007873535, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 694.6361064910889, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 135.1020336151123, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0004200935363769531 + }, + { + "args": [ + "{'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34}", + "" + ], + "asctime": "2019-12-27 21:48:46,707", + "created": 1577479726.707752, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after changing uid is correct (Content {'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,695", + "created": 1577479726.695719, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 695.7190036773682, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 136.1849308013916, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,696", + "created": 1577479726.696387, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 128, + "message": "JsonCache: Source uid changed, ignoring previous cache data", + "module": "__init__", + "msecs": 696.3870525360107, + "msg": "%s Source uid changed, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 136.85297966003418, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,699", + "created": 1577479726.699074, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 699.0740299224854, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 139.5399570465088, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{'1': '1', '3': 'three', '2': 2, '4': '4'}" + ], + "asctime": "2019-12-27 21:48:46,700", + "created": 1577479726.700284, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'dict' from source instance ({'1': '1', '3': 'three', '2': 2, '4': '4'})", + "module": "__init__", + "msecs": 700.2840042114258, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 140.74993133544922, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,701", + "created": 1577479726.701821, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 701.8210887908936, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 142.287015914917, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "u'__unicode__'" + ], + "asctime": "2019-12-27 21:48:46,702", + "created": 1577479726.70276, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'unicode' from source instance (u'__unicode__')", + "module": "__init__", + "msecs": 702.7599811553955, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 143.22590827941895, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,703", + "created": 1577479726.703648, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 703.6480903625488, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 144.11401748657227, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:46,704", + "created": 1577479726.704098, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'str' from source instance ('__string__')", + "module": "__init__", + "msecs": 704.0979862213135, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 144.5639133453369, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,704", + "created": 1577479726.704559, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 704.5590877532959, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 145.02501487731934, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:46,704", + "created": 1577479726.704904, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'integer' from source instance (34)", + "module": "__init__", + "msecs": 704.9040794372559, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 145.3700065612793, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,705", + "created": 1577479726.705309, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 705.3089141845703, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 145.77484130859375, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:46,705", + "created": 1577479726.705803, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'float' from source instance (2.71828)", + "module": "__init__", + "msecs": 705.8029174804688, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 146.2688446044922, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,706", + "created": 1577479726.706256, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 706.2559127807617, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 146.72183990478516, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:46,706", + "created": 1577479726.706575, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'list' from source instance (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 706.5749168395996, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 147.04084396362305, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,706", + "created": 1577479726.706999, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 706.9990634918213, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 147.46499061584473, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 }", + "" + ], + "asctime": "2019-12-27 21:48:46,707", + "created": 1577479726.70732, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after changing uid): { 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 } ()", + "module": "test", + "msecs": 707.319974899292, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 147.78590202331543, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,707", + "created": 1577479726.707514, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after changing uid): result = { 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] } ()", + "module": "test", + "msecs": 707.5140476226807, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 147.9799747467041, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 707.751989364624, + "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 148.21791648864746, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00023794174194335938 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.01524806022644043, + "time_finished": "2019-12-27 21:48:46,707", + "time_start": "2019-12-27 21:48:46,692" + }, + "caching.property_cache_json: Test get from source caused by increased data version (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.67339, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 33, + "message": "caching.property_cache_json: Test get from source caused by increased data version (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 673.3899116516113, + "msg": "caching.property_cache_json: Test get from source caused by increased data version (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.85583877563477, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673981, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673468, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 673.4681129455566, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 113.93404006958008, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673542, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 673.5420227050781, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 114.00794982910156, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673634, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 673.6340522766113, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 114.09997940063477, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673705, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 673.7051010131836, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 114.17102813720703, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,673", + "created": 1577479726.673915, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json)", + "module": "__init__", + "msecs": 673.914909362793, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 114.3808364868164, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 673.9809513092041, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 114.44687843322754, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 6.604194641113281e-05 + }, + { + "args": [ + "{'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34}", + "" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674977, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after increasing data_version is correct (Content {'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674109, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json)", + "module": "__init__", + "msecs": 674.1089820861816, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 114.57490921020508, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674166, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 130, + "message": "JsonCache: Data version increased, ignoring previous cache data", + "module": "__init__", + "msecs": 674.1659641265869, + "msg": "%s Data version increased, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 114.63189125061035, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674216, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 674.2160320281982, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 114.68195915222168, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674409, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json)", + "module": "__init__", + "msecs": 674.4089126586914, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 114.87483978271484, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{'1': '1', '3': 'three', '2': 2, '4': '4'}" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674512, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'dict' from cache ({'1': '1', '3': 'three', '2': 2, '4': '4'})", + "module": "__init__", + "msecs": 674.5119094848633, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 114.97783660888672, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "u'__unicode__'" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674574, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'unicode' from cache (u'__unicode__')", + "module": "__init__", + "msecs": 674.5738983154297, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.03982543945312, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674626, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'str' from cache ('__string__')", + "module": "__init__", + "msecs": 674.6261119842529, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.09203910827637, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674681, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'integer' from cache (34)", + "module": "__init__", + "msecs": 674.6809482574463, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.14687538146973, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674726, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'float' from cache (2.71828)", + "module": "__init__", + "msecs": 674.7260093688965, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.19193649291992, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674772, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'list' from cache (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 674.7720241546631, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.23795127868652, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 }", + "" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674833, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after increasing data_version): { 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 } ()", + "module": "test", + "msecs": 674.8330593109131, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.29898643493652, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,674", + "created": 1577479726.674887, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after increasing data_version): result = { 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] } ()", + "module": "test", + "msecs": 674.88694190979, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.35286903381348, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 674.9770641326904, + "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.44299125671387, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 9.012222290039062e-05 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0015871524810791016, + "time_finished": "2019-12-27 21:48:46,674", + "time_start": "2019-12-27 21:48:46,673" + }, + "caching.property_cache_json: Test get from source caused by increased data version (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.675101, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 34, + "message": "caching.property_cache_json: Test get from source caused by increased data version (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 675.1010417938232, + "msg": "caching.property_cache_json: Test get from source caused by increased data version (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.56696891784668, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.675612, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.675179, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 675.1790046691895, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.64493179321289, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.675241, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 675.2409934997559, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.7069206237793, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.675305, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 675.3048896789551, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.77081680297852, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.675355, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 675.3549575805664, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 115.82088470458984, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.675548, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 675.5480766296387, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 116.01400375366211, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 675.6119728088379, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 116.07789993286133, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 6.389617919921875e-05 + }, + { + "args": [ + "{'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34}", + "" + ], + "asctime": "2019-12-27 21:48:46,684", + "created": 1577479726.684053, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after increasing data_version is correct (Content {'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.675742, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 675.7419109344482, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 116.20783805847168, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.6758, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 130, + "message": "JsonCache: Data version increased, ignoring previous cache data", + "module": "__init__", + "msecs": 675.800085067749, + "msg": "%s Data version increased, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 116.26601219177246, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.67591, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 675.9099960327148, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 116.37592315673828, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{'1': '1', '3': 'three', '2': 2, '4': '4'}" + ], + "asctime": "2019-12-27 21:48:46,675", + "created": 1577479726.675994, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'dict' from source instance ({'1': '1', '3': 'three', '2': 2, '4': '4'})", + "module": "__init__", + "msecs": 675.9939193725586, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 116.45984649658203, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,676", + "created": 1577479726.676271, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 676.2709617614746, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 116.73688888549805, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "u'__unicode__'" + ], + "asctime": "2019-12-27 21:48:46,676", + "created": 1577479726.676366, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'unicode' from source instance (u'__unicode__')", + "module": "__init__", + "msecs": 676.3660907745361, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 116.83201789855957, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,676", + "created": 1577479726.676558, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 676.5580177307129, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 117.02394485473633, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:46,676", + "created": 1577479726.676661, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'str' from source instance ('__string__')", + "module": "__init__", + "msecs": 676.6610145568848, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 117.1269416809082, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,677", + "created": 1577479726.677353, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 677.3529052734375, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 117.81883239746094, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:46,678", + "created": 1577479726.67815, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'integer' from source instance (34)", + "module": "__init__", + "msecs": 678.149938583374, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 118.61586570739746, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,678", + "created": 1577479726.678959, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 678.9588928222656, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 119.42481994628906, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:46,679", + "created": 1577479726.679174, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'float' from source instance (2.71828)", + "module": "__init__", + "msecs": 679.1739463806152, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 119.63987350463867, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,680", + "created": 1577479726.680757, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 680.7570457458496, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 121.22297286987305, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:46,681", + "created": 1577479726.68151, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'list' from source instance (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 681.5099716186523, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 121.97589874267578, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,682", + "created": 1577479726.682532, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 682.5320720672607, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 122.99799919128418, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 }", + "" + ], + "asctime": "2019-12-27 21:48:46,683", + "created": 1577479726.683196, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after increasing data_version): { 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 } ()", + "module": "test", + "msecs": 683.1960678100586, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 123.66199493408203, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,683", + "created": 1577479726.683456, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after increasing data_version): result = { 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] } ()", + "module": "test", + "msecs": 683.4559440612793, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 123.92187118530273, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 684.0529441833496, + "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 124.51887130737305, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0005970001220703125 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.008951902389526367, + "time_finished": "2019-12-27 21:48:46,684", + "time_start": "2019-12-27 21:48:46,675" + }, + "caching.property_cache_json: Test internal key usage": { + "args": null, + "asctime": "2019-12-27 21:48:46,710", + "created": 1577479726.710611, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 38, + "message": "caching.property_cache_json: Test internal key usage", + "module": "__init__", + "moduleLogger": [], + "msecs": 710.61110496521, + "msg": "caching.property_cache_json: Test internal key usage", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 151.0770320892334, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:46,712", + "created": 1577479726.712964, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,711", + "created": 1577479726.711028, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 711.0280990600586, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 151.49402618408203, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json" + ], + "asctime": "2019-12-27 21:48:46,711", + "created": 1577479726.711408, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json as cache file.", + "module": "test_helpers", + "msecs": 711.4078998565674, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 151.87382698059082, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,711", + "created": 1577479726.711789, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 711.7888927459717, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 152.25481986999512, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['__property_cache_data_version_', '_property_cache_data_version_', '__property_cache_uid_', '_property_cache_uid_']" + ], + "asctime": "2019-12-27 21:48:46,711", + "created": 1577479726.711929, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['__property_cache_data_version_', '_property_cache_data_version_', '__property_cache_uid_', '_property_cache_uid_']", + "module": "__init__", + "msecs": 711.9290828704834, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 152.39500999450684, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json" + ], + "asctime": "2019-12-27 21:48:46,712", + "created": 1577479726.712553, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json)", + "module": "__init__", + "msecs": 712.5530242919922, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 153.01895141601562, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 712.9640579223633, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 153.42998504638672, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00041103363037109375 + }, + { + "args": [ + "property_cache_json" + ], + "asctime": "2019-12-27 21:48:46,714", + "created": 1577479726.714633, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Extracting storage object from property_cache_json for comparison.", + "module": "test_internal_keys", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json" + ], + "asctime": "2019-12-27 21:48:46,713", + "created": 1577479726.71386, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json)", + "module": "__init__", + "msecs": 713.860034942627, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 154.3259620666504, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "{u'__property_cache_data_version_': u'no data version', u'___property_cache_data_version_': u'no second data version', u'__property_cache_uid_': u'no uid', u'_property_cache_uid_': u'my_unique_id', u'_property_cache_data_version_': 1, u'___property_cache_uid_': u'no second uid'}" + ], + "asctime": "2019-12-27 21:48:46,714", + "created": 1577479726.714199, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Using storage object of cache class for comparison: {u'__property_cache_data_version_': u'no data version', u'___property_cache_data_version_': u'no second data version', u'__property_cache_uid_': u'no uid', u'_property_cache_uid_': u'my_unique_id', u'_property_cache_data_version_': 1, u'___property_cache_uid_': u'no second uid'}", + "module": "test_internal_keys", + "msecs": 714.1990661621094, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 154.6649932861328, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:46,714", + "created": 1577479726.714442, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_internal_keys", + "msecs": 714.4420146942139, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 154.9079418182373, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 714.6329879760742, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 155.09891510009766, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00019097328186035156 + }, + { + "args": [ + "{u'__property_cache_data_version_': u'no data version', u'___property_cache_data_version_': u'no second data version', u'__property_cache_uid_': u'no uid', u'___property_cache_uid_': u'no second uid'}", + "" + ], + "asctime": "2019-12-27 21:48:46,715", + "created": 1577479726.715968, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cache is correct (Content {u'__property_cache_data_version_': u'no data version', u'___property_cache_data_version_': u'no second data version', u'__property_cache_uid_': u'no uid', u'___property_cache_uid_': u'no second uid'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache", + "{ u'__property_cache_data_version_': u'no data version', u'___property_cache_data_version_': u'no second data version', u'__property_cache_uid_': u'no uid', u'___property_cache_uid_': u'no second uid' }", + "" + ], + "asctime": "2019-12-27 21:48:46,715", + "created": 1577479726.715168, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache): { u'__property_cache_data_version_': u'no data version', u'___property_cache_data_version_': u'no second data version', u'__property_cache_uid_': u'no uid', u'___property_cache_uid_': u'no second uid' } ()", + "module": "test", + "msecs": 715.1679992675781, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 155.63392639160156, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Cache", + "{ '__property_cache_data_version_': u'no data version', '___property_cache_data_version_': u'no second data version', '__property_cache_uid_': u'no uid', '___property_cache_uid_': u'no second uid' }", + "" + ], + "asctime": "2019-12-27 21:48:46,715", + "created": 1577479726.71561, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache): result = { '__property_cache_data_version_': u'no data version', '___property_cache_data_version_': u'no second data version', '__property_cache_uid_': u'no uid', '___property_cache_uid_': u'no second uid' } ()", + "module": "test", + "msecs": 715.6100273132324, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 156.07595443725586, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 715.9678936004639, + "msg": "Cache is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 156.4338207244873, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0003578662872314453 + }, + { + "args": [ + "5", + "" + ], + "asctime": "2019-12-27 21:48:46,716", + "created": 1577479726.716824, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Keyfilter returnvalue for 5 () is correct (Content 5 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Keyfilter returnvalue for 5 ()", + "5", + "" + ], + "asctime": "2019-12-27 21:48:46,716", + "created": 1577479726.716353, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Keyfilter returnvalue for 5 ()): 5 ()", + "module": "test", + "msecs": 716.3529396057129, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 156.81886672973633, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Keyfilter returnvalue for 5 ()", + "5", + "" + ], + "asctime": "2019-12-27 21:48:46,716", + "created": 1577479726.716624, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Keyfilter returnvalue for 5 ()): result = 5 ()", + "module": "test", + "msecs": 716.6240215301514, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 157.0899486541748, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 716.8240547180176, + "msg": "Keyfilter returnvalue for 5 () is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 157.28998184204102, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00020003318786621094 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.006212949752807617, + "time_finished": "2019-12-27 21:48:46,716", + "time_start": "2019-12-27 21:48:46,710" + }, + "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object": { + "args": null, + "asctime": "2019-12-27 21:48:46,652", + "created": 1577479726.652496, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "WARNING", + "levelno": 30, + "lineno": 30, + "message": "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object", + "module": "__init__", + "moduleLogger": [], + "msecs": 652.4960994720459, + "msg": "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 92.96202659606934, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "False" + ], + "asctime": "2019-12-27 21:48:46,653", + "created": 1577479726.653808, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=False).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,652", + "created": 1577479726.652644, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 652.6439189910889, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 93.1098461151123, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,652", + "created": 1577479726.652979, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 652.9788970947266, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 93.44482421875, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:46,653", + "created": 1577479726.653141, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 653.1410217285156, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 93.60694885253906, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,653", + "created": 1577479726.653525, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json)", + "module": "__init__", + "msecs": 653.5251140594482, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 93.99104118347168, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 653.8081169128418, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 94.27404403686523, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0002830028533935547 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:46,657", + "created": 1577479726.657239, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 18, + "message": "Partially initialising cache object by requesting some information.", + "module": "test_no_load_on_init", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "float", + "3.14159" + ], + "asctime": "2019-12-27 21:48:46,654", + "created": 1577479726.654048, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'float' from source instance (3.14159)", + "module": "__init__", + "msecs": 654.047966003418, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 94.5138931274414, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,654", + "created": 1577479726.654394, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json)", + "module": "__init__", + "msecs": 654.3939113616943, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 94.85983848571777, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "[1, 'two', '3', 4]" + ], + "asctime": "2019-12-27 21:48:46,654", + "created": 1577479726.65477, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'list' from source instance ([1, 'two', '3', 4])", + "module": "__init__", + "msecs": 654.7698974609375, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 95.23582458496094, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,655", + "created": 1577479726.655144, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json)", + "module": "__init__", + "msecs": 655.1439762115479, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 95.60990333557129, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'string'" + ], + "asctime": "2019-12-27 21:48:46,655", + "created": 1577479726.655774, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'str' from source instance ('string')", + "module": "__init__", + "msecs": 655.7741165161133, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 96.24004364013672, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,656", + "created": 1577479726.656697, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json)", + "module": "__init__", + "msecs": 656.6970348358154, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 97.16296195983887, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 657.2389602661133, + "msg": "Partially initialising cache object by requesting some information.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 97.70488739013672, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0005419254302978516 + }, + { + "args": [ + "property_cache_json" + ], + "asctime": "2019-12-27 21:48:46,659", + "created": 1577479726.659452, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 27, + "message": "Extracting storage object from property_cache_json for comparison.", + "module": "test_no_load_on_init", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,658", + "created": 1577479726.658361, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json)", + "module": "__init__", + "msecs": 658.3609580993652, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 98.82688522338867, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "{u'_property_cache_data_version_': 1, u'float': 3.14159, u'list': [1, u'two', u'3', 4], u'str': u'string', u'_property_cache_uid_': u'my_unique_id'}" + ], + "asctime": "2019-12-27 21:48:46,658", + "created": 1577479726.658818, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 23, + "message": "Using storage object of cache class for comparison: {u'_property_cache_data_version_': 1, u'float': 3.14159, u'list': [1, u'two', u'3', 4], u'str': u'string', u'_property_cache_uid_': u'my_unique_id'}", + "module": "test_no_load_on_init", + "msecs": 658.8180065155029, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 99.28393363952637, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:46,659", + "created": 1577479726.659169, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 24, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_no_load_on_init", + "msecs": 659.1689586639404, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 99.63488578796387, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 659.451961517334, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 99.91788864135742, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0002830028533935547 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:46,662", + "created": 1577479726.662039, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "WARNING", + "levelno": 30, + "lineno": 144, + "message": "Cache object is NOT correct. See detailed log for more information.", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache object", + "{ u'float': 3.14159, u'list': [ 1, u'two', u'3', 4 ], u'str': u'string' }", + "" + ], + "asctime": "2019-12-27 21:48:46,660", + "created": 1577479726.660036, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache object): { u'float': 3.14159, u'list': [ 1, u'two', u'3', 4 ], u'str': u'string' } ()", + "module": "test", + "msecs": 660.0360870361328, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 100.50201416015625, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Cache object", + "{ 'str': 'string', 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,660", + "created": 1577479726.660193, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache object): result = { 'str': 'string', 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] } ()", + "module": "test", + "msecs": 660.1929664611816, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 100.65889358520508, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,660", + "created": 1577479726.660418, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 660.4180335998535, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 100.88396072387695, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,660", + "created": 1577479726.660558, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'two' is incorrect for test_variable.", + "module": "test", + "msecs": 660.5579853057861, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 101.02391242980957, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,660", + "created": 1577479726.660704, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 660.7038974761963, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 101.16982460021973, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,660", + "created": 1577479726.660828, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'two' is incorrect for test_variable.", + "module": "test", + "msecs": 660.8281135559082, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 101.29404067993164, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,660", + "created": 1577479726.660962, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'two'). ", + "module": "test", + "msecs": 660.9621047973633, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 101.42803192138672, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.list[1]", + "u'two'" + ], + "asctime": "2019-12-27 21:48:46,661", + "created": 1577479726.66117, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.list[1] (u'two'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 661.1700057983398, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 101.63593292236328, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,661", + "created": 1577479726.661365, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'3'). ", + "module": "test", + "msecs": 661.3650321960449, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 101.83095932006836, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,661", + "created": 1577479726.661494, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "ERROR", + "levelno": 40, + "lineno": 115, + "message": "Content u'3' is incorrect for test_variable.", + "module": "test", + "msecs": 661.4940166473389, + "msg": "Content %s is incorrect for test_variable.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 101.9599437713623, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for test_variable", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,661", + "created": 1577479726.661711, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for test_variable (u'3'). ", + "module": "test", + "msecs": 661.7109775543213, + "msg": "Type %s is NOT %s%s (%s). ", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 102.17690467834473, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.list[2]", + "u'3'" + ], + "asctime": "2019-12-27 21:48:46,661", + "created": 1577479726.66182, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.list[2] (u'3'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 661.8199348449707, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 102.28586196899414, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "", + "", + " for result.str", + "u'string'" + ], + "asctime": "2019-12-27 21:48:46,661", + "created": 1577479726.661935, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__equivalent__", + "levelname": "WARNING", + "levelno": 30, + "lineno": 119, + "message": "Type is NOT for result.str (u'string'). Check for known json storage type deviation -> .", + "module": "test", + "msecs": 661.9350910186768, + "msg": "Type %s is NOT %s%s (%s). Check for known json storage type deviation -> .", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 102.4010181427002, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 662.039041519165, + "msg": "Cache object is NOT correct. See detailed log for more information.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 102.50496864318848, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00010395050048828125 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00954294204711914, + "time_finished": "2019-12-27 21:48:46,662", + "time_start": "2019-12-27 21:48:46,652" + }, + "caching.property_cache_pickle: Test cached data (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,730", + "created": 1577479726.73007, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 44, + "message": "caching.property_cache_pickle: Test cached data (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 730.0701141357422, + "msg": "caching.property_cache_pickle: Test cached data (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 170.53604125976562, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:46,731", + "created": 1577479726.731496, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,730", + "created": 1577479726.730296, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 730.2958965301514, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 170.7618236541748, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,730", + "created": 1577479726.730521, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 730.5209636688232, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 170.98689079284668, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,730", + "created": 1577479726.7307, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 730.7000160217285, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 171.16594314575195, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,730", + "created": 1577479726.730837, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 730.8371067047119, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 171.30303382873535, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,731", + "created": 1577479726.73131, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 731.3098907470703, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 171.77581787109375, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 731.4960956573486, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 171.96202278137207, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0001862049102783203 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:46,733", + "created": 1577479726.733054, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Collecting data from cache instance.", + "module": "test_cached_data", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "uncached" + ], + "asctime": "2019-12-27 21:48:46,731", + "created": 1577479726.731667, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "INFO", + "levelno": 20, + "lineno": 113, + "message": "PickCache: Key 'uncached' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 731.6670417785645, + "msg": "%s Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 172.1329689025879, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,732", + "created": 1577479726.732057, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 732.0570945739746, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 172.52302169799805, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': 1, '3': '3', '2': 'two', '4': 4}" + ], + "asctime": "2019-12-27 21:48:46,732", + "created": 1577479726.732176, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'dict' from cache ({'1': 1, '3': '3', '2': 'two', '4': 4})", + "module": "__init__", + "msecs": 732.1760654449463, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 172.64199256896973, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "u'unicode'" + ], + "asctime": "2019-12-27 21:48:46,732", + "created": 1577479726.732267, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'unicode' from cache (u'unicode')", + "module": "__init__", + "msecs": 732.266902923584, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 172.73283004760742, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'string'" + ], + "asctime": "2019-12-27 21:48:46,732", + "created": 1577479726.732344, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'str' from cache ('string')", + "module": "__init__", + "msecs": 732.3439121246338, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 172.80983924865723, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "17" + ], + "asctime": "2019-12-27 21:48:46,732", + "created": 1577479726.732469, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'integer' from cache (17)", + "module": "__init__", + "msecs": 732.4690818786621, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 172.93500900268555, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "3.14159" + ], + "asctime": "2019-12-27 21:48:46,732", + "created": 1577479726.732695, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'float' from cache (3.14159)", + "module": "__init__", + "msecs": 732.6951026916504, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 173.16102981567383, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "[1, 'two', '3', 4]" + ], + "asctime": "2019-12-27 21:48:46,732", + "created": 1577479726.732924, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'list' from cache ([1, 'two', '3', 4])", + "module": "__init__", + "msecs": 732.9239845275879, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 173.38991165161133, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 733.0539226531982, + "msg": "Collecting data from cache instance.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_cached_data.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 173.51984977722168, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00012993812561035156 + }, + { + "args": [ + "{'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '3': '3', '2': 'two', '4': 4}, 'str': 'string', 'integer': 17}", + "" + ], + "asctime": "2019-12-27 21:48:46,733", + "created": 1577479726.733918, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cached data is correct (Content {'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '3': '3', '2': 'two', '4': 4}, 'str': 'string', 'integer': 17} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cached data", + "{ 'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'str': 'string', 'integer': 17 }", + "" + ], + "asctime": "2019-12-27 21:48:46,733", + "created": 1577479726.733311, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cached data): { 'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'str': 'string', 'integer': 17 } ()", + "module": "test", + "msecs": 733.3109378814697, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 173.77686500549316, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Cached data", + "{ 'uncached': 'uncached_data_of_class', 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,733", + "created": 1577479726.733499, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cached data): result = { 'uncached': 'uncached_data_of_class', 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] } ()", + "module": "test", + "msecs": 733.4990501403809, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 173.9649772644043, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 733.9179515838623, + "msg": "Cached data is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 174.38387870788574, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0004189014434814453 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.003847837448120117, + "time_finished": "2019-12-27 21:48:46,733", + "time_start": "2019-12-27 21:48:46,730" + }, + "caching.property_cache_pickle: Test cached data (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,734", + "created": 1577479726.73426, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 45, + "message": "caching.property_cache_pickle: Test cached data (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 734.260082244873, + "msg": "caching.property_cache_pickle: Test cached data (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 174.72600936889648, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:46,736", + "created": 1577479726.736155, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,734", + "created": 1577479726.734448, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 734.4479560852051, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 174.91388320922852, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,734", + "created": 1577479726.734602, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 734.6019744873047, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 175.06790161132812, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,734", + "created": 1577479726.734994, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 734.9939346313477, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 175.4598617553711, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,735", + "created": 1577479726.735251, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 735.2509498596191, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 175.71687698364258, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,735", + "created": 1577479726.735888, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 735.8880043029785, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 176.35393142700195, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 736.1550331115723, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 176.6209602355957, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00026702880859375 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:46,737", + "created": 1577479726.737305, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Collecting data from cache instance.", + "module": "test_cached_data", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "uncached" + ], + "asctime": "2019-12-27 21:48:46,736", + "created": 1577479726.736305, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "INFO", + "levelno": 20, + "lineno": 113, + "message": "PickCache: Key 'uncached' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 736.3049983978271, + "msg": "%s Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 176.7709255218506, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,736", + "created": 1577479726.736704, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 736.7041110992432, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 177.1700382232666, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': 1, '3': '3', '2': 'two', '4': 4}" + ], + "asctime": "2019-12-27 21:48:46,736", + "created": 1577479726.736824, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'dict' from cache ({'1': 1, '3': '3', '2': 'two', '4': 4})", + "module": "__init__", + "msecs": 736.8240356445312, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 177.2899627685547, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "u'unicode'" + ], + "asctime": "2019-12-27 21:48:46,736", + "created": 1577479726.736912, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'unicode' from cache (u'unicode')", + "module": "__init__", + "msecs": 736.9120121002197, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 177.37793922424316, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'string'" + ], + "asctime": "2019-12-27 21:48:46,736", + "created": 1577479726.736992, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'str' from cache ('string')", + "module": "__init__", + "msecs": 736.9918823242188, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 177.4578094482422, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "17" + ], + "asctime": "2019-12-27 21:48:46,737", + "created": 1577479726.737067, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'integer' from cache (17)", + "module": "__init__", + "msecs": 737.0669841766357, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 177.53291130065918, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "3.14159" + ], + "asctime": "2019-12-27 21:48:46,737", + "created": 1577479726.737148, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'float' from cache (3.14159)", + "module": "__init__", + "msecs": 737.1480464935303, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 177.6139736175537, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "[1, 'two', '3', 4]" + ], + "asctime": "2019-12-27 21:48:46,737", + "created": 1577479726.737229, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'list' from cache ([1, 'two', '3', 4])", + "module": "__init__", + "msecs": 737.2291088104248, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 177.69503593444824, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 737.3049259185791, + "msg": "Collecting data from cache instance.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_cached_data.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 177.77085304260254, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 7.581710815429688e-05 + }, + { + "args": [ + "{'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '3': '3', '2': 'two', '4': 4}, 'str': 'string', 'integer': 17}", + "" + ], + "asctime": "2019-12-27 21:48:46,737", + "created": 1577479726.737861, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cached data is correct (Content {'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '3': '3', '2': 'two', '4': 4}, 'str': 'string', 'integer': 17} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cached data", + "{ 'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'str': 'string', 'integer': 17 }", + "" + ], + "asctime": "2019-12-27 21:48:46,737", + "created": 1577479726.737461, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cached data): { 'uncached': 'uncached_data_of_class', 'unicode': u'unicode', 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'str': 'string', 'integer': 17 } ()", + "module": "test", + "msecs": 737.4610900878906, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 177.92701721191406, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Cached data", + "{ 'uncached': 'uncached_data_of_class', 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,737", + "created": 1577479726.737565, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cached data): result = { 'uncached': 'uncached_data_of_class', 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] } ()", + "module": "test", + "msecs": 737.5650405883789, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 178.03096771240234, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 737.860918045044, + "msg": "Cached data is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 178.32684516906738, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00029587745666503906 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0036008358001708984, + "time_finished": "2019-12-27 21:48:46,737", + "time_start": "2019-12-27 21:48:46,734" + }, + "caching.property_cache_pickle: Test execution of save callback (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,770", + "created": 1577479726.77079, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 50, + "message": "caching.property_cache_pickle: Test execution of save callback (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 770.7901000976562, + "msg": "caching.property_cache_pickle: Test execution of save callback (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 211.2560272216797, + "testcaseLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,771", + "created": 1577479726.771227, + "exc_info": null, + "exc_text": null, + "filename": "test_save_callback.py", + "funcName": "save_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Installing save_callback, which sets a variable to True on execution.", + "module": "test_save_callback", + "moduleLogger": [], + "msecs": 771.2268829345703, + "msg": "Installing save_callback, which sets a variable to True on execution.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_save_callback.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 211.69281005859375, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2019-12-27 21:48:46,772", + "created": 1577479726.772536, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Save callback execution variable is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/save_callback_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:46,771", + "created": 1577479726.771769, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/save_callback_load_on_init.json)", + "module": "__init__", + "msecs": 771.7690467834473, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 212.2349739074707, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution variable", + "True", + "" + ], + "asctime": "2019-12-27 21:48:46,772", + "created": 1577479726.772206, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Save callback execution variable): True ()", + "module": "test", + "msecs": 772.2060680389404, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 212.67199516296387, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution variable", + "True", + "" + ], + "asctime": "2019-12-27 21:48:46,772", + "created": 1577479726.772384, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Save callback execution variable): result = True ()", + "module": "test", + "msecs": 772.3839282989502, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 212.84985542297363, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 772.536039352417, + "msg": "Save callback execution variable is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 213.00196647644043, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00015211105346679688 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0017459392547607422, + "time_finished": "2019-12-27 21:48:46,772", + "time_start": "2019-12-27 21:48:46,770" + }, + "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object": { + "args": null, + "asctime": "2019-12-27 21:48:46,717", + "created": 1577479726.717297, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 42, + "message": "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object", + "module": "__init__", + "moduleLogger": [], + "msecs": 717.2970771789551, + "msg": "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 157.76300430297852, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:46,721", + "created": 1577479726.721749, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,717", + "created": 1577479726.717944, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 717.9439067840576, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 158.40983390808105, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,718", + "created": 1577479726.718424, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 718.4240818023682, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 158.8900089263916, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,718", + "created": 1577479726.71885, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 718.8498973846436, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 159.315824508667, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,719", + "created": 1577479726.719134, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 719.1340923309326, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 159.60001945495605, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,721", + "created": 1577479726.721395, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl)", + "module": "__init__", + "msecs": 721.3950157165527, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 161.86094284057617, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 721.7490673065186, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 162.214994430542, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0003540515899658203 + }, + { + "args": [ + "property_cache_pickle" + ], + "asctime": "2019-12-27 21:48:46,723", + "created": 1577479726.723272, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Extracting storage object from property_cache_pickle for comparison.", + "module": "test_load_on_init", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,722", + "created": 1577479726.72288, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl)", + "module": "__init__", + "msecs": 722.8798866271973, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 163.3458137512207, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "{'str': 'string', '_property_cache_uid_': 'my_unique_id', 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '3': '3', '2': 'two', '4': 4}, 'unicode': u'unicode', '_property_cache_data_version_': 1, 'integer': 17}" + ], + "asctime": "2019-12-27 21:48:46,723", + "created": 1577479726.72307, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Using storage object of cache class for comparison: {'str': 'string', '_property_cache_uid_': 'my_unique_id', 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '3': '3', '2': 'two', '4': 4}, 'unicode': u'unicode', '_property_cache_data_version_': 1, 'integer': 17}", + "module": "test_load_on_init", + "msecs": 723.0699062347412, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 163.53583335876465, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:46,723", + "created": 1577479726.723192, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_load_on_init", + "msecs": 723.1919765472412, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 163.65790367126465, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 723.2720851898193, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 163.73801231384277, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 8.0108642578125e-05 + }, + { + "args": [ + "{'str': 'string', 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '3': '3', '2': 'two', '4': 4}, 'unicode': u'unicode', 'integer': 17}", + "" + ], + "asctime": "2019-12-27 21:48:46,723", + "created": 1577479726.72378, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cache object is correct (Content {'str': 'string', 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '3': '3', '2': 'two', '4': 4}, 'unicode': u'unicode', 'integer': 17} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache object", + "{ 'str': 'string', 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'integer': 17 }", + "" + ], + "asctime": "2019-12-27 21:48:46,723", + "created": 1577479726.723461, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache object): { 'str': 'string', 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'integer': 17 } ()", + "module": "test", + "msecs": 723.4609127044678, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 163.9268398284912, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Cache object", + "{ 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,723", + "created": 1577479726.723585, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache object): result = { 'dict': { '1': 1, '3': '3', '2': 'two', '4': 4 }, 'unicode': u'unicode', 'str': 'string', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] } ()", + "module": "test", + "msecs": 723.5848903656006, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 164.05081748962402, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 723.7799167633057, + "msg": "Cache object is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 164.2458438873291, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00019502639770507812 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.006482839584350586, + "time_finished": "2019-12-27 21:48:46,723", + "time_start": "2019-12-27 21:48:46,717" + }, + "caching.property_cache_pickle: Test get from source caused by changed uid (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,753", + "created": 1577479726.753754, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 48, + "message": "caching.property_cache_pickle: Test get from source caused by changed uid (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 753.7539005279541, + "msg": "caching.property_cache_pickle: Test get from source caused by changed uid (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 194.21982765197754, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:46,756", + "created": 1577479726.756395, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,754", + "created": 1577479726.754215, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 754.2150020599365, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 194.68092918395996, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,754", + "created": 1577479726.754608, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 754.6079158782959, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 195.07384300231934, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,754", + "created": 1577479726.75493, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 754.9300193786621, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 195.39594650268555, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,755", + "created": 1577479726.755251, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 755.2509307861328, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 195.71685791015625, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,756", + "created": 1577479726.756057, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 756.0570240020752, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 196.52295112609863, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 756.3951015472412, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 196.86102867126465, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0003380775451660156 + }, + { + "args": [ + "{'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34}", + "" + ], + "asctime": "2019-12-27 21:48:46,759", + "created": 1577479726.759215, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after changing uid is correct (Content {'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,757", + "created": 1577479726.757017, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 757.0168972015381, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 197.48282432556152, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,757", + "created": 1577479726.757216, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 128, + "message": "PickCache: Source uid changed, ignoring previous cache data", + "module": "__init__", + "msecs": 757.2159767150879, + "msg": "%s Source uid changed, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 197.68190383911133, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,757", + "created": 1577479726.757451, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 757.451057434082, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 197.91698455810547, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,757", + "created": 1577479726.757893, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 757.8930854797363, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 198.35901260375977, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': '1', '3': 'three', '2': 2, '4': '4'}" + ], + "asctime": "2019-12-27 21:48:46,758", + "created": 1577479726.758243, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'dict' from cache ({'1': '1', '3': 'three', '2': 2, '4': '4'})", + "module": "__init__", + "msecs": 758.2430839538574, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 198.70901107788086, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "u'__unicode__'" + ], + "asctime": "2019-12-27 21:48:46,758", + "created": 1577479726.758358, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'unicode' from cache (u'__unicode__')", + "module": "__init__", + "msecs": 758.3580017089844, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 198.8239288330078, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:46,758", + "created": 1577479726.758429, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'str' from cache ('__string__')", + "module": "__init__", + "msecs": 758.4290504455566, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 198.89497756958008, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:46,758", + "created": 1577479726.758518, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'integer' from cache (34)", + "module": "__init__", + "msecs": 758.5179805755615, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 198.98390769958496, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:46,758", + "created": 1577479726.758617, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'float' from cache (2.71828)", + "module": "__init__", + "msecs": 758.6169242858887, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 199.0828514099121, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:46,758", + "created": 1577479726.758715, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'list' from cache (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 758.7149143218994, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 199.18084144592285, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 }", + "" + ], + "asctime": "2019-12-27 21:48:46,758", + "created": 1577479726.758856, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after changing uid): { 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 } ()", + "module": "test", + "msecs": 758.8560581207275, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 199.32198524475098, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,759", + "created": 1577479726.759039, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after changing uid): result = { 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] } ()", + "module": "test", + "msecs": 759.0389251708984, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 199.50485229492188, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 759.2151165008545, + "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 199.68104362487793, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0001761913299560547 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.005461215972900391, + "time_finished": "2019-12-27 21:48:46,759", + "time_start": "2019-12-27 21:48:46,753" + }, + "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,759", + "created": 1577479726.759508, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 49, + "message": "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 759.5078945159912, + "msg": "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 199.97382164001465, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:46,761", + "created": 1577479726.761309, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,759", + "created": 1577479726.759675, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 759.6750259399414, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 200.14095306396484, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,759", + "created": 1577479726.759933, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 759.9329948425293, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 200.39892196655273, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,760", + "created": 1577479726.760123, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 760.1230144500732, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 200.58894157409668, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,760", + "created": 1577479726.760294, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 760.2939605712891, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 200.7598876953125, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,761", + "created": 1577479726.761022, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 761.0220909118652, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 201.48801803588867, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 761.3089084625244, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 201.77483558654785, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0002868175506591797 + }, + { + "args": [ + "{'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34}", + "" + ], + "asctime": "2019-12-27 21:48:46,770", + "created": 1577479726.770414, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after changing uid is correct (Content {'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,762", + "created": 1577479726.762675, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 762.6750469207764, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 203.1409740447998, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,763", + "created": 1577479726.763097, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 128, + "message": "PickCache: Source uid changed, ignoring previous cache data", + "module": "__init__", + "msecs": 763.0970478057861, + "msg": "%s Source uid changed, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 203.56297492980957, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,764", + "created": 1577479726.764163, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 764.1630172729492, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 204.62894439697266, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': '1', '3': 'three', '2': 2, '4': '4'}" + ], + "asctime": "2019-12-27 21:48:46,765", + "created": 1577479726.765459, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'dict' from source instance ({'1': '1', '3': 'three', '2': 2, '4': '4'})", + "module": "__init__", + "msecs": 765.4590606689453, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 205.92498779296875, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,766", + "created": 1577479726.766298, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 766.2980556488037, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 206.76398277282715, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "u'__unicode__'" + ], + "asctime": "2019-12-27 21:48:46,766", + "created": 1577479726.766816, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'unicode' from source instance (u'__unicode__')", + "module": "__init__", + "msecs": 766.8159008026123, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 207.28182792663574, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,767", + "created": 1577479726.767391, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 767.3909664154053, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 207.8568935394287, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:46,767", + "created": 1577479726.767714, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'str' from source instance ('__string__')", + "module": "__init__", + "msecs": 767.7140235900879, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 208.17995071411133, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,768", + "created": 1577479726.768006, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 768.0060863494873, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 208.47201347351074, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:46,768", + "created": 1577479726.768267, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'integer' from source instance (34)", + "module": "__init__", + "msecs": 768.2669162750244, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 208.73284339904785, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,768", + "created": 1577479726.768606, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 768.6059474945068, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 209.07187461853027, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:46,768", + "created": 1577479726.768793, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'float' from source instance (2.71828)", + "module": "__init__", + "msecs": 768.7931060791016, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 209.259033203125, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,769", + "created": 1577479726.769104, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 769.10400390625, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 209.56993103027344, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:46,769", + "created": 1577479726.769319, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'list' from source instance (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 769.3190574645996, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 209.78498458862305, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,769", + "created": 1577479726.76972, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 769.7200775146484, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 210.18600463867188, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 }", + "" + ], + "asctime": "2019-12-27 21:48:46,769", + "created": 1577479726.77, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after changing uid): { 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 } ()", + "module": "test", + "msecs": 769.9999809265137, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 210.4659080505371, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,770", + "created": 1577479726.770159, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after changing uid): result = { 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] } ()", + "module": "test", + "msecs": 770.1590061187744, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 210.62493324279785, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 770.4141139984131, + "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 210.88004112243652, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0002551078796386719 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.010906219482421875, + "time_finished": "2019-12-27 21:48:46,770", + "time_start": "2019-12-27 21:48:46,759" + }, + "caching.property_cache_pickle: Test get from source caused by increased data version (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,738", + "created": 1577479726.738032, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 46, + "message": "caching.property_cache_pickle: Test get from source caused by increased data version (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 738.0321025848389, + "msg": "caching.property_cache_pickle: Test get from source caused by increased data version (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 178.4980297088623, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:46,739", + "created": 1577479726.739198, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,738", + "created": 1577479726.738129, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 738.1289005279541, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 178.59482765197754, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,738", + "created": 1577479726.738281, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 738.2810115814209, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 178.74693870544434, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,738", + "created": 1577479726.738436, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 738.4359836578369, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 178.90191078186035, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,738", + "created": 1577479726.738563, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 738.563060760498, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 179.02898788452148, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,739", + "created": 1577479726.739034, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 739.0339374542236, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 179.49986457824707, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 739.1979694366455, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 179.66389656066895, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.000164031982421875 + }, + { + "args": [ + "{'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34}", + "" + ], + "asctime": "2019-12-27 21:48:46,741", + "created": 1577479726.741023, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after increasing data_version is correct (Content {'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,739", + "created": 1577479726.739539, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 739.5389080047607, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 180.00483512878418, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,739", + "created": 1577479726.739646, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 130, + "message": "PickCache: Data version increased, ignoring previous cache data", + "module": "__init__", + "msecs": 739.6459579467773, + "msg": "%s Data version increased, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 180.11188507080078, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,739", + "created": 1577479726.739738, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 739.7379875183105, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 180.20391464233398, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,740", + "created": 1577479726.740065, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 740.0650978088379, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 180.53102493286133, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': '1', '3': 'three', '2': 2, '4': '4'}" + ], + "asctime": "2019-12-27 21:48:46,740", + "created": 1577479726.740338, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'dict' from cache ({'1': '1', '3': 'three', '2': 2, '4': '4'})", + "module": "__init__", + "msecs": 740.3380870819092, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 180.80401420593262, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "u'__unicode__'" + ], + "asctime": "2019-12-27 21:48:46,740", + "created": 1577479726.74045, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'unicode' from cache (u'__unicode__')", + "module": "__init__", + "msecs": 740.4499053955078, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 180.91583251953125, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:46,740", + "created": 1577479726.740529, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'str' from cache ('__string__')", + "module": "__init__", + "msecs": 740.5290603637695, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 180.99498748779297, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:46,740", + "created": 1577479726.740601, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'integer' from cache (34)", + "module": "__init__", + "msecs": 740.6010627746582, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.06698989868164, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:46,740", + "created": 1577479726.740678, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'float' from cache (2.71828)", + "module": "__init__", + "msecs": 740.678071975708, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.14399909973145, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:46,740", + "created": 1577479726.740799, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'list' from cache (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 740.7989501953125, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.26487731933594, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 }", + "" + ], + "asctime": "2019-12-27 21:48:46,740", + "created": 1577479726.740869, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after increasing data_version): { 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 } ()", + "module": "test", + "msecs": 740.8690452575684, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.3349723815918, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,740", + "created": 1577479726.74093, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after increasing data_version): result = { 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] } ()", + "module": "test", + "msecs": 740.9300804138184, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.3960075378418, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 741.023063659668, + "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.4889907836914, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 9.298324584960938e-05 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0029909610748291016, + "time_finished": "2019-12-27 21:48:46,741", + "time_start": "2019-12-27 21:48:46,738" + }, + "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:46,741", + "created": 1577479726.74115, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 47, + "message": "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 741.14990234375, + "msg": "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.61582946777344, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:46,741", + "created": 1577479726.741728, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,741", + "created": 1577479726.741231, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 741.2309646606445, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.69689178466797, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,741", + "created": 1577479726.741301, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 741.3010597229004, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.76698684692383, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,741", + "created": 1577479726.741367, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 741.3671016693115, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.83302879333496, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['dict', 'unicode', 'str', 'integer', 'float', 'list']" + ], + "asctime": "2019-12-27 21:48:46,741", + "created": 1577479726.741421, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['dict', 'unicode', 'str', 'integer', 'float', 'list']", + "module": "__init__", + "msecs": 741.4209842681885, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 181.8869113922119, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,741", + "created": 1577479726.741646, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 741.6460514068604, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 182.1119785308838, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 741.7280673980713, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 182.19399452209473, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 8.20159912109375e-05 + }, + { + "args": [ + "{'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34}", + "" + ], + "asctime": "2019-12-27 21:48:46,752", + "created": 1577479726.752962, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after increasing data_version is correct (Content {'unicode': u'__unicode__', 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '3': 'three', '2': 2, '4': '4'}, 'str': '__string__', 'integer': 34} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,741", + "created": 1577479726.741941, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 741.940975189209, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 182.40690231323242, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,741", + "created": 1577479726.741999, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 130, + "message": "PickCache: Data version increased, ignoring previous cache data", + "module": "__init__", + "msecs": 741.9989109039307, + "msg": "%s Data version increased, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 182.4648380279541, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,742", + "created": 1577479726.742105, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 742.1050071716309, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 182.5709342956543, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': '1', '3': 'three', '2': 2, '4': '4'}" + ], + "asctime": "2019-12-27 21:48:46,742", + "created": 1577479726.742201, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'dict' from source instance ({'1': '1', '3': 'three', '2': 2, '4': '4'})", + "module": "__init__", + "msecs": 742.2010898590088, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 182.66701698303223, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,742", + "created": 1577479726.742333, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 742.332935333252, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 182.7988624572754, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "u'__unicode__'" + ], + "asctime": "2019-12-27 21:48:46,742", + "created": 1577479726.742418, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'unicode' from source instance (u'__unicode__')", + "module": "__init__", + "msecs": 742.4180507659912, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 182.88397789001465, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,742", + "created": 1577479726.742563, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 742.563009262085, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 183.0289363861084, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:46,742", + "created": 1577479726.742646, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'str' from source instance ('__string__')", + "module": "__init__", + "msecs": 742.6459789276123, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 183.11190605163574, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,742", + "created": 1577479726.742786, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 742.7859306335449, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 183.25185775756836, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:46,742", + "created": 1577479726.742868, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'integer' from source instance (34)", + "module": "__init__", + "msecs": 742.8679466247559, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 183.3338737487793, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,743", + "created": 1577479726.743017, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 743.0169582366943, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 183.48288536071777, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:46,743", + "created": 1577479726.743101, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'float' from source instance (2.71828)", + "module": "__init__", + "msecs": 743.1008815765381, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 183.56680870056152, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,743", + "created": 1577479726.743353, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 743.3528900146484, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 183.81881713867188, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:46,743", + "created": 1577479726.743913, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'list' from source instance (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 743.912935256958, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 184.37886238098145, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,744", + "created": 1577479726.744698, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 744.6980476379395, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 185.1639747619629, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 }", + "" + ], + "asctime": "2019-12-27 21:48:46,745", + "created": 1577479726.745389, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after increasing data_version): { 'unicode': u'__unicode__', 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'str': '__string__', 'integer': 34 } ()", + "module": "test", + "msecs": 745.3889846801758, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 185.85491180419922, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,752", + "created": 1577479726.752479, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after increasing data_version): result = { 'dict': { '1': '1', '3': 'three', '2': 2, '4': '4' }, 'unicode': u'__unicode__', 'str': '__string__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ] } ()", + "module": "test", + "msecs": 752.479076385498, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 192.94500350952148, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 752.9621124267578, + "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 193.42803955078125, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0004830360412597656 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.011812210083007812, + "time_finished": "2019-12-27 21:48:46,752", + "time_start": "2019-12-27 21:48:46,741" + }, + "caching.property_cache_pickle: Test internal key usage": { + "args": null, + "asctime": "2019-12-27 21:48:46,772", + "created": 1577479726.772905, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 51, + "message": "caching.property_cache_pickle: Test internal key usage", + "module": "__init__", + "moduleLogger": [], + "msecs": 772.9051113128662, + "msg": "caching.property_cache_pickle: Test internal key usage", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 213.37103843688965, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:46,774", + "created": 1577479726.774851, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,773", + "created": 1577479726.773221, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 773.2210159301758, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 213.68694305419922, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl" + ], + "asctime": "2019-12-27 21:48:46,773", + "created": 1577479726.773497, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl as cache file.", + "module": "test_helpers", + "msecs": 773.4971046447754, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 213.96303176879883, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,773", + "created": 1577479726.773882, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 773.8819122314453, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 214.34783935546875, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['__property_cache_data_version_', '_property_cache_data_version_', '__property_cache_uid_', '_property_cache_uid_']" + ], + "asctime": "2019-12-27 21:48:46,774", + "created": 1577479726.774139, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['__property_cache_data_version_', '_property_cache_data_version_', '__property_cache_uid_', '_property_cache_uid_']", + "module": "__init__", + "msecs": 774.1389274597168, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 214.60485458374023, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl" + ], + "asctime": "2019-12-27 21:48:46,774", + "created": 1577479726.774597, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl)", + "module": "__init__", + "msecs": 774.5969295501709, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 215.06285667419434, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 774.8510837554932, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 215.3170108795166, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0002541542053222656 + }, + { + "args": [ + "property_cache_pickle" + ], + "asctime": "2019-12-27 21:48:46,775", + "created": 1577479726.775603, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Extracting storage object from property_cache_pickle for comparison.", + "module": "test_internal_keys", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl" + ], + "asctime": "2019-12-27 21:48:46,775", + "created": 1577479726.775313, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl)", + "module": "__init__", + "msecs": 775.3129005432129, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 215.77882766723633, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "{'__property_cache_data_version_': u'no data version', '___property_cache_data_version_': u'no second data version', '__property_cache_uid_': u'no uid', '_property_cache_uid_': 'my_unique_id', '_property_cache_data_version_': 1, '___property_cache_uid_': u'no second uid'}" + ], + "asctime": "2019-12-27 21:48:46,775", + "created": 1577479726.775439, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Using storage object of cache class for comparison: {'__property_cache_data_version_': u'no data version', '___property_cache_data_version_': u'no second data version', '__property_cache_uid_': u'no uid', '_property_cache_uid_': 'my_unique_id', '_property_cache_data_version_': 1, '___property_cache_uid_': u'no second uid'}", + "module": "test_internal_keys", + "msecs": 775.4390239715576, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 215.90495109558105, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:46,775", + "created": 1577479726.775549, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_internal_keys", + "msecs": 775.5489349365234, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 216.01486206054688, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 775.6030559539795, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 216.06898307800293, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 5.412101745605469e-05 + }, + { + "args": [ + "{'__property_cache_data_version_': u'no data version', '___property_cache_data_version_': u'no second data version', '__property_cache_uid_': u'no uid', '___property_cache_uid_': u'no second uid'}", + "" + ], + "asctime": "2019-12-27 21:48:46,775", + "created": 1577479726.775923, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cache is correct (Content {'__property_cache_data_version_': u'no data version', '___property_cache_data_version_': u'no second data version', '__property_cache_uid_': u'no uid', '___property_cache_uid_': u'no second uid'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache", + "{ '__property_cache_data_version_': u'no data version', '___property_cache_data_version_': u'no second data version', '__property_cache_uid_': u'no uid', '___property_cache_uid_': u'no second uid' }", + "" + ], + "asctime": "2019-12-27 21:48:46,775", + "created": 1577479726.775765, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache): { '__property_cache_data_version_': u'no data version', '___property_cache_data_version_': u'no second data version', '__property_cache_uid_': u'no uid', '___property_cache_uid_': u'no second uid' } ()", + "module": "test", + "msecs": 775.7649421691895, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 216.2308692932129, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Cache", + "{ '__property_cache_data_version_': u'no data version', '___property_cache_data_version_': u'no second data version', '__property_cache_uid_': u'no uid', '___property_cache_uid_': u'no second uid' }", + "" + ], + "asctime": "2019-12-27 21:48:46,775", + "created": 1577479726.775831, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache): result = { '__property_cache_data_version_': u'no data version', '___property_cache_data_version_': u'no second data version', '__property_cache_uid_': u'no uid', '___property_cache_uid_': u'no second uid' } ()", + "module": "test", + "msecs": 775.8309841156006, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 216.29691123962402, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 775.9230136871338, + "msg": "Cache is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 216.38894081115723, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 9.202957153320312e-05 + }, + { + "args": [ + "5", + "" + ], + "asctime": "2019-12-27 21:48:46,776", + "created": 1577479726.776221, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Keyfilter returnvalue for 5 () is correct (Content 5 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Keyfilter returnvalue for 5 ()", + "5", + "" + ], + "asctime": "2019-12-27 21:48:46,776", + "created": 1577479726.776039, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Keyfilter returnvalue for 5 ()): 5 ()", + "module": "test", + "msecs": 776.0388851165771, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 216.5048122406006, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Keyfilter returnvalue for 5 ()", + "5", + "" + ], + "asctime": "2019-12-27 21:48:46,776", + "created": 1577479726.776132, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Keyfilter returnvalue for 5 ()): result = 5 ()", + "module": "test", + "msecs": 776.1321067810059, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 216.5980339050293, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 776.2210369110107, + "msg": "Keyfilter returnvalue for 5 () is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 216.68696403503418, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 8.893013000488281e-05 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0033159255981445312, + "time_finished": "2019-12-27 21:48:46,776", + "time_start": "2019-12-27 21:48:46,772" + }, + "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object": { + "args": null, + "asctime": "2019-12-27 21:48:46,724", + "created": 1577479726.724035, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 43, + "message": "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object", + "module": "__init__", + "moduleLogger": [], + "msecs": 724.0350246429443, + "msg": "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 164.50095176696777, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "False" + ], + "asctime": "2019-12-27 21:48:46,725", + "created": 1577479726.725054, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=False).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:46,724", + "created": 1577479726.724208, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 724.2081165313721, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 164.6740436553955, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,724", + "created": 1577479726.724411, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 724.4110107421875, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 164.87693786621094, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:46,724", + "created": 1577479726.724629, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 724.6289253234863, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 165.09485244750977, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,724", + "created": 1577479726.724916, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl)", + "module": "__init__", + "msecs": 724.9159812927246, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 165.38190841674805, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 725.0540256500244, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 165.51995277404785, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.0001380443572998047 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:46,728", + "created": 1577479726.728326, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 18, + "message": "Partially initialising cache object by requesting some information.", + "module": "test_no_load_on_init", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "float", + "3.14159" + ], + "asctime": "2019-12-27 21:48:46,725", + "created": 1577479726.72523, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'float' from source instance (3.14159)", + "module": "__init__", + "msecs": 725.2299785614014, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 165.6959056854248, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,725", + "created": 1577479726.725451, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl)", + "module": "__init__", + "msecs": 725.4509925842285, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 165.91691970825195, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "[1, 'two', '3', 4]" + ], + "asctime": "2019-12-27 21:48:46,725", + "created": 1577479726.725898, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'list' from source instance ([1, 'two', '3', 4])", + "module": "__init__", + "msecs": 725.898027420044, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 166.36395454406738, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,726", + "created": 1577479726.726441, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl)", + "module": "__init__", + "msecs": 726.4409065246582, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 166.90683364868164, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'string'" + ], + "asctime": "2019-12-27 21:48:46,727", + "created": 1577479726.72739, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'str' from source instance ('string')", + "module": "__init__", + "msecs": 727.3900508880615, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 167.85597801208496, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,727", + "created": 1577479726.727922, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl)", + "module": "__init__", + "msecs": 727.9219627380371, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 168.38788986206055, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 728.3260822296143, + "msg": "Partially initialising cache object by requesting some information.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 168.7920093536377, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00040411949157714844 + }, + { + "args": [ + "property_cache_pickle" + ], + "asctime": "2019-12-27 21:48:46,729", + "created": 1577479726.729397, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 27, + "message": "Extracting storage object from property_cache_pickle for comparison.", + "module": "test_no_load_on_init", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:46,728", + "created": 1577479726.728962, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl)", + "module": "__init__", + "msecs": 728.9619445800781, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 169.42787170410156, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "{'_property_cache_data_version_': 1, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'str': 'string', '_property_cache_uid_': 'my_unique_id'}" + ], + "asctime": "2019-12-27 21:48:46,729", + "created": 1577479726.729179, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 23, + "message": "Using storage object of cache class for comparison: {'_property_cache_data_version_': 1, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'str': 'string', '_property_cache_uid_': 'my_unique_id'}", + "module": "test_no_load_on_init", + "msecs": 729.1789054870605, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 169.64483261108398, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:46,729", + "created": 1577479726.729315, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 24, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_no_load_on_init", + "msecs": 729.3150424957275, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 169.78096961975098, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 729.3970584869385, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 169.8629856109619, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 8.20159912109375e-05 + }, + { + "args": [ + "{'float': 3.14159, 'list': [1, 'two', '3', 4], 'str': 'string'}", + "" + ], + "asctime": "2019-12-27 21:48:46,729", + "created": 1577479726.7298, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cache object is correct (Content {'float': 3.14159, 'list': [1, 'two', '3', 4], 'str': 'string'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache object", + "{ 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'str': 'string' }", + "" + ], + "asctime": "2019-12-27 21:48:46,729", + "created": 1577479726.729523, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache object): { 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'str': 'string' } ()", + "module": "test", + "msecs": 729.5229434967041, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 169.98887062072754, + "thread": 139988953077568, + "threadName": "MainThread" + }, + { + "args": [ + "Cache object", + "{ 'str': 'string', 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] }", + "" + ], + "asctime": "2019-12-27 21:48:46,729", + "created": 1577479726.729579, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache object): result = { 'str': 'string', 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ] } ()", + "module": "test", + "msecs": 729.578971862793, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 170.0448989868164, + "thread": 139988953077568, + "threadName": "MainThread" + } + ], + "msecs": 729.7999858856201, + "msg": "Cache object is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7954, + "processName": "MainProcess", + "relativeCreated": 170.26591300964355, + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.00022101402282714844 + } + ], + "thread": 139988953077568, + "threadName": "MainThread", + "time_consumption": 0.005764961242675781, + "time_finished": "2019-12-27 21:48:46,729", + "time_start": "2019-12-27 21:48:46,724" + } + }, + "testrun_id": "p2", + "time_consumption": 0.12566757202148438, + "uid_list_sorted": [ + "caching.property_cache_json: Test full initialised JSON-Cache-Object", + "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object", + "caching.property_cache_json: Test cached data (full init)", + "caching.property_cache_json: Test cached data (partially init)", + "caching.property_cache_json: Test get from source caused by increased data version (full init)", + "caching.property_cache_json: Test get from source caused by increased data version (partially init)", + "caching.property_cache_json: Test get from source caused by changed uid (full init)", + "caching.property_cache_json: Test get from source caused by changed uid (partially init)", + "caching.property_cache_json: Test execution of save callback (full init)", + "caching.property_cache_json: Test internal key usage", + "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object", + "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object", + "caching.property_cache_pickle: Test cached data (full init)", + "caching.property_cache_pickle: Test cached data (partially init)", + "caching.property_cache_pickle: Test get from source caused by increased data version (full init)", + "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)", + "caching.property_cache_pickle: Test get from source caused by changed uid (full init)", + "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)", + "caching.property_cache_pickle: Test execution of save callback (full init)", + "caching.property_cache_pickle: Test internal key usage" + ] + }, + { + "heading_dict": {}, + "interpreter": "python 3.6.9 (final)", + "name": "Default Testsession name", + "number_of_failed_tests": 0, + "number_of_possibly_failed_tests": 0, + "number_of_successfull_tests": 20, + "number_of_tests": 20, + "testcase_execution_level": 90, + "testcase_names": { + "0": "Single Test", + "10": "Smoke Test (Minumum subset)", + "50": "Short Test (Subset)", + "90": "Full Test (all defined tests)" + }, + "testcases": { + "caching.property_cache_json: Test cached data (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,935", + "created": 1577479727.9356124, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 31, + "message": "caching.property_cache_json: Test cached data (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 935.6124401092529, + "msg": "caching.property_cache_json: Test cached data (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 222.670316696167, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:47,939", + "created": 1577479727.9398224, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,936", + "created": 1577479727.9361932, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 936.1932277679443, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 223.2511043548584, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,936", + "created": 1577479727.9367645, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 936.7644786834717, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 223.82235527038574, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,937", + "created": 1577479727.9375088, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 937.5088214874268, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 224.56669807434082, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,938", + "created": 1577479727.9380093, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 938.0092620849609, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 225.067138671875, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,939", + "created": 1577479727.9392889, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 939.288854598999, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 226.3467311859131, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 939.8224353790283, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 226.88031196594238, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0005335807800292969 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:47,942", + "created": 1577479727.942014, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Collecting data from cache instance.", + "module": "test_cached_data", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,941", + "created": 1577479727.9410338, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 941.0338401794434, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 228.09171676635742, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'string'" + ], + "asctime": "2019-12-27 21:48:47,941", + "created": 1577479727.9413812, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'str' from cache ('string')", + "module": "__init__", + "msecs": 941.3812160491943, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 228.4390926361084, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "'unicode'" + ], + "asctime": "2019-12-27 21:48:47,941", + "created": 1577479727.9414806, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'unicode' from cache ('unicode')", + "module": "__init__", + "msecs": 941.4806365966797, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 228.53851318359375, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "17" + ], + "asctime": "2019-12-27 21:48:47,941", + "created": 1577479727.9415605, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'integer' from cache (17)", + "module": "__init__", + "msecs": 941.5605068206787, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 228.61838340759277, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "3.14159" + ], + "asctime": "2019-12-27 21:48:47,941", + "created": 1577479727.9417286, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'float' from cache (3.14159)", + "module": "__init__", + "msecs": 941.7285919189453, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 228.78646850585938, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "[1, 'two', '3', 4]" + ], + "asctime": "2019-12-27 21:48:47,941", + "created": 1577479727.9418347, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'list' from cache ([1, 'two', '3', 4])", + "module": "__init__", + "msecs": 941.8346881866455, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 228.89256477355957, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{'1': 1, '2': 'two', '3': '3', '4': 4}" + ], + "asctime": "2019-12-27 21:48:47,941", + "created": 1577479727.9419048, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'dict' from cache ({'1': 1, '2': 'two', '3': '3', '4': 4})", + "module": "__init__", + "msecs": 941.9047832489014, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 228.96265983581543, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "uncached" + ], + "asctime": "2019-12-27 21:48:47,941", + "created": 1577479727.9419615, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "INFO", + "levelno": 20, + "lineno": 113, + "message": "JsonCache: Key 'uncached' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 941.9615268707275, + "msg": "%s Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 229.0194034576416, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 942.0139789581299, + "msg": "Collecting data from cache instance.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_cached_data.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 229.07185554504395, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 5.245208740234375e-05 + }, + { + "args": [ + "{'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'uncached': 'uncached_data_of_class'}", + "" + ], + "asctime": "2019-12-27 21:48:47,942", + "created": 1577479727.942465, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cached data is correct (Content {'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'uncached': 'uncached_data_of_class'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cached data", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' }", + "" + ], + "asctime": "2019-12-27 21:48:47,942", + "created": 1577479727.9421763, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cached data): { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' } ()", + "module": "test", + "msecs": 942.176342010498, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 229.2342185974121, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Cached data", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' }", + "" + ], + "asctime": "2019-12-27 21:48:47,942", + "created": 1577479727.942278, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cached data): result = { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' } ()", + "module": "test", + "msecs": 942.2779083251953, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 229.33578491210938, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 942.46506690979, + "msg": "Cached data is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 229.5229434967041, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00018715858459472656 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.006852626800537109, + "time_finished": "2019-12-27 21:48:47,942", + "time_start": "2019-12-27 21:48:47,935" + }, + "caching.property_cache_json: Test cached data (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,942", + "created": 1577479727.9426577, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 32, + "message": "caching.property_cache_json: Test cached data (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 942.6577091217041, + "msg": "caching.property_cache_json: Test cached data (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 229.71558570861816, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:47,944", + "created": 1577479727.944638, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,942", + "created": 1577479727.942846, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 942.8460597991943, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 229.9039363861084, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,943", + "created": 1577479727.9430285, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 943.028450012207, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 230.0863265991211, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,943", + "created": 1577479727.9432595, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 943.2594776153564, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 230.3173542022705, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,943", + "created": 1577479727.9434474, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 943.4473514556885, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 230.50522804260254, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,944", + "created": 1577479727.9442017, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 944.2017078399658, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 231.25958442687988, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 944.6380138397217, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 231.69589042663574, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0004363059997558594 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:47,946", + "created": 1577479727.9467845, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Collecting data from cache instance.", + "module": "test_cached_data", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,945", + "created": 1577479727.945392, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 945.3918933868408, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 232.44976997375488, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'string'" + ], + "asctime": "2019-12-27 21:48:47,945", + "created": 1577479727.9456754, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'str' from cache ('string')", + "module": "__init__", + "msecs": 945.6753730773926, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 232.73324966430664, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "'unicode'" + ], + "asctime": "2019-12-27 21:48:47,945", + "created": 1577479727.9458537, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'unicode' from cache ('unicode')", + "module": "__init__", + "msecs": 945.8537101745605, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 232.9115867614746, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "17" + ], + "asctime": "2019-12-27 21:48:47,945", + "created": 1577479727.9459975, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'integer' from cache (17)", + "module": "__init__", + "msecs": 945.9974765777588, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 233.05535316467285, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "3.14159" + ], + "asctime": "2019-12-27 21:48:47,946", + "created": 1577479727.9462252, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'float' from cache (3.14159)", + "module": "__init__", + "msecs": 946.2251663208008, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 233.28304290771484, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "[1, 'two', '3', 4]" + ], + "asctime": "2019-12-27 21:48:47,946", + "created": 1577479727.9464514, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'list' from cache ([1, 'two', '3', 4])", + "module": "__init__", + "msecs": 946.4514255523682, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 233.50930213928223, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{'1': 1, '2': 'two', '3': '3', '4': 4}" + ], + "asctime": "2019-12-27 21:48:47,946", + "created": 1577479727.9465942, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'dict' from cache ({'1': 1, '2': 'two', '3': '3', '4': 4})", + "module": "__init__", + "msecs": 946.59423828125, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 233.65211486816406, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "uncached" + ], + "asctime": "2019-12-27 21:48:47,946", + "created": 1577479727.9467013, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "INFO", + "levelno": 20, + "lineno": 113, + "message": "JsonCache: Key 'uncached' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 946.7012882232666, + "msg": "%s Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 233.75916481018066, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 946.784496307373, + "msg": "Collecting data from cache instance.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_cached_data.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 233.8423728942871, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 8.320808410644531e-05 + }, + { + "args": [ + "{'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'uncached': 'uncached_data_of_class'}", + "" + ], + "asctime": "2019-12-27 21:48:47,947", + "created": 1577479727.947913, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cached data is correct (Content {'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'uncached': 'uncached_data_of_class'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cached data", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' }", + "" + ], + "asctime": "2019-12-27 21:48:47,947", + "created": 1577479727.9471827, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cached data): { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' } ()", + "module": "test", + "msecs": 947.1826553344727, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 234.24053192138672, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Cached data", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' }", + "" + ], + "asctime": "2019-12-27 21:48:47,947", + "created": 1577479727.9475436, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cached data): result = { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' } ()", + "module": "test", + "msecs": 947.5436210632324, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 234.60149765014648, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 947.9129314422607, + "msg": "Cached data is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 234.9708080291748, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0003693103790283203 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.005255222320556641, + "time_finished": "2019-12-27 21:48:47,947", + "time_start": "2019-12-27 21:48:47,942" + }, + "caching.property_cache_json: Test execution of save callback (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,979", + "created": 1577479727.9795744, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 37, + "message": "caching.property_cache_json: Test execution of save callback (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 979.57444190979, + "msg": "caching.property_cache_json: Test execution of save callback (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 266.6323184967041, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,979", + "created": 1577479727.9797332, + "exc_info": null, + "exc_text": null, + "filename": "test_save_callback.py", + "funcName": "save_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Installing save_callback, which sets a variable to True on execution.", + "module": "test_save_callback", + "moduleLogger": [], + "msecs": 979.7332286834717, + "msg": "Installing save_callback, which sets a variable to True on execution.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_save_callback.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 266.79110527038574, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2019-12-27 21:48:47,980", + "created": 1577479727.9804544, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Save callback execution variable is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/save_callback_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,980", + "created": 1577479727.9800406, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/save_callback_load_on_init.json)", + "module": "__init__", + "msecs": 980.0405502319336, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 267.09842681884766, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution variable", + "True", + "" + ], + "asctime": "2019-12-27 21:48:47,980", + "created": 1577479727.9802816, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Save callback execution variable): True ()", + "module": "test", + "msecs": 980.2815914154053, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 267.33946800231934, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution variable", + "True", + "" + ], + "asctime": "2019-12-27 21:48:47,980", + "created": 1577479727.9803731, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Save callback execution variable): result = True ()", + "module": "test", + "msecs": 980.3731441497803, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 267.43102073669434, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 980.4544448852539, + "msg": "Save callback execution variable is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 267.51232147216797, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 8.130073547363281e-05 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0008800029754638672, + "time_finished": "2019-12-27 21:48:47,980", + "time_start": "2019-12-27 21:48:47,979" + }, + "caching.property_cache_json: Test full initialised JSON-Cache-Object": { + "args": null, + "asctime": "2019-12-27 21:48:47,920", + "created": 1577479727.9207084, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 29, + "message": "caching.property_cache_json: Test full initialised JSON-Cache-Object", + "module": "__init__", + "moduleLogger": [], + "msecs": 920.708417892456, + "msg": "caching.property_cache_json: Test full initialised JSON-Cache-Object", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 207.76629447937012, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.9240148, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,921", + "created": 1577479727.921869, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 921.8690395355225, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 208.92691612243652, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,922", + "created": 1577479727.922417, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 922.4169254302979, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 209.4748020172119, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,923", + "created": 1577479727.9235475, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 923.5475063323975, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 210.60538291931152, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,923", + "created": 1577479727.9236336, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 923.6335754394531, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 210.6914520263672, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,923", + "created": 1577479727.9239197, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json)", + "module": "__init__", + "msecs": 923.919677734375, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 210.97755432128906, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 924.0148067474365, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.0726833343506, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 9.512901306152344e-05 + }, + { + "args": [ + "property_cache_json" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.924336, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Extracting storage object from property_cache_json for comparison.", + "module": "test_load_on_init", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.9241836, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.json)", + "module": "__init__", + "msecs": 924.1836071014404, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.2414836883545, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "{'_property_cache_data_version_': 1, '_property_cache_uid_': 'my_unique_id', 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'float': 3.14159, 'integer': 17, 'list': [1, 'two', '3', 4], 'str': 'string', 'unicode': 'unicode'}" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.9242501, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Using storage object of cache class for comparison: {'_property_cache_data_version_': 1, '_property_cache_uid_': 'my_unique_id', 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'float': 3.14159, 'integer': 17, 'list': [1, 'two', '3', 4], 'str': 'string', 'unicode': 'unicode'}", + "module": "test_load_on_init", + "msecs": 924.2501258850098, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.30800247192383, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.9242969, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_load_on_init", + "msecs": 924.2968559265137, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.35473251342773, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 924.3359565734863, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.3938331604004, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 3.910064697265625e-05 + }, + { + "args": [ + "{'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'float': 3.14159, 'integer': 17, 'list': [1, 'two', '3', 4], 'str': 'string', 'unicode': 'unicode'}", + "" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.9245756, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cache object is correct (Content {'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'float': 3.14159, 'integer': 17, 'list': [1, 'two', '3', 4], 'str': 'string', 'unicode': 'unicode'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache object", + "{ 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'float': 3.14159, 'integer': 17, 'list': [ 1, 'two', '3', 4 ], 'str': 'string', 'unicode': 'unicode' }", + "" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.9244206, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache object): { 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'float': 3.14159, 'integer': 17, 'list': [ 1, 'two', '3', 4 ], 'str': 'string', 'unicode': 'unicode' } ()", + "module": "test", + "msecs": 924.4205951690674, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.47847175598145, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Cache object", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 } }", + "" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.924482, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache object): result = { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 } } ()", + "module": "test", + "msecs": 924.4821071624756, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.53998374938965, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 924.5755672454834, + "msg": "Cache object is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.63344383239746, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 9.34600830078125e-05 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0038671493530273438, + "time_finished": "2019-12-27 21:48:47,924", + "time_start": "2019-12-27 21:48:47,920" + }, + "caching.property_cache_json: Test get from source caused by changed uid (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,964", + "created": 1577479727.9640696, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 35, + "message": "caching.property_cache_json: Test get from source caused by changed uid (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 964.0696048736572, + "msg": "caching.property_cache_json: Test get from source caused by changed uid (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 251.1274814605713, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:47,966", + "created": 1577479727.9666655, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,964", + "created": 1577479727.9644916, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 964.491605758667, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 251.54948234558105, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,964", + "created": 1577479727.9648514, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 964.8513793945312, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 251.9092559814453, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,965", + "created": 1577479727.965183, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 965.1830196380615, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 252.2408962249756, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,965", + "created": 1577479727.9654331, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 965.4331207275391, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 252.49099731445312, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,966", + "created": 1577479727.9663277, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json)", + "module": "__init__", + "msecs": 966.3276672363281, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 253.3855438232422, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 966.665506362915, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 253.7233829498291, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00033783912658691406 + }, + { + "args": [ + "{'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}}", + "" + ], + "asctime": "2019-12-27 21:48:47,970", + "created": 1577479727.9705527, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after changing uid is correct (Content {'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,967", + "created": 1577479727.9673731, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json)", + "module": "__init__", + "msecs": 967.3731327056885, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 254.43100929260254, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,967", + "created": 1577479727.9675546, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 128, + "message": "JsonCache: Source uid changed, ignoring previous cache data", + "module": "__init__", + "msecs": 967.5545692443848, + "msg": "%s Source uid changed, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 254.61244583129883, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,967", + "created": 1577479727.967863, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 967.8630828857422, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 254.92095947265625, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,968", + "created": 1577479727.9689257, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.json)", + "module": "__init__", + "msecs": 968.9257144927979, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 255.9835910797119, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:47,969", + "created": 1577479727.969448, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'str' from cache ('__string__')", + "module": "__init__", + "msecs": 969.4480895996094, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 256.50596618652344, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "'__unicode__'" + ], + "asctime": "2019-12-27 21:48:47,969", + "created": 1577479727.9695773, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'unicode' from cache ('__unicode__')", + "module": "__init__", + "msecs": 969.5773124694824, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 256.6351890563965, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:47,969", + "created": 1577479727.9697692, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'integer' from cache (34)", + "module": "__init__", + "msecs": 969.7692394256592, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 256.82711601257324, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:47,969", + "created": 1577479727.9698765, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'float' from cache (2.71828)", + "module": "__init__", + "msecs": 969.8765277862549, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 256.93440437316895, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:47,969", + "created": 1577479727.9699705, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'list' from cache (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 969.9704647064209, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 257.02834129333496, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{'1': '1', '2': 2, '3': 'three', '4': '4'}" + ], + "asctime": "2019-12-27 21:48:47,970", + "created": 1577479727.9700499, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'dict' from cache ({'1': '1', '2': 2, '3': 'three', '4': '4'})", + "module": "__init__", + "msecs": 970.0498580932617, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 257.1077346801758, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:47,970", + "created": 1577479727.970211, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after changing uid): { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 970.2110290527344, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 257.26890563964844, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:47,970", + "created": 1577479727.9703453, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after changing uid): result = { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 970.3452587127686, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 257.4031352996826, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 970.5526828765869, + "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 257.610559463501, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00020742416381835938 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0064830780029296875, + "time_finished": "2019-12-27 21:48:47,970", + "time_start": "2019-12-27 21:48:47,964" + }, + "caching.property_cache_json: Test get from source caused by changed uid (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,970", + "created": 1577479727.970831, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 36, + "message": "caching.property_cache_json: Test get from source caused by changed uid (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 970.8309173583984, + "msg": "caching.property_cache_json: Test get from source caused by changed uid (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 257.8887939453125, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:47,972", + "created": 1577479727.9725251, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,971", + "created": 1577479727.9710152, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 971.015214920044, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 258.073091506958, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,971", + "created": 1577479727.9710944, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 971.0943698883057, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 258.1522464752197, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,971", + "created": 1577479727.971209, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 971.2090492248535, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 258.2669258117676, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,971", + "created": 1577479727.9712975, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 971.2975025177002, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 258.35537910461426, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,972", + "created": 1577479727.972337, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 972.337007522583, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 259.39488410949707, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 972.5251197814941, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 259.5829963684082, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0001881122589111328 + }, + { + "args": [ + "{'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}}", + "" + ], + "asctime": "2019-12-27 21:48:47,979", + "created": 1577479727.9793754, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after changing uid is correct (Content {'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,972", + "created": 1577479727.972893, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 972.8929996490479, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 259.9508762359619, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,972", + "created": 1577479727.9729798, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 128, + "message": "JsonCache: Source uid changed, ignoring previous cache data", + "module": "__init__", + "msecs": 972.9797840118408, + "msg": "%s Source uid changed, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 260.0376605987549, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,973", + "created": 1577479727.9732761, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 973.2761383056641, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 260.3340148925781, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:47,973", + "created": 1577479727.9735394, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'str' from source instance ('__string__')", + "module": "__init__", + "msecs": 973.5393524169922, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 260.59722900390625, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,973", + "created": 1577479727.973887, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 973.8869667053223, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 260.9448432922363, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "'__unicode__'" + ], + "asctime": "2019-12-27 21:48:47,974", + "created": 1577479727.974102, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'unicode' from source instance ('__unicode__')", + "module": "__init__", + "msecs": 974.1020202636719, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 261.15989685058594, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,974", + "created": 1577479727.9746788, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 974.6787548065186, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 261.7366313934326, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:47,975", + "created": 1577479727.9750695, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'integer' from source instance (34)", + "module": "__init__", + "msecs": 975.069522857666, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 262.1273994445801, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,975", + "created": 1577479727.9753742, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 975.3742218017578, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 262.4320983886719, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:47,975", + "created": 1577479727.9756422, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'float' from source instance (2.71828)", + "module": "__init__", + "msecs": 975.642204284668, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 262.70008087158203, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,975", + "created": 1577479727.975996, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 975.9960174560547, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 263.05389404296875, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:47,976", + "created": 1577479727.976523, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'list' from source instance (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 976.5229225158691, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 263.5807991027832, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,977", + "created": 1577479727.97734, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 977.3399829864502, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 264.39785957336426, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{'1': '1', '2': 2, '3': 'three', '4': '4'}" + ], + "asctime": "2019-12-27 21:48:47,978", + "created": 1577479727.978135, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'dict' from source instance ({'1': '1', '2': 2, '3': 'three', '4': '4'})", + "module": "__init__", + "msecs": 978.1351089477539, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 265.19298553466797, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,978", + "created": 1577479727.9788244, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 978.8243770599365, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 265.8822536468506, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:47,979", + "created": 1577479727.979092, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after changing uid): { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 979.0918827056885, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 266.14975929260254, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:47,979", + "created": 1577479727.9792085, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after changing uid): result = { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 979.2084693908691, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 266.2663459777832, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 979.3753623962402, + "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 266.4332389831543, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00016689300537109375 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.008544445037841797, + "time_finished": "2019-12-27 21:48:47,979", + "time_start": "2019-12-27 21:48:47,970" + }, + "caching.property_cache_json: Test get from source caused by increased data version (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,948", + "created": 1577479727.9482589, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 33, + "message": "caching.property_cache_json: Test get from source caused by increased data version (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 948.2588768005371, + "msg": "caching.property_cache_json: Test get from source caused by increased data version (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 235.31675338745117, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:47,951", + "created": 1577479727.9513035, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,948", + "created": 1577479727.9485548, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 948.5547542572021, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 235.6126308441162, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,948", + "created": 1577479727.9489167, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 948.9166736602783, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 235.97455024719238, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,949", + "created": 1577479727.949224, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 949.2239952087402, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 236.2818717956543, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,949", + "created": 1577479727.9493914, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 949.3913650512695, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 236.4492416381836, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,950", + "created": 1577479727.9506466, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json)", + "module": "__init__", + "msecs": 950.6466388702393, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 237.70451545715332, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 951.3034820556641, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 238.36135864257812, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0006568431854248047 + }, + { + "args": [ + "{'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}}", + "" + ], + "asctime": "2019-12-27 21:48:47,954", + "created": 1577479727.9541266, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after increasing data_version is correct (Content {'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,952", + "created": 1577479727.9520516, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json)", + "module": "__init__", + "msecs": 952.0516395568848, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 239.10951614379883, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,952", + "created": 1577479727.9521823, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 130, + "message": "JsonCache: Data version increased, ignoring previous cache data", + "module": "__init__", + "msecs": 952.1822929382324, + "msg": "%s Data version increased, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 239.24016952514648, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,952", + "created": 1577479727.9523075, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 952.3074626922607, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 239.3653392791748, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,952", + "created": 1577479727.9528759, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.json)", + "module": "__init__", + "msecs": 952.8758525848389, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 239.93372917175293, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:47,953", + "created": 1577479727.9532626, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'str' from cache ('__string__')", + "module": "__init__", + "msecs": 953.2625675201416, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 240.32044410705566, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "'__unicode__'" + ], + "asctime": "2019-12-27 21:48:47,953", + "created": 1577479727.9533324, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'unicode' from cache ('__unicode__')", + "module": "__init__", + "msecs": 953.3324241638184, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 240.39030075073242, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:47,953", + "created": 1577479727.9533775, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'integer' from cache (34)", + "module": "__init__", + "msecs": 953.3774852752686, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 240.43536186218262, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:47,953", + "created": 1577479727.953436, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'float' from cache (2.71828)", + "module": "__init__", + "msecs": 953.4358978271484, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 240.4937744140625, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:47,953", + "created": 1577479727.9534976, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'list' from cache (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 953.4976482391357, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 240.5555248260498, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{'1': '1', '2': 2, '3': 'three', '4': '4'}" + ], + "asctime": "2019-12-27 21:48:47,953", + "created": 1577479727.9535615, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "JsonCache: Providing property for 'dict' from cache ({'1': '1', '2': 2, '3': 'three', '4': '4'})", + "module": "__init__", + "msecs": 953.561544418335, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 240.61942100524902, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:47,953", + "created": 1577479727.9537966, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after increasing data_version): { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 953.7966251373291, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 240.85450172424316, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:47,953", + "created": 1577479727.9539032, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after increasing data_version): result = { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 953.9031982421875, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 240.96107482910156, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 954.1265964508057, + "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 241.18447303771973, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00022339820861816406 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.005867719650268555, + "time_finished": "2019-12-27 21:48:47,954", + "time_start": "2019-12-27 21:48:47,948" + }, + "caching.property_cache_json: Test get from source caused by increased data version (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,954", + "created": 1577479727.9543357, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 34, + "message": "caching.property_cache_json: Test get from source caused by increased data version (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 954.3356895446777, + "msg": "caching.property_cache_json: Test get from source caused by increased data version (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 241.3935661315918, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:47,955", + "created": 1577479727.9556022, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,954", + "created": 1577479727.9545224, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 954.5223712921143, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 241.58024787902832, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,954", + "created": 1577479727.9546754, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 954.6754360198975, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 241.73331260681152, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,954", + "created": 1577479727.9548428, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 954.8428058624268, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 241.90068244934082, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,954", + "created": 1577479727.9549363, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 954.9362659454346, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 241.99414253234863, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,955", + "created": 1577479727.9554105, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 955.4104804992676, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 242.46835708618164, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 955.6021690368652, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 242.6600456237793, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00019168853759765625 + }, + { + "args": [ + "{'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}}", + "" + ], + "asctime": "2019-12-27 21:48:47,963", + "created": 1577479727.9636214, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after increasing data_version is correct (Content {'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,955", + "created": 1577479727.9559493, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 955.9493064880371, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 243.00718307495117, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,956", + "created": 1577479727.956035, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 130, + "message": "JsonCache: Data version increased, ignoring previous cache data", + "module": "__init__", + "msecs": 956.0348987579346, + "msg": "%s Data version increased, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 243.09277534484863, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,956", + "created": 1577479727.956309, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 956.3090801239014, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 243.36695671081543, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:47,956", + "created": 1577479727.9569175, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'str' from source instance ('__string__')", + "module": "__init__", + "msecs": 956.9175243377686, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 243.97540092468262, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,957", + "created": 1577479727.9573789, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 957.3788642883301, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 244.43674087524414, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "'__unicode__'" + ], + "asctime": "2019-12-27 21:48:47,957", + "created": 1577479727.9577348, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'unicode' from source instance ('__unicode__')", + "module": "__init__", + "msecs": 957.7348232269287, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 244.79269981384277, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,958", + "created": 1577479727.9581842, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 958.1842422485352, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 245.24211883544922, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:47,958", + "created": 1577479727.9587052, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'integer' from source instance (34)", + "module": "__init__", + "msecs": 958.7051868438721, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 245.76306343078613, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,959", + "created": 1577479727.9593003, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 959.3002796173096, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 246.35815620422363, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:47,959", + "created": 1577479727.9597774, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'float' from source instance (2.71828)", + "module": "__init__", + "msecs": 959.7773551940918, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 246.83523178100586, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,960", + "created": 1577479727.9604533, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 960.4532718658447, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 247.5111484527588, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:47,961", + "created": 1577479727.9610004, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'list' from source instance (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 961.0004425048828, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 248.05831909179688, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,961", + "created": 1577479727.9614096, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 961.4095687866211, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 248.46744537353516, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "dict", + "{'1': '1', '2': 2, '3': 'three', '4': '4'}" + ], + "asctime": "2019-12-27 21:48:47,961", + "created": 1577479727.9617436, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'dict' from source instance ({'1': '1', '2': 2, '3': 'three', '4': '4'})", + "module": "__init__", + "msecs": 961.7435932159424, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 248.80146980285645, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,962", + "created": 1577479727.9623559, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.json)", + "module": "__init__", + "msecs": 962.3558521270752, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 249.41372871398926, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:47,963", + "created": 1577479727.9630287, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after increasing data_version): { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 963.0286693572998, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 250.08654594421387, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:47,963", + "created": 1577479727.9632835, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after increasing data_version): result = { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 963.2835388183594, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 250.34141540527344, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 963.6213779449463, + "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 250.67925453186035, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00033783912658691406 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.009285688400268555, + "time_finished": "2019-12-27 21:48:47,963", + "time_start": "2019-12-27 21:48:47,954" + }, + "caching.property_cache_json: Test internal key usage": { + "args": null, + "asctime": "2019-12-27 21:48:47,980", + "created": 1577479727.980656, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 38, + "message": "caching.property_cache_json: Test internal key usage", + "module": "__init__", + "moduleLogger": [], + "msecs": 980.6559085845947, + "msg": "caching.property_cache_json: Test internal key usage", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 267.7137851715088, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "True" + ], + "asctime": "2019-12-27 21:48:47,982", + "created": 1577479727.9820487, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,980", + "created": 1577479727.9808366, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 980.8366298675537, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 267.8945064544678, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json" + ], + "asctime": "2019-12-27 21:48:47,981", + "created": 1577479727.9810035, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json as cache file.", + "module": "test_helpers", + "msecs": 981.0035228729248, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 268.06139945983887, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,981", + "created": 1577479727.981196, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 981.1959266662598, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 268.2538032531738, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "['_property_cache_uid_', '__property_cache_uid_', '_property_cache_data_version_', '__property_cache_data_version_']" + ], + "asctime": "2019-12-27 21:48:47,981", + "created": 1577479727.9813166, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "JsonCache: Loading all data from source - ['_property_cache_uid_', '__property_cache_uid_', '_property_cache_data_version_', '__property_cache_data_version_']", + "module": "__init__", + "msecs": 981.3165664672852, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 268.3744430541992, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json" + ], + "asctime": "2019-12-27 21:48:47,981", + "created": 1577479727.9818256, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json)", + "module": "__init__", + "msecs": 981.825590133667, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 268.88346672058105, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 982.048749923706, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 269.1066265106201, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0002231597900390625 + }, + { + "args": [ + "property_cache_json" + ], + "asctime": "2019-12-27 21:48:47,982", + "created": 1577479727.982763, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Extracting storage object from property_cache_json for comparison.", + "module": "test_internal_keys", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json" + ], + "asctime": "2019-12-27 21:48:47,982", + "created": 1577479727.9824693, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.json)", + "module": "__init__", + "msecs": 982.4693202972412, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 269.5271968841553, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "{'___property_cache_data_version_': 'no second data version', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '__property_cache_uid_': 'no uid', '_property_cache_data_version_': 1, '_property_cache_uid_': 'my_unique_id'}" + ], + "asctime": "2019-12-27 21:48:47,982", + "created": 1577479727.9825866, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Using storage object of cache class for comparison: {'___property_cache_data_version_': 'no second data version', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '__property_cache_uid_': 'no uid', '_property_cache_data_version_': 1, '_property_cache_uid_': 'my_unique_id'}", + "module": "test_internal_keys", + "msecs": 982.5866222381592, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 269.64449882507324, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:47,982", + "created": 1577479727.9827, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_internal_keys", + "msecs": 982.7001094818115, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 269.7579860687256, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 982.7630519866943, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 269.8209285736084, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 6.29425048828125e-05 + }, + { + "args": [ + "{'___property_cache_data_version_': 'no second data version', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '__property_cache_uid_': 'no uid'}", + "" + ], + "asctime": "2019-12-27 21:48:47,983", + "created": 1577479727.983213, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cache is correct (Content {'___property_cache_data_version_': 'no second data version', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '__property_cache_uid_': 'no uid'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache", + "{ '___property_cache_data_version_': 'no second data version', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '__property_cache_uid_': 'no uid' }", + "" + ], + "asctime": "2019-12-27 21:48:47,982", + "created": 1577479727.9829535, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache): { '___property_cache_data_version_': 'no second data version', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '__property_cache_uid_': 'no uid' } ()", + "module": "test", + "msecs": 982.9535484313965, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 270.01142501831055, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Cache", + "{ '__property_cache_uid_': 'no uid', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '___property_cache_data_version_': 'no second data version' }", + "" + ], + "asctime": "2019-12-27 21:48:47,983", + "created": 1577479727.9830666, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache): result = { '__property_cache_uid_': 'no uid', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '___property_cache_data_version_': 'no second data version' } ()", + "module": "test", + "msecs": 983.0665588378906, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 270.1244354248047, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 983.212947845459, + "msg": "Cache is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 270.27082443237305, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00014638900756835938 + }, + { + "args": [ + "5", + "" + ], + "asctime": "2019-12-27 21:48:47,983", + "created": 1577479727.9834547, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Keyfilter returnvalue for 5 () is correct (Content 5 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Keyfilter returnvalue for 5 ()", + "5", + "" + ], + "asctime": "2019-12-27 21:48:47,983", + "created": 1577479727.9833298, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Keyfilter returnvalue for 5 ()): 5 ()", + "module": "test", + "msecs": 983.3297729492188, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 270.3876495361328, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Keyfilter returnvalue for 5 ()", + "5", + "" + ], + "asctime": "2019-12-27 21:48:47,983", + "created": 1577479727.9833913, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Keyfilter returnvalue for 5 ()): result = 5 ()", + "module": "test", + "msecs": 983.391284942627, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 270.449161529541, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 983.454704284668, + "msg": "Keyfilter returnvalue for 5 () is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 270.51258087158203, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 6.341934204101562e-05 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.002798795700073242, + "time_finished": "2019-12-27 21:48:47,983", + "time_start": "2019-12-27 21:48:47,980" + }, + "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object": { + "args": null, + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.924668, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 30, + "message": "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object", + "module": "__init__", + "moduleLogger": [], + "msecs": 924.6680736541748, + "msg": "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.72595024108887, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_json", + "False" + ], + "asctime": "2019-12-27 21:48:47,925", + "created": 1577479727.9250605, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_json (load_all_on_init=False).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.9247422, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 924.7422218322754, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.80009841918945, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.9248123, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json as cache file.", + "module": "test_helpers", + "msecs": 924.8123168945312, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.8701934814453, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.9248714, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 228, + "message": "JsonCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 924.8714447021484, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 211.9293212890625, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,924", + "created": 1577479727.924994, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json)", + "module": "__init__", + "msecs": 924.9939918518066, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 212.0518684387207, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 925.060510635376, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 212.11838722229004, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 6.651878356933594e-05 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:47,930", + "created": 1577479727.9300435, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 18, + "message": "Partially initialising cache object by requesting some information.", + "module": "test_no_load_on_init", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "str", + "'string'" + ], + "asctime": "2019-12-27 21:48:47,925", + "created": 1577479727.9251256, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'str' from source instance ('string')", + "module": "__init__", + "msecs": 925.1255989074707, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 212.18347549438477, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,925", + "created": 1577479727.9252398, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json)", + "module": "__init__", + "msecs": 925.2398014068604, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 212.2976779937744, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "unicode", + "'unicode'" + ], + "asctime": "2019-12-27 21:48:47,925", + "created": 1577479727.9253454, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'unicode' from source instance ('unicode')", + "module": "__init__", + "msecs": 925.3454208374023, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 212.4032974243164, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,927", + "created": 1577479727.9278483, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json)", + "module": "__init__", + "msecs": 927.8483390808105, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 214.9062156677246, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "integer", + "17" + ], + "asctime": "2019-12-27 21:48:47,928", + "created": 1577479727.928485, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "JsonCache: Loading property for 'integer' from source instance (17)", + "module": "__init__", + "msecs": 928.4849166870117, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 215.54279327392578, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,929", + "created": 1577479727.929041, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 234, + "message": "JsonCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json)", + "module": "__init__", + "msecs": 929.0409088134766, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 216.09878540039062, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 930.0434589385986, + "msg": "Partially initialising cache object by requesting some information.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 217.1013355255127, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0010025501251220703 + }, + { + "args": [ + "property_cache_json" + ], + "asctime": "2019-12-27 21:48:47,933", + "created": 1577479727.9335427, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 27, + "message": "Extracting storage object from property_cache_json for comparison.", + "module": "test_no_load_on_init", + "moduleLogger": [ + { + "args": [ + "JsonCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:47,931", + "created": 1577479727.9313648, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 225, + "message": "JsonCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.json)", + "module": "__init__", + "msecs": 931.3647747039795, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 218.42265129089355, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "{'_property_cache_data_version_': 1, '_property_cache_uid_': 'my_unique_id', 'integer': 17, 'str': 'string', 'unicode': 'unicode'}" + ], + "asctime": "2019-12-27 21:48:47,933", + "created": 1577479727.9330623, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 23, + "message": "Using storage object of cache class for comparison: {'_property_cache_data_version_': 1, '_property_cache_uid_': 'my_unique_id', 'integer': 17, 'str': 'string', 'unicode': 'unicode'}", + "module": "test_no_load_on_init", + "msecs": 933.0623149871826, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 220.12019157409668, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:47,933", + "created": 1577479727.933344, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 24, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_no_load_on_init", + "msecs": 933.3438873291016, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 220.40176391601562, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 933.5427284240723, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 220.60060501098633, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00019884109497070312 + }, + { + "args": [ + "{'integer': 17, 'str': 'string', 'unicode': 'unicode'}", + "" + ], + "asctime": "2019-12-27 21:48:47,934", + "created": 1577479727.9348218, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cache object is correct (Content {'integer': 17, 'str': 'string', 'unicode': 'unicode'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache object", + "{ 'integer': 17, 'str': 'string', 'unicode': 'unicode' }", + "" + ], + "asctime": "2019-12-27 21:48:47,934", + "created": 1577479727.934161, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache object): { 'integer': 17, 'str': 'string', 'unicode': 'unicode' } ()", + "module": "test", + "msecs": 934.1609477996826, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 221.21882438659668, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Cache object", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17 }", + "" + ], + "asctime": "2019-12-27 21:48:47,934", + "created": 1577479727.9344916, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache object): result = { 'str': 'string', 'unicode': 'unicode', 'integer': 17 } ()", + "module": "test", + "msecs": 934.4916343688965, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 221.54951095581055, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 934.8218441009521, + "msg": "Cache object is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 221.8797206878662, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00033020973205566406 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.010153770446777344, + "time_finished": "2019-12-27 21:48:47,934", + "time_start": "2019-12-27 21:48:47,924" + }, + "caching.property_cache_pickle: Test cached data (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,989", + "created": 1577479727.9891186, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 44, + "message": "caching.property_cache_pickle: Test cached data (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 989.1185760498047, + "msg": "caching.property_cache_pickle: Test cached data (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 276.17645263671875, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:47,989", + "created": 1577479727.9899492, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,989", + "created": 1577479727.9892282, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 989.2282485961914, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 276.28612518310547, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,989", + "created": 1577479727.9893339, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 989.3338680267334, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 276.39174461364746, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:47,989", + "created": 1577479727.9894848, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 989.4847869873047, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 276.54266357421875, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,989", + "created": 1577479727.9895606, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 989.560604095459, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 276.61848068237305, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,989", + "created": 1577479727.9898334, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 989.8333549499512, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 276.89123153686523, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 989.9492263793945, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.0071029663086, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00011587142944335938 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:47,990", + "created": 1577479727.9907923, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Collecting data from cache instance.", + "module": "test_cached_data", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,990", + "created": 1577479727.9901733, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 990.17333984375, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.23121643066406, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'string'" + ], + "asctime": "2019-12-27 21:48:47,990", + "created": 1577479727.9902687, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'str' from cache ('string')", + "module": "__init__", + "msecs": 990.2687072753906, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.3265838623047, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "'unicode'" + ], + "asctime": "2019-12-27 21:48:47,990", + "created": 1577479727.990354, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'unicode' from cache ('unicode')", + "module": "__init__", + "msecs": 990.354061126709, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.41193771362305, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "17" + ], + "asctime": "2019-12-27 21:48:47,990", + "created": 1577479727.9904299, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'integer' from cache (17)", + "module": "__init__", + "msecs": 990.4298782348633, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.48775482177734, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "3.14159" + ], + "asctime": "2019-12-27 21:48:47,990", + "created": 1577479727.9905193, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'float' from cache (3.14159)", + "module": "__init__", + "msecs": 990.5192852020264, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.57716178894043, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "[1, 'two', '3', 4]" + ], + "asctime": "2019-12-27 21:48:47,990", + "created": 1577479727.9905922, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'list' from cache ([1, 'two', '3', 4])", + "module": "__init__", + "msecs": 990.5922412872314, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.6501178741455, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': 1, '2': 'two', '3': '3', '4': 4}" + ], + "asctime": "2019-12-27 21:48:47,990", + "created": 1577479727.9906669, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'dict' from cache ({'1': 1, '2': 'two', '3': '3', '4': 4})", + "module": "__init__", + "msecs": 990.6668663024902, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.7247428894043, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "uncached" + ], + "asctime": "2019-12-27 21:48:47,990", + "created": 1577479727.9907348, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "INFO", + "levelno": 20, + "lineno": 113, + "message": "PickCache: Key 'uncached' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 990.7348155975342, + "msg": "%s Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.79269218444824, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 990.7922744750977, + "msg": "Collecting data from cache instance.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_cached_data.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.8501510620117, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 5.745887756347656e-05 + }, + { + "args": [ + "{'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'uncached': 'uncached_data_of_class'}", + "" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9911356, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cached data is correct (Content {'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'uncached': 'uncached_data_of_class'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cached data", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' }", + "" + ], + "asctime": "2019-12-27 21:48:47,990", + "created": 1577479727.990928, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cached data): { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' } ()", + "module": "test", + "msecs": 990.9279346466064, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 277.9858112335205, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Cached data", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' }", + "" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9910443, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cached data): result = { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' } ()", + "module": "test", + "msecs": 991.044282913208, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.10215950012207, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 991.1355972290039, + "msg": "Cached data is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.19347381591797, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 9.131431579589844e-05 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0020170211791992188, + "time_finished": "2019-12-27 21:48:47,991", + "time_start": "2019-12-27 21:48:47,989" + }, + "caching.property_cache_pickle: Test cached data (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9912245, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 45, + "message": "caching.property_cache_pickle: Test cached data (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 991.2245273590088, + "msg": "caching.property_cache_pickle: Test cached data (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.28240394592285, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9916193, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9912903, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 991.2903308868408, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.3482074737549, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9913502, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 991.3501739501953, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.4080505371094, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9914126, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 991.4126396179199, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.470516204834, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9914596, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 991.4596080780029, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.517484664917, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9915576, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 991.5575981140137, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.61547470092773, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 991.619348526001, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.67722511291504, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 6.175041198730469e-05 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.992065, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 19, + "message": "Collecting data from cache instance.", + "module": "test_cached_data", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9917223, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 991.7223453521729, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.7802219390869, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'string'" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9917731, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'str' from cache ('string')", + "module": "__init__", + "msecs": 991.7731285095215, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.83100509643555, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "'unicode'" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9918175, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'unicode' from cache ('unicode')", + "module": "__init__", + "msecs": 991.8174743652344, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.87535095214844, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "17" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.991862, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'integer' from cache (17)", + "module": "__init__", + "msecs": 991.8620586395264, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.91993522644043, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "3.14159" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.9919128, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'float' from cache (3.14159)", + "module": "__init__", + "msecs": 991.912841796875, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 278.97071838378906, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "[1, 'two', '3', 4]" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.991954, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'list' from cache ([1, 'two', '3', 4])", + "module": "__init__", + "msecs": 991.9540882110596, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.01196479797363, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': 1, '2': 'two', '3': '3', '4': 4}" + ], + "asctime": "2019-12-27 21:48:47,991", + "created": 1577479727.991996, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'dict' from cache ({'1': 1, '2': 'two', '3': '3', '4': 4})", + "module": "__init__", + "msecs": 991.9960498809814, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.0539264678955, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "uncached" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.9920323, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "INFO", + "levelno": 20, + "lineno": 113, + "message": "PickCache: Key 'uncached' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 992.0322895050049, + "msg": "%s Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.09016609191895, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 992.0649528503418, + "msg": "Collecting data from cache instance.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_cached_data.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.12282943725586, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 3.266334533691406e-05 + }, + { + "args": [ + "{'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'uncached': 'uncached_data_of_class'}", + "" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.9922805, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cached data is correct (Content {'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, 'uncached': 'uncached_data_of_class'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cached data", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' }", + "" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.9921393, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cached data): { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' } ()", + "module": "test", + "msecs": 992.1393394470215, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.19721603393555, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Cached data", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' }", + "" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.9921935, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cached data): result = { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 }, 'uncached': 'uncached_data_of_class' } ()", + "module": "test", + "msecs": 992.1934604644775, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.2513370513916, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 992.2804832458496, + "msg": "Cached data is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.3383598327637, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 8.702278137207031e-05 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0010559558868408203, + "time_finished": "2019-12-27 21:48:47,992", + "time_start": "2019-12-27 21:48:47,991" + }, + "caching.property_cache_pickle: Test execution of save callback (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:48,014", + "created": 1577479728.0141697, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 50, + "message": "caching.property_cache_pickle: Test execution of save callback (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 14.169692993164062, + "msg": "caching.property_cache_pickle: Test execution of save callback (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 301.2275695800781, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:48,014", + "created": 1577479728.0147393, + "exc_info": null, + "exc_text": null, + "filename": "test_save_callback.py", + "funcName": "save_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Installing save_callback, which sets a variable to True on execution.", + "module": "test_save_callback", + "moduleLogger": [], + "msecs": 14.739274978637695, + "msg": "Installing save_callback, which sets a variable to True on execution.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_save_callback.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 301.79715156555176, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "True", + "" + ], + "asctime": "2019-12-27 21:48:48,016", + "created": 1577479728.016376, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Save callback execution variable is correct (Content True and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/save_callback_load_on_init.json" + ], + "asctime": "2019-12-27 21:48:48,015", + "created": 1577479728.015396, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/save_callback_load_on_init.json)", + "module": "__init__", + "msecs": 15.3961181640625, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 302.45399475097656, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution variable", + "True", + "" + ], + "asctime": "2019-12-27 21:48:48,015", + "created": 1577479728.0159948, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Save callback execution variable): True ()", + "module": "test", + "msecs": 15.994787216186523, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 303.0526638031006, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution variable", + "True", + "" + ], + "asctime": "2019-12-27 21:48:48,016", + "created": 1577479728.016203, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Save callback execution variable): result = True ()", + "module": "test", + "msecs": 16.202926635742188, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 303.26080322265625, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 16.376018524169922, + "msg": "Save callback execution variable is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 303.433895111084, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00017309188842773438 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0022063255310058594, + "time_finished": "2019-12-27 21:48:48,016", + "time_start": "2019-12-27 21:48:48,014" + }, + "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object": { + "args": null, + "asctime": "2019-12-27 21:48:47,983", + "created": 1577479727.983616, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 42, + "message": "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object", + "module": "__init__", + "moduleLogger": [], + "msecs": 983.6161136627197, + "msg": "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 270.6739902496338, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:47,984", + "created": 1577479727.984525, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,983", + "created": 1577479727.9837682, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 983.7682247161865, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 270.8261013031006, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,983", + "created": 1577479727.9839187, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 983.9186668395996, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 270.9765434265137, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:47,984", + "created": 1577479727.9840474, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 984.0474128723145, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 271.1052894592285, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,984", + "created": 1577479727.9841487, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 984.1487407684326, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 271.2066173553467, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,984", + "created": 1577479727.9843946, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl)", + "module": "__init__", + "msecs": 984.3945503234863, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 271.4524269104004, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 984.5249652862549, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 271.58284187316895, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0001304149627685547 + }, + { + "args": [ + "property_cache_pickle" + ], + "asctime": "2019-12-27 21:48:47,985", + "created": 1577479727.9850318, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Extracting storage object from property_cache_pickle for comparison.", + "module": "test_load_on_init", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,984", + "created": 1577479727.9847262, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/load_on_init.pkl)", + "module": "__init__", + "msecs": 984.7261905670166, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 271.78406715393066, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "{'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, '_property_cache_uid_': 'my_unique_id', '_property_cache_data_version_': 1}" + ], + "asctime": "2019-12-27 21:48:47,984", + "created": 1577479727.984854, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Using storage object of cache class for comparison: {'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}, '_property_cache_uid_': 'my_unique_id', '_property_cache_data_version_': 1}", + "module": "test_load_on_init", + "msecs": 984.853982925415, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 271.9118595123291, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:47,984", + "created": 1577479727.984952, + "exc_info": null, + "exc_text": null, + "filename": "test_load_on_init.py", + "funcName": "load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_load_on_init", + "msecs": 984.9519729614258, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 272.00984954833984, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 985.0318431854248, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 272.08971977233887, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 7.987022399902344e-05 + }, + { + "args": [ + "{'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}}", + "" + ], + "asctime": "2019-12-27 21:48:47,985", + "created": 1577479727.985835, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cache object is correct (Content {'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [1, 'two', '3', 4], 'dict': {'1': 1, '2': 'two', '3': '3', '4': 4}} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache object", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 } }", + "" + ], + "asctime": "2019-12-27 21:48:47,985", + "created": 1577479727.9852505, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache object): { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 } } ()", + "module": "test", + "msecs": 985.2504730224609, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 272.308349609375, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Cache object", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 } }", + "" + ], + "asctime": "2019-12-27 21:48:47,985", + "created": 1577479727.9854167, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache object): result = { 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 } } ()", + "module": "test", + "msecs": 985.4166507720947, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 272.4745273590088, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 985.835075378418, + "msg": "Cache object is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 272.89295196533203, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0004184246063232422 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.002218961715698242, + "time_finished": "2019-12-27 21:48:47,985", + "time_start": "2019-12-27 21:48:47,983" + }, + "caching.property_cache_pickle: Test get from source caused by changed uid (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:48,002", + "created": 1577479728.0029087, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 48, + "message": "caching.property_cache_pickle: Test get from source caused by changed uid (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 2.9087066650390625, + "msg": "caching.property_cache_pickle: Test get from source caused by changed uid (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 289.9665832519531, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:48,004", + "created": 1577479728.0045407, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:48,003", + "created": 1577479728.0033116, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 3.311634063720703, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 290.36951065063477, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,003", + "created": 1577479728.003592, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 3.5920143127441406, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 290.6498908996582, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:48,003", + "created": 1577479728.0038369, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 3.8368701934814453, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 290.8947467803955, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:48,003", + "created": 1577479728.0039675, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 3.9675235748291016, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 291.02540016174316, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,004", + "created": 1577479728.0042646, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 4.264593124389648, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 291.3224697113037, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 4.540681838989258, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 291.5985584259033, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0002760887145996094 + }, + { + "args": [ + "{'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}}", + "" + ], + "asctime": "2019-12-27 21:48:48,007", + "created": 1577479728.007305, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after changing uid is correct (Content {'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,005", + "created": 1577479728.0050027, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 5.002737045288086, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 292.06061363220215, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:48,005", + "created": 1577479728.0052269, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 128, + "message": "PickCache: Source uid changed, ignoring previous cache data", + "module": "__init__", + "msecs": 5.226850509643555, + "msg": "%s Source uid changed, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 292.2847270965576, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:48,005", + "created": 1577479728.005477, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 5.476951599121094, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 292.53482818603516, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,005", + "created": 1577479728.0059338, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 5.9337615966796875, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 292.99163818359375, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:48,006", + "created": 1577479728.0063214, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'str' from cache ('__string__')", + "module": "__init__", + "msecs": 6.321430206298828, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 293.3793067932129, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "'__unicode__'" + ], + "asctime": "2019-12-27 21:48:48,006", + "created": 1577479728.0065446, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'unicode' from cache ('__unicode__')", + "module": "__init__", + "msecs": 6.544589996337891, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 293.60246658325195, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:48,006", + "created": 1577479728.0067358, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'integer' from cache (34)", + "module": "__init__", + "msecs": 6.735801696777344, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 293.7936782836914, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:48,006", + "created": 1577479728.006852, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'float' from cache (2.71828)", + "module": "__init__", + "msecs": 6.851911544799805, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 293.90978813171387, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:48,006", + "created": 1577479728.0069141, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'list' from cache (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 6.9141387939453125, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 293.9720153808594, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': '1', '2': 2, '3': 'three', '4': '4'}" + ], + "asctime": "2019-12-27 21:48:48,006", + "created": 1577479728.0069714, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'dict' from cache ({'1': '1', '2': 2, '3': 'three', '4': '4'})", + "module": "__init__", + "msecs": 6.9713592529296875, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 294.02923583984375, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:48,007", + "created": 1577479728.0070708, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after changing uid): { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 7.070779800415039, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 294.1286563873291, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:48,007", + "created": 1577479728.007171, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after changing uid): result = { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 7.170915603637695, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 294.22879219055176, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 7.304906845092773, + "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 294.36278343200684, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00013399124145507812 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.004396200180053711, + "time_finished": "2019-12-27 21:48:48,007", + "time_start": "2019-12-27 21:48:48,002" + }, + "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:48,007", + "created": 1577479728.0074735, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 49, + "message": "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 7.473468780517578, + "msg": "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 294.53134536743164, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:48,008", + "created": 1577479728.0082824, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:48,007", + "created": 1577479728.0075858, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 7.585763931274414, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 294.6436405181885, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,007", + "created": 1577479728.0077124, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 7.712364196777344, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 294.7702407836914, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:48,007", + "created": 1577479728.0078623, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 7.862329483032227, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 294.9202060699463, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:48,007", + "created": 1577479728.007977, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 7.977008819580078, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 295.03488540649414, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,008", + "created": 1577479728.008161, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 8.161067962646484, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 295.21894454956055, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 8.28242301940918, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 295.34029960632324, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00012135505676269531 + }, + { + "args": [ + "{'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}}", + "" + ], + "asctime": "2019-12-27 21:48:48,013", + "created": 1577479728.013194, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after changing uid is correct (Content {'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,008", + "created": 1577479728.008493, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 8.49294662475586, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 295.5508232116699, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:48,008", + "created": 1577479728.0085917, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 128, + "message": "PickCache: Source uid changed, ignoring previous cache data", + "module": "__init__", + "msecs": 8.591651916503906, + "msg": "%s Source uid changed, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 295.64952850341797, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,008", + "created": 1577479728.0087507, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 8.750677108764648, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 295.8085536956787, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:48,008", + "created": 1577479728.0089312, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'str' from source instance ('__string__')", + "module": "__init__", + "msecs": 8.931159973144531, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 295.9890365600586, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,009", + "created": 1577479728.0090873, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 9.087324142456055, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 296.1452007293701, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "'__unicode__'" + ], + "asctime": "2019-12-27 21:48:48,009", + "created": 1577479728.0092506, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'unicode' from source instance ('__unicode__')", + "module": "__init__", + "msecs": 9.250640869140625, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 296.3085174560547, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,009", + "created": 1577479728.009396, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 9.396076202392578, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 296.45395278930664, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:48,009", + "created": 1577479728.009722, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'integer' from source instance (34)", + "module": "__init__", + "msecs": 9.721994400024414, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 296.7798709869385, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,009", + "created": 1577479728.0099049, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 9.904861450195312, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 296.9627380371094, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:48,010", + "created": 1577479728.0101912, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'float' from source instance (2.71828)", + "module": "__init__", + "msecs": 10.191202163696289, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 297.24907875061035, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,010", + "created": 1577479728.0104876, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 10.487556457519531, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 297.5454330444336, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:48,010", + "created": 1577479728.0108016, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'list' from source instance (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 10.801553726196289, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 297.85943031311035, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,011", + "created": 1577479728.0110416, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 11.041641235351562, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 298.0995178222656, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': '1', '2': 2, '3': 'three', '4': '4'}" + ], + "asctime": "2019-12-27 21:48:48,011", + "created": 1577479728.0113354, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'dict' from source instance ({'1': '1', '2': 2, '3': 'three', '4': '4'})", + "module": "__init__", + "msecs": 11.335372924804688, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 298.39324951171875, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,011", + "created": 1577479728.0116067, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/uid_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 11.606693267822266, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 298.6645698547363, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:48,012", + "created": 1577479728.012, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after changing uid): { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 12.000083923339844, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 299.0579605102539, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after changing uid", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:48,012", + "created": 1577479728.0122213, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after changing uid): result = { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 12.221336364746094, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 299.27921295166016, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 13.194084167480469, + "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 300.25196075439453, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.000972747802734375 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.005720615386962891, + "time_finished": "2019-12-27 21:48:48,013", + "time_start": "2019-12-27 21:48:48,007" + }, + "caching.property_cache_pickle: Test get from source caused by increased data version (full init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.9923637, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 46, + "message": "caching.property_cache_pickle: Test get from source caused by increased data version (full init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 992.363691329956, + "msg": "caching.property_cache_pickle: Test get from source caused by increased data version (full init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.4215679168701, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.9927313, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.992428, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 992.4280643463135, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.48594093322754, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.992488, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 992.487907409668, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.54578399658203, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.9925458, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 992.5458431243896, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.6037197113037, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.9925914, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 992.591381072998, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.6492576599121, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.9926765, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 992.6764965057373, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.73437309265137, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 992.7313327789307, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.7892093658447, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 5.4836273193359375e-05 + }, + { + "args": [ + "{'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}}", + "" + ], + "asctime": "2019-12-27 21:48:47,995", + "created": 1577479727.9951472, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after increasing data_version is correct (Content {'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.992872, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 992.8719997406006, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.92987632751465, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:47,992", + "created": 1577479727.9929297, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 130, + "message": "PickCache: Data version increased, ignoring previous cache data", + "module": "__init__", + "msecs": 992.9296970367432, + "msg": "%s Data version increased, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 279.9875736236572, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,993", + "created": 1577479727.9930553, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 993.0553436279297, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 280.11322021484375, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,993", + "created": 1577479727.99339, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 993.3900833129883, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 280.44795989990234, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:47,993", + "created": 1577479727.993839, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'str' from cache ('__string__')", + "module": "__init__", + "msecs": 993.8390254974365, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 280.8969020843506, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "'__unicode__'" + ], + "asctime": "2019-12-27 21:48:47,994", + "created": 1577479727.9940164, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'unicode' from cache ('__unicode__')", + "module": "__init__", + "msecs": 994.0164089202881, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 281.07428550720215, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:47,994", + "created": 1577479727.9941385, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'integer' from cache (34)", + "module": "__init__", + "msecs": 994.1384792327881, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 281.19635581970215, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:47,994", + "created": 1577479727.9942782, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'float' from cache (2.71828)", + "module": "__init__", + "msecs": 994.2781925201416, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 281.33606910705566, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:47,994", + "created": 1577479727.9944293, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'list' from cache (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 994.429349899292, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 281.48722648620605, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': '1', '2': 2, '3': 'three', '4': '4'}" + ], + "asctime": "2019-12-27 21:48:47,994", + "created": 1577479727.9945772, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 110, + "message": "PickCache: Providing property for 'dict' from cache ({'1': '1', '2': 2, '3': 'three', '4': '4'})", + "module": "__init__", + "msecs": 994.577169418335, + "msg": "%s Providing property for '%s' from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 281.635046005249, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:47,994", + "created": 1577479727.9948094, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after increasing data_version): { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 994.8093891143799, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 281.86726570129395, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:47,994", + "created": 1577479727.9949942, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after increasing data_version): result = { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 994.9941635131836, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 282.05204010009766, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 995.1472282409668, + "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 282.20510482788086, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00015306472778320312 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.002783536911010742, + "time_finished": "2019-12-27 21:48:47,995", + "time_start": "2019-12-27 21:48:47,992" + }, + "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)": { + "args": null, + "asctime": "2019-12-27 21:48:47,995", + "created": 1577479727.9953313, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 47, + "message": "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)", + "module": "__init__", + "moduleLogger": [], + "msecs": 995.3312873840332, + "msg": "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 282.38916397094727, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:47,997", + "created": 1577479727.9979944, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,995", + "created": 1577479727.9955862, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 995.5861568450928, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 282.64403343200684, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,996", + "created": 1577479727.9961236, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 996.1235523223877, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 283.18142890930176, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:47,996", + "created": 1577479727.9965453, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 996.5453147888184, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 283.6031913757324, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['str', 'unicode', 'integer', 'float', 'list', 'dict']" + ], + "asctime": "2019-12-27 21:48:47,996", + "created": 1577479727.9969301, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict']", + "module": "__init__", + "msecs": 996.9301223754883, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 283.98799896240234, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,997", + "created": 1577479727.997557, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 997.5569248199463, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 284.61480140686035, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 997.9944229125977, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 285.0522994995117, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0004374980926513672 + }, + { + "args": [ + "{'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}}", + "" + ], + "asctime": "2019-12-27 21:48:48,002", + "created": 1577479728.002452, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Instance data after increasing data_version is correct (Content {'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': ['one', 2, 3, '4'], 'dict': {'1': '1', '2': 2, '3': 'three', '4': '4'}} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,998", + "created": 1577479727.9986508, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 998.6507892608643, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 285.7086658477783, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:47,998", + "created": 1577479727.998823, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 130, + "message": "PickCache: Data version increased, ignoring previous cache data", + "module": "__init__", + "msecs": 998.8229274749756, + "msg": "%s Data version increased, ignoring previous cache data", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 285.88080406188965, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,999", + "created": 1577479727.9992151, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 999.2151260375977, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 286.2730026245117, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "str", + "'__string__'" + ], + "asctime": "2019-12-27 21:48:47,999", + "created": 1577479727.9994075, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'str' from source instance ('__string__')", + "module": "__init__", + "msecs": 999.4075298309326, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 286.4654064178467, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,999", + "created": 1577479727.999684, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 999.6840953826904, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 286.7419719696045, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "'__unicode__'" + ], + "asctime": "2019-12-27 21:48:47,999", + "created": 1577479727.9999974, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'unicode' from source instance ('__unicode__')", + "module": "__init__", + "msecs": 999.9973773956299, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 287.05525398254395, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,000", + "created": 1577479728.0003345, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 0.3345012664794922, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 287.39237785339355, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "34" + ], + "asctime": "2019-12-27 21:48:48,000", + "created": 1577479728.0006487, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'integer' from source instance (34)", + "module": "__init__", + "msecs": 0.6487369537353516, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 287.7066135406494, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,000", + "created": 1577479728.000819, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 0.8189678192138672, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 287.87684440612793, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "float", + "2.71828" + ], + "asctime": "2019-12-27 21:48:48,001", + "created": 1577479728.001025, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'float' from source instance (2.71828)", + "module": "__init__", + "msecs": 1.0249614715576172, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 288.0828380584717, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,001", + "created": 1577479728.0011868, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 1.1868476867675781, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 288.24472427368164, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "list", + "['one', 2, 3, '4']" + ], + "asctime": "2019-12-27 21:48:48,001", + "created": 1577479728.0013814, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'list' from source instance (['one', 2, 3, '4'])", + "module": "__init__", + "msecs": 1.3813972473144531, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 288.4392738342285, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,001", + "created": 1577479728.0015213, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 1.5213489532470703, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 288.57922554016113, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "dict", + "{'1': '1', '2': 2, '3': 'three', '4': '4'}" + ], + "asctime": "2019-12-27 21:48:48,001", + "created": 1577479728.0017824, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'dict' from source instance ({'1': '1', '2': 2, '3': 'three', '4': '4'})", + "module": "__init__", + "msecs": 1.7824172973632812, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 288.84029388427734, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:48,001", + "created": 1577479728.0019205, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/data_version_test_no_load_on_init.pkl)", + "module": "__init__", + "msecs": 1.920461654663086, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 288.97833824157715, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:48,002", + "created": 1577479728.0021555, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Instance data after increasing data_version): { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 2.1555423736572266, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 289.2134189605713, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Instance data after increasing data_version", + "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "" + ], + "asctime": "2019-12-27 21:48:48,002", + "created": 1577479728.00226, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Instance data after increasing data_version): result = { 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } } ()", + "module": "test", + "msecs": 2.259969711303711, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 289.3178462982178, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 2.4518966674804688, + "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 289.50977325439453, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0001919269561767578 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.007120609283447266, + "time_finished": "2019-12-27 21:48:48,002", + "time_start": "2019-12-27 21:48:47,995" + }, + "caching.property_cache_pickle: Test internal key usage": { + "args": null, + "asctime": "2019-12-27 21:48:48,016", + "created": 1577479728.016817, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 51, + "message": "caching.property_cache_pickle: Test internal key usage", + "module": "__init__", + "moduleLogger": [], + "msecs": 16.817092895507812, + "msg": "caching.property_cache_pickle: Test internal key usage", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 303.8749694824219, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "True" + ], + "asctime": "2019-12-27 21:48:48,018", + "created": 1577479728.0183878, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:48,017", + "created": 1577479728.0170236, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 17.023563385009766, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 304.0814399719238, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl" + ], + "asctime": "2019-12-27 21:48:48,017", + "created": 1577479728.0171754, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl as cache file.", + "module": "test_helpers", + "msecs": 17.17543601989746, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 304.2333126068115, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:48,017", + "created": 1577479728.0174432, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 17.443180084228516, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 304.5010566711426, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "['_property_cache_uid_', '__property_cache_uid_', '_property_cache_data_version_', '__property_cache_data_version_']" + ], + "asctime": "2019-12-27 21:48:48,017", + "created": 1577479728.0177383, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "PickCache: Loading all data from source - ['_property_cache_uid_', '__property_cache_uid_', '_property_cache_data_version_', '__property_cache_data_version_']", + "module": "__init__", + "msecs": 17.73834228515625, + "msg": "%s Loading all data from source - %s", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 304.7962188720703, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl" + ], + "asctime": "2019-12-27 21:48:48,018", + "created": 1577479728.0181768, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl)", + "module": "__init__", + "msecs": 18.176794052124023, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 305.2346706390381, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 18.387794494628906, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 305.44567108154297, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0002110004425048828 + }, + { + "args": [ + "property_cache_pickle" + ], + "asctime": "2019-12-27 21:48:48,018", + "created": 1577479728.0189862, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Extracting storage object from property_cache_pickle for comparison.", + "module": "test_internal_keys", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl" + ], + "asctime": "2019-12-27 21:48:48,018", + "created": 1577479728.0186946, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/internal_keys_test.pkl)", + "module": "__init__", + "msecs": 18.694639205932617, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 305.7525157928467, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "{'__property_cache_uid_': 'no uid', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '___property_cache_data_version_': 'no second data version', '_property_cache_uid_': 'my_unique_id', '_property_cache_data_version_': 1}" + ], + "asctime": "2019-12-27 21:48:48,018", + "created": 1577479728.0188084, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Using storage object of cache class for comparison: {'__property_cache_uid_': 'no uid', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '___property_cache_data_version_': 'no second data version', '_property_cache_uid_': 'my_unique_id', '_property_cache_data_version_': 1}", + "module": "test_internal_keys", + "msecs": 18.808364868164062, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 305.8662414550781, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:48,018", + "created": 1577479728.0189018, + "exc_info": null, + "exc_text": null, + "filename": "test_internal_keys.py", + "funcName": "test_internal_keys", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_internal_keys", + "msecs": 18.901824951171875, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 305.95970153808594, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 18.986225128173828, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_internal_keys.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 306.0441017150879, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 8.440017700195312e-05 + }, + { + "args": [ + "{'__property_cache_uid_': 'no uid', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '___property_cache_data_version_': 'no second data version'}", + "" + ], + "asctime": "2019-12-27 21:48:48,019", + "created": 1577479728.019311, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cache is correct (Content {'__property_cache_uid_': 'no uid', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '___property_cache_data_version_': 'no second data version'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache", + "{ '__property_cache_uid_': 'no uid', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '___property_cache_data_version_': 'no second data version' }", + "" + ], + "asctime": "2019-12-27 21:48:48,019", + "created": 1577479728.0191293, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache): { '__property_cache_uid_': 'no uid', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '___property_cache_data_version_': 'no second data version' } ()", + "module": "test", + "msecs": 19.129276275634766, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 306.1871528625488, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Cache", + "{ '__property_cache_uid_': 'no uid', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '___property_cache_data_version_': 'no second data version' }", + "" + ], + "asctime": "2019-12-27 21:48:48,019", + "created": 1577479728.0192106, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache): result = { '__property_cache_uid_': 'no uid', '___property_cache_uid_': 'no second uid', '__property_cache_data_version_': 'no data version', '___property_cache_data_version_': 'no second data version' } ()", + "module": "test", + "msecs": 19.2105770111084, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 306.26845359802246, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 19.310951232910156, + "msg": "Cache is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 306.3688278198242, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.00010037422180175781 + }, + { + "args": [ + "5", + "" + ], + "asctime": "2019-12-27 21:48:48,019", + "created": 1577479728.019684, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Keyfilter returnvalue for 5 () is correct (Content 5 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Keyfilter returnvalue for 5 ()", + "5", + "" + ], + "asctime": "2019-12-27 21:48:48,019", + "created": 1577479728.0194407, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Keyfilter returnvalue for 5 ()): 5 ()", + "module": "test", + "msecs": 19.440650939941406, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 306.49852752685547, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Keyfilter returnvalue for 5 ()", + "5", + "" + ], + "asctime": "2019-12-27 21:48:48,019", + "created": 1577479728.0195959, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Keyfilter returnvalue for 5 ()): result = 5 ()", + "module": "test", + "msecs": 19.595861434936523, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 306.6537380218506, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 19.6840763092041, + "msg": "Keyfilter returnvalue for 5 () is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 306.74195289611816, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 8.821487426757812e-05 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.002866983413696289, + "time_finished": "2019-12-27 21:48:48,019", + "time_start": "2019-12-27 21:48:48,016" + }, + "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object": { + "args": null, + "asctime": "2019-12-27 21:48:47,986", + "created": 1577479727.9861565, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testrun", + "levelname": "INFO", + "levelno": 20, + "lineno": 43, + "message": "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object", + "module": "__init__", + "moduleLogger": [], + "msecs": 986.1564636230469, + "msg": "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 273.21434020996094, + "stack_info": null, + "testcaseLogger": [ + { + "args": [ + "property_cache_pickle", + "False" + ], + "asctime": "2019-12-27 21:48:47,986", + "created": 1577479727.9869711, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 24, + "message": "Initialising property_cache_pickle (load_all_on_init=False).", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2019-12-27 21:48:47,986", + "created": 1577479727.98636, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 986.3600730895996, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 273.4179496765137, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,986", + "created": 1577479727.98652, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "init_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 21, + "message": "Initialising cached class with /user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl as cache file.", + "module": "test_helpers", + "msecs": 986.5200519561768, + "msg": "Initialising cached class with %s as cache file.", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 273.5779285430908, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:" + ], + "asctime": "2019-12-27 21:48:47,986", + "created": 1577479727.9866483, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 145, + "message": "PickCache: Cache file does not exists (yet).", + "module": "__init__", + "msecs": 986.6483211517334, + "msg": "%s Cache file does not exists (yet).", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 273.70619773864746, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,986", + "created": 1577479727.9868388, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl)", + "module": "__init__", + "msecs": 986.8388175964355, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 273.8966941833496, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 986.9711399078369, + "msg": "Initialising %s (load_all_on_init=%s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_helpers.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 274.029016494751, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.0001323223114013672 + }, + { + "args": [], + "asctime": "2019-12-27 21:48:47,988", + "created": 1577479727.9882383, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 18, + "message": "Partially initialising cache object by requesting some information.", + "module": "test_no_load_on_init", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "str", + "'string'" + ], + "asctime": "2019-12-27 21:48:47,987", + "created": 1577479727.9871259, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'str' from source instance ('string')", + "module": "__init__", + "msecs": 987.1258735656738, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 274.1837501525879, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,987", + "created": 1577479727.9873078, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl)", + "module": "__init__", + "msecs": 987.3077869415283, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 274.3656635284424, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "unicode", + "'unicode'" + ], + "asctime": "2019-12-27 21:48:47,987", + "created": 1577479727.9875822, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'unicode' from source instance ('unicode')", + "module": "__init__", + "msecs": 987.5822067260742, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 274.6400833129883, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,987", + "created": 1577479727.9877634, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl)", + "module": "__init__", + "msecs": 987.7634048461914, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 274.82128143310547, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "integer", + "17" + ], + "asctime": "2019-12-27 21:48:47,987", + "created": 1577479727.9879904, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 106, + "message": "PickCache: Loading property for 'integer' from source instance (17)", + "module": "__init__", + "msecs": 987.9903793334961, + "msg": "%s Loading property for '%s' from source instance (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 275.04825592041016, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,988", + "created": 1577479727.988154, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 167, + "message": "PickCache: cache-file stored (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl)", + "module": "__init__", + "msecs": 988.1539344787598, + "msg": "%s cache-file stored (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 275.2118110656738, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 988.2383346557617, + "msg": "Partially initialising cache object by requesting some information.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 275.2962112426758, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 8.440017700195312e-05 + }, + { + "args": [ + "property_cache_pickle" + ], + "asctime": "2019-12-27 21:48:47,988", + "created": 1577479727.988548, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 27, + "message": "Extracting storage object from property_cache_pickle for comparison.", + "module": "test_no_load_on_init", + "moduleLogger": [ + { + "args": [ + "PickCache:", + "/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl" + ], + "asctime": "2019-12-27 21:48:47,988", + "created": 1577479727.9883535, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "PickCache: Loading properties from cache (/user_data/data/dirk/prj/modules/caching/unittest/output_data/no_load_on_init.pkl)", + "module": "__init__", + "msecs": 988.3534908294678, + "msg": "%s Loading properties from cache (%s)", + "name": "CACHING", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/caching/__init__.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 275.41136741638184, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "{'_property_cache_uid_': 'my_unique_id', '_property_cache_data_version_': 1, 'str': 'string', 'unicode': 'unicode', 'integer': 17}" + ], + "asctime": "2019-12-27 21:48:47,988", + "created": 1577479727.988425, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 23, + "message": "Using storage object of cache class for comparison: {'_property_cache_uid_': 'my_unique_id', '_property_cache_data_version_': 1, 'str': 'string', 'unicode': 'unicode', 'integer': 17}", + "module": "test_no_load_on_init", + "msecs": 988.4250164031982, + "msg": "Using storage object of cache class for comparison: %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 275.4828929901123, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "_property_cache_data_version_", + "_property_cache_uid_" + ], + "asctime": "2019-12-27 21:48:47,988", + "created": 1577479727.9884996, + "exc_info": null, + "exc_text": null, + "filename": "test_no_load_on_init.py", + "funcName": "no_load_on_init", + "levelname": "INFO", + "levelno": 20, + "lineno": 24, + "message": "Deleting overhead keys: _property_cache_data_version_, _property_cache_uid_", + "module": "test_no_load_on_init", + "msecs": 988.499641418457, + "msg": "Deleting overhead keys: %s, %s", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 275.5575180053711, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 988.5480403900146, + "msg": "Extracting storage object from %s for comparison.", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/tests/test_no_load_on_init.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 275.6059169769287, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 4.839897155761719e-05 + }, + { + "args": [ + "{'str': 'string', 'unicode': 'unicode', 'integer': 17}", + "" + ], + "asctime": "2019-12-27 21:48:47,988", + "created": 1577479727.9888241, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 142, + "message": "Cache object is correct (Content {'str': 'string', 'unicode': 'unicode', 'integer': 17} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Cache object", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17 }", + "" + ], + "asctime": "2019-12-27 21:48:47,988", + "created": 1577479727.9886544, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Cache object): { 'str': 'string', 'unicode': 'unicode', 'integer': 17 } ()", + "module": "test", + "msecs": 988.654375076294, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 275.712251663208, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + }, + { + "args": [ + "Cache object", + "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17 }", + "" + ], + "asctime": "2019-12-27 21:48:47,988", + "created": 1577479727.988727, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation_equivalency__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Cache object): result = { 'str': 'string', 'unicode': 'unicode', 'integer': 17 } ()", + "module": "test", + "msecs": 988.7270927429199, + "msg": "Expectation (%s): result = %s (%s)", + "name": "__unittest__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 275.784969329834, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread" + } + ], + "msecs": 988.8241291046143, + "msg": "Cache object is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/user_data/data/dirk/prj/modules/caching/unittest/src/unittest/test.py", + "process": 7956, + "processName": "MainProcess", + "relativeCreated": 275.8820056915283, + "stack_info": null, + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 9.703636169433594e-05 + } + ], + "thread": 140673488709440, + "threadName": "MainThread", + "time_consumption": 0.002667665481567383, + "time_finished": "2019-12-27 21:48:47,988", + "time_start": "2019-12-27 21:48:47,986" + } + }, + "testrun_id": "p3", + "time_consumption": 0.09304237365722656, + "uid_list_sorted": [ + "caching.property_cache_json: Test full initialised JSON-Cache-Object", + "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object", + "caching.property_cache_json: Test cached data (full init)", + "caching.property_cache_json: Test cached data (partially init)", + "caching.property_cache_json: Test get from source caused by increased data version (full init)", + "caching.property_cache_json: Test get from source caused by increased data version (partially init)", + "caching.property_cache_json: Test get from source caused by changed uid (full init)", + "caching.property_cache_json: Test get from source caused by changed uid (partially init)", + "caching.property_cache_json: Test execution of save callback (full init)", + "caching.property_cache_json: Test internal key usage", + "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object", + "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object", + "caching.property_cache_pickle: Test cached data (full init)", + "caching.property_cache_pickle: Test cached data (partially init)", + "caching.property_cache_pickle: Test get from source caused by increased data version (full init)", + "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)", + "caching.property_cache_pickle: Test get from source caused by changed uid (full init)", + "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)", + "caching.property_cache_pickle: Test execution of save callback (full init)", + "caching.property_cache_pickle: Test internal key usage" + ] + } + ], + "unittest_information": { + "Version": "e113c3759194c81e7df9e29b1debe00d" + } +} \ No newline at end of file diff --git a/_testresults_/unittest.pdf b/_testresults_/unittest.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fc54949bdf2aee10aa0ea311c2e5b2160507c823 GIT binary patch literal 323950 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ωc4eHsa9$u( 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