From ed1082041f8b7940e5ed6238eead2b97a5b3e862 Mon Sep 17 00:00:00 2001 From: Dirk Alders Date: Sun, 29 Sep 2024 22:14:39 +0200 Subject: [PATCH] Release 577b0566ea65d16ab78f897274c3f04f --- __init__.py | 46 +- _requirements_/specification.pdf | Bin 0 -> 98502 bytes _testresults_/unittest.json | 17831 +++++++++++++++++++++++------ _testresults_/unittest.pdf | Bin 250461 -> 297918 bytes 4 files changed, 14193 insertions(+), 3684 deletions(-) create mode 100644 _requirements_/specification.pdf diff --git a/__init__.py b/__init__.py index 58b499a..39f870a 100644 --- a/__init__.py +++ b/__init__.py @@ -54,7 +54,7 @@ class property_cache_pickle(object): * **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. - + :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 @@ -97,13 +97,14 @@ class property_cache_pickle(object): # STORAGE_VERSION = 1 - def __init__(self, source_instance, cache_filename, load_all_on_init=False, callback_on_data_storage=None, max_age=None, store_on_get=True): + def __init__(self, source_instance, cache_filename, load_all_on_init=False, callback_on_data_storage=None, max_age=None, store_on_get=True, return_source_on_none=False): 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._max_age = max_age self._store_on_get = store_on_get + self._return_source_on_none = return_source_on_none # self._source_get_keys = [] self._cached_props = None @@ -163,11 +164,14 @@ class property_cache_pickle(object): return val else: logger.debug("Providing property for '%s' from cache", key) - return self._cached_props[self.DATA_TAG].get(self._key_filter(key), default) + cached_data = self._cached_props[self.DATA_TAG].get(self._key_filter(key), default) + if cached_data is None and self._return_source_on_none: + return self._source_instance.get(key, default) + return cached_data else: if key not in self._source_instance.keys(): logger.debug("Key '%s' is not in cached_keys. Uncached data will be returned.", key) - elif key in self._source_get_keys: + else: logger.debug("Key '%s' is excluded by .add_source_get_keys(). Uncached data will be returned.", key) return self._source_instance.get(key, default) @@ -209,14 +213,15 @@ class property_cache_pickle(object): self._cached_props[self.UID_TAG] = self._source_instance.uid() self._cached_props[self.DATA_VERSION_TAG] = self._source_instance.data_version() self._cached_props[self.STORAGE_VERSION_TAG] = self.STORAGE_VERSION - if self._store_on_get: - self._save_cache() + + def _load_only(self): + with open(self._cache_filename, 'rb') as fh: + self._cached_props = pickle.load(fh) + logger.debug('Loading properties from cache (%s)', self._cache_filename) 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.debug('Loading properties from cache (%s)', self._cache_filename) + self._load_only() return True else: logger.debug('Cache file does not exists (yet).') @@ -235,10 +240,13 @@ class property_cache_pickle(object): self._cached_props[self.AGE_TAG][self._key_filter(key)] = int(time.time()) time.sleep(sleep_between_keys) - def _save_cache(self): + def _save_only(self): with open(self._cache_filename, 'wb') as fh: pickle.dump(self._cached_props, fh) logger.debug('cache-file stored (%s)', self._cache_filename) + + def _save_cache(self): + self._save_only() if self._callback_on_data_storage is not None: self._callback_on_data_storage(self) @@ -271,19 +279,13 @@ class property_cache_json(property_cache_pickle): .. literalinclude:: caching/_examples_/property_cache_json_2.log """ - 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.debug('Loading properties from cache (%s)', self._cache_filename) - return True - else: - logger.debug('Cache file does not exists (yet).') - return False - def _save_cache(self): + def _load_only(self): + with open(self._cache_filename, 'r') as fh: + self._cached_props = json.load(fh) + logger.debug('Loading properties from cache (%s)', self._cache_filename) + + def _save_only(self): with open(self._cache_filename, 'w') as fh: json.dump(self._cached_props, fh, sort_keys=True, indent=4) logger.debug('cache-file stored (%s)', self._cache_filename) - if self._callback_on_data_storage is not None: - self._callback_on_data_storage(self) diff --git a/_requirements_/specification.pdf b/_requirements_/specification.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b1cf9a3a35d10e9add6b0f7d8ef709c1c03e598d GIT binary patch literal 98502 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 z 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%0AS|(`8@joo+co`? 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 literal 0 HcmV?d00001 diff --git a/_testresults_/unittest.json b/_testresults_/unittest.json index 6e13469..0fb4bb5 100644 --- a/_testresults_/unittest.json +++ b/_testresults_/unittest.json @@ -1,11 +1,11 @@ { "coverage_information": [ { - "branch_coverage": 78.33, + "branch_coverage": 100.0, "filepath": "/home/dirk/my_repositories/unittest/caching/pylibs/caching", "files": [ { - "branch_coverage": 78.33, + "branch_coverage": 100.0, "filepath": "/home/dirk/my_repositories/unittest/caching/pylibs/caching/__init__.py", "fragments": [ { @@ -95,178 +95,138 @@ }, { "coverage_state": "covered", - "end": 106, + "end": 107, "start": 100 }, { "coverage_state": "clean", - "end": 107, - "start": 107 - }, - { - "coverage_state": "covered", - "end": 109, + "end": 108, "start": 108 }, { - "coverage_state": "clean", + "coverage_state": "covered", "end": 110, - "start": 110 + "start": 109 }, { - "coverage_state": "covered", + "coverage_state": "clean", "end": 111, "start": 111 }, { - "coverage_state": "clean", - "end": 117, + "coverage_state": "covered", + "end": 112, "start": 112 }, { - "coverage_state": "uncovered", - "end": 119, - "start": 118 + "coverage_state": "clean", + "end": 118, + "start": 113 + }, + { + "coverage_state": "covered", + "end": 120, + "start": 119 }, { "coverage_state": "clean", - "end": 120, - "start": 120 - }, - { - "coverage_state": "uncovered", "end": 121, "start": 121 }, { - "coverage_state": "clean", + "coverage_state": "covered", "end": 122, "start": 122 }, { - "coverage_state": "covered", + "coverage_state": "clean", "end": 123, "start": 123 }, { - "coverage_state": "clean", - "end": 132, + "coverage_state": "covered", + "end": 124, "start": 124 }, - { - "coverage_state": "uncovered", - "end": 134, - "start": 133 - }, { "coverage_state": "clean", - "end": 135, - "start": 135 + "end": 133, + "start": 125 }, { "coverage_state": "covered", + "end": 135, + "start": 134 + }, + { + "coverage_state": "clean", "end": 136, "start": 136 }, { - "coverage_state": "clean", - "end": 143, + "coverage_state": "covered", + "end": 137, "start": 137 }, { - "coverage_state": "covered", - "end": 146, - "start": 144 - }, - { - "coverage_state": "partially-covered", - "end": 147, - "start": 147 + "coverage_state": "clean", + "end": 144, + "start": 138 }, { "coverage_state": "covered", - "end": 148, - "start": 148 + "end": 149, + "start": 145 }, { "coverage_state": "clean", - "end": 149, - "start": 149 - }, - { - "coverage_state": "uncovered", - "end": 152, + "end": 150, "start": 150 }, { "coverage_state": "covered", - "end": 155, - "start": 153 - }, - { - "coverage_state": "partially-covered", - "end": 156, - "start": 156 - }, - { - "coverage_state": "covered", - "end": 161, - "start": 157 + "end": 162, + "start": 151 }, { "coverage_state": "clean", - "end": 162, - "start": 162 - }, - { - "coverage_state": "uncovered", "end": 163, "start": 163 }, { - "coverage_state": "clean", + "coverage_state": "covered", "end": 164, "start": 164 }, { - "coverage_state": "covered", - "end": 166, + "coverage_state": "clean", + "end": 165, "start": 165 }, + { + "coverage_state": "covered", + "end": 170, + "start": 166 + }, { "coverage_state": "clean", - "end": 167, - "start": 167 - }, - { - "coverage_state": "partially-covered", - "end": 168, - "start": 168 - }, - { - "coverage_state": "covered", - "end": 169, - "start": 169 - }, - { - "coverage_state": "uncovered", "end": 171, - "start": 170 + "start": 171 }, { "coverage_state": "covered", - "end": 172, + "end": 173, "start": 172 }, { "coverage_state": "clean", - "end": 173, - "start": 173 + "end": 174, + "start": 174 }, { "coverage_state": "covered", "end": 176, - "start": 174 + "start": 175 }, { "coverage_state": "clean", @@ -275,18 +235,18 @@ }, { "coverage_state": "covered", - "end": 178, + "end": 180, "start": 178 }, { "coverage_state": "clean", - "end": 179, - "start": 179 + "end": 181, + "start": 181 }, { "coverage_state": "covered", "end": 182, - "start": 180 + "start": 182 }, { "coverage_state": "clean", @@ -295,68 +255,53 @@ }, { "coverage_state": "covered", - "end": 184, + "end": 186, "start": 184 }, { "coverage_state": "clean", - "end": 185, - "start": 185 + "end": 187, + "start": 187 }, { "coverage_state": "covered", - "end": 194, - "start": 186 - }, - { - "coverage_state": "uncovered", - "end": 196, - "start": 195 + "end": 188, + "start": 188 }, { "coverage_state": "clean", - "end": 197, - "start": 197 + "end": 189, + "start": 189 }, { "coverage_state": "covered", - "end": 203, - "start": 198 - }, - { - "coverage_state": "partially-covered", - "end": 204, - "start": 204 + "end": 198, + "start": 190 }, { "coverage_state": "uncovered", - "end": 205, - "start": 205 - }, - { - "coverage_state": "covered", - "end": 211, - "start": 206 - }, - { - "coverage_state": "partially-covered", - "end": 212, - "start": 212 - }, - { - "coverage_state": "covered", - "end": 213, - "start": 213 + "end": 200, + "start": 199 }, { "coverage_state": "clean", - "end": 214, - "start": 214 + "end": 201, + "start": 201 + }, + { + "coverage_state": "covered", + "end": 215, + "start": 202 + }, + { + "coverage_state": "clean", + "end": 216, + "start": 216 }, { "coverage_state": "covered", "end": 220, - "start": 215 + "start": 217 }, { "coverage_state": "clean", @@ -365,164 +310,344 @@ }, { "coverage_state": "covered", - "end": 223, + "end": 225, "start": 222 }, { "coverage_state": "clean", - "end": 224, - "start": 224 - }, - { - "coverage_state": "covered", "end": 226, - "start": 225 - }, - { - "coverage_state": "clean", - "end": 227, - "start": 227 + "start": 226 }, { "coverage_state": "covered", "end": 228, - "start": 228 + "start": 227 }, { - "coverage_state": "partially-covered", + "coverage_state": "clean", "end": 229, "start": 229 }, { - "coverage_state": "uncovered", - "end": 230, + "coverage_state": "covered", + "end": 231, "start": 230 }, { - "coverage_state": "covered", + "coverage_state": "clean", "end": 232, - "start": 231 + "start": 232 }, { - "coverage_state": "partially-covered", - "end": 233, + "coverage_state": "covered", + "end": 241, "start": 233 }, + { + "coverage_state": "clean", + "end": 242, + "start": 242 + }, { "coverage_state": "covered", - "end": 236, - "start": 234 + "end": 246, + "start": 243 }, { "coverage_state": "clean", - "end": 237, - "start": 237 - }, - { - "coverage_state": "covered", - "end": 243, - "start": 238 - }, - { - "coverage_state": "clean", - "end": 244, - "start": 244 - }, - { - "coverage_state": "covered", "end": 247, - "start": 245 + "start": 247 }, { - "coverage_state": "clean", - "end": 248, + "coverage_state": "covered", + "end": 251, "start": 248 }, - { - "coverage_state": "covered", - "end": 249, - "start": 249 - }, { "coverage_state": "clean", - "end": 251, - "start": 250 - }, - { - "coverage_state": "covered", "end": 252, "start": 252 }, { - "coverage_state": "clean", - "end": 273, + "coverage_state": "covered", + "end": 255, "start": 253 }, + { + "coverage_state": "clean", + "end": 256, + "start": 256 + }, { "coverage_state": "covered", - "end": 279, - "start": 274 + "end": 257, + "start": 257 }, { "coverage_state": "clean", - "end": 280, - "start": 280 + "end": 259, + "start": 258 }, { "coverage_state": "covered", + "end": 260, + "start": 260 + }, + { + "coverage_state": "clean", "end": 282, - "start": 281 + "start": 261 }, { - "coverage_state": "clean", - "end": 283, + "coverage_state": "covered", + "end": 286, "start": 283 }, + { + "coverage_state": "clean", + "end": 287, + "start": 287 + }, { "coverage_state": "covered", - "end": 289, - "start": 284 + "end": 291, + "start": 288 }, { "coverage_state": "clean", "end": null, - "start": 290 + "start": 292 } ], - "line_coverage": 89.51, + "line_coverage": 98.59, "name": "caching.__init__.py" } ], - "line_coverage": 89.51, + "line_coverage": 98.59, "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" + "testcase_list": [] + }, + "specification": { + "comment": "Comment", + "item_dict": { + "_2lVAAHm7Ee-IT79pgSFFDQ": { + "Description": "The cache shall be generated by the {\\tt .get()} method, only if the cache instance parameter {\\tt store\\_on\\_get} is set to {\\tt True}.", + "Fitcriterion": "Create a caching instance with {\\tt store\\_on\\_get} set to {\\tt False}. Get every item of the source instance with the {\\tt .get()} method and check that no cache file exists.", + "Heading": "No cache generation if disabled", + "ID": "REQ-2", + "ReasonForImplementation": "Independent usage of data generation and data usage (e.g. the user requesting the data is not able to create the data).", + "last_change": "2024-09-29T18:05:55.959+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_2lVAAHm7Ee-IT79pgSFFDQ", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_3wIiEHnCEe-IT79pgSFFDQ": { + "Description": "If the cache is not available, the data shall be generated from the source instance.", + "Fitcriterion": "Caching is called without previous cache generation and the data from the source instance is completely available.", + "Heading": "Data generation from source instance, if no cache is available", + "ID": "REQ-3", + "ReasonForImplementation": "There shall be the posibility to create the cache on demand, so the fallback is to generate the data from the source instance.", + "last_change": "2024-09-29T17:51:25.429+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_3wIiEHnCEe-IT79pgSFFDQ", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_7KSpUHvGEe-DRNATe61b9w": { + "Heading": "Dump cache conditions", + "last_change": "2024-09-26T07:20:23.468+02:00", + "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg", + "system_uid": "_7KSpUHvGEe-DRNATe61b9w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_7sFo0H55Ee-p0KSarwgncw": { + "Description": "Dump the cached item, if the stored value is {\\tt None}.", + "Fitcriterion": "Create a cached instance and cache some items. One needs to have {\\tt None} as value. Generate a second cached instance with different source data (especially, the previous item with value {\\tt None} needs to have a not {\\tt None} value. Ensure, that the caching instance returns not {\\tt None} from the second source.", + "Heading": "Dump cache if stored value is \"None\"", + "ID": "REQ-14", + "ReasonForImplementation": "If no information is stored in the cache, the data shall be generated by the source instance.", + "last_change": "2024-09-29T18:58:23.985+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_7sFo0H55Ee-p0KSarwgncw", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_Ak9lcHvLEe-DRNATe61b9w": { + "Description": "Dump the complete cache, if the \\emph{data version} of the source instance is increased.", + "Fitcriterion": "Create a cached instance and cache some items. Generate a second cached instance with different source data and a increased data version. Ensure, that the cache instance returns the values from the second source. It is required to set {\\tt load\\_all\\_on\\_init} to {\\tt False} and {\\tt store\\_on\\_get} to {\\tt True}.", + "Heading": "Dump cache if data version increases", + "ID": "REQ-7", + "ReasonForImplementation": "The data version is part of the source instance. Increasing the data version indicates, that the source instance generates the data in another way or the structure of the data is changed. In that condition, the cache needs to be ignored.", + "last_change": "2024-09-29T18:39:20.499+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_Ak9lcHvLEe-DRNATe61b9w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_FX360HvLEe-DRNATe61b9w": { + "Description": "Dump the complete cache, if the \\emph{data uid} of the source instance is changed.", + "Fitcriterion": "Create a cached instance and cache some items. Generate a second cached instance with different source data and a changed data uid. Ensure, that the cache instance returns the values from the second source. It is required to set {\\tt load\\_all\\_on\\_init} to {\\tt False} and {\\tt store\\_on\\_get} to {\\tt True}.", + "Heading": "Dump cache if data uid is changed", + "ID": "REQ-8", + "ReasonForImplementation": "The data uid is part of the source instance. Changing the data uid indicates, that the source of the data created by the source instance is changed (e.g. the uid of a file or folder) and the cache needs to be ignored.", + "last_change": "2024-09-29T18:44:12.087+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_FX360HvLEe-DRNATe61b9w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_JH4owHvLEe-DRNATe61b9w": { + "Description": "Dump the complete cache, if the \\emph{storage version} of the caching class is changed.", + "Fitcriterion": "Create a cached instance and cache some items. Generate a second cached instance with different source data and a changed storage version. Ensure, that the cache instance returns the values from the second source. It is required to set {\\tt load\\_all\\_on\\_init} to {\\tt False} and {\\tt store\\_on\\_get} to {\\tt True}.", + "Heading": "Dump cache if storage version is changed", + "ID": "REQ-9", + "ReasonForImplementation": "The storage version is part of the caching class. Changing the storage version indicates, that the previously stored cache is not compatible due to new data storage and the cache needs to be ignored.", + "last_change": "2024-09-29T18:49:03.075+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_JH4owHvLEe-DRNATe61b9w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_KoUosHnGEe-IT79pgSFFDQ": { + "Description": "The full update method shall pause for a given time between every cached item.", + "Fitcriterion": "The time consumption of the method {\\tt .full\\_update()} shall consume $n$ times the given {\\tt sleep\\_time}. Where $n$ is the number of items which will be cahed from the source instance.", + "Heading": "Full update with delay between each data generation for the cache", + "ID": "REQ-4", + "ReasonForImplementation": "Load spreading in case of cyclic called {\\tt .full\\_update()}.", + "last_change": "2024-09-29T17:58:52.579+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_KoUosHnGEe-IT79pgSFFDQ", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_MR7eOHYYEem_kd-7nxt1sg": { + "Heading": "Cache generation (json / pickle)", + "last_change": "2024-09-26T07:31:32.684+02:00", + "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg", + "system_uid": "_MR7eOHYYEem_kd-7nxt1sg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_PluO4HvLEe-DRNATe61b9w": { + "Heading": "Definition of uncached data", + "last_change": "2024-09-26T07:50:16.723+02:00", + "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg", + "system_uid": "_PluO4HvLEe-DRNATe61b9w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_SVQXQHvLEe-DRNATe61b9w": { + "Description": "It shall be possible to define items which are not cached.", + "Fitcriterion": "Create a cached instance and cache some items. Generate a second cached instance with different source data and set at least one item as source item. This item should be previously cached. Ensure, that the source item isis the one from the second source instance.", + "Heading": "Define uncached data", + "ID": "REQ-10", + "ReasonForImplementation": "If there is dynamic changed data in the source instance, it shall be possible to define these items as non cached to get them always from the source instance.", + "last_change": "2024-09-29T19:06:48.179+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_SVQXQHvLEe-DRNATe61b9w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_XzMFcHYZEem_kd-7nxt1sg": { + "Description": "There shall be a method caching all information from the given instance.", + "Fitcriterion": "Caching is called twice with different data instances and the cached data from the first call is completely available.", + "Heading": "Create complete cache from the given data instance", + "ID": "REQ-1", + "ReasonForImplementation": "Independent usage of data generation and data usage (e.g. the user requesting the data is not able to create the data).", + "last_change": "2024-09-29T17:51:09.856+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_XzMFcHYZEem_kd-7nxt1sg", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_cl9LAHvLEe-DRNATe61b9w": { + "Heading": "Callback on data storage", + "last_change": "2024-09-26T07:51:05.316+02:00", + "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg", + "system_uid": "_cl9LAHvLEe-DRNATe61b9w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_e-ehkHvLEe-DRNATe61b9w": { + "Description": "The store callback shall not be executed, if no cache is stored.", + "Fitcriterion": "Initialise the cache instance without storing cache data. Ensure, that the callback is never executed.", + "Heading": "If no data is changed, no callback will be executed", + "ID": "REQ-11", + "ReasonForImplementation": "Do actions, if cache data is stored to disk.", + "last_change": "2024-09-29T20:09:52.426+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_e-ehkHvLEe-DRNATe61b9w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_eAYLEHndEe-Pc-LxwEk-3w": { + "Description": "On getting data from the cached instance, the information shall be stored in the cache file.", + "Fitcriterion": "Caching is called twice with different data instances and the cached data from the first call is available for all keys cached on the first run.", + "Heading": "Create cache partially from a given data instance by get method", + "ID": "REQ-5", + "ReasonForImplementation": "There shall be the posibility to create the cache on demand, so the fallback is to generate the data from the source instance.", + "last_change": "2024-09-29T17:52:34.022+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_eAYLEHndEe-Pc-LxwEk-3w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_ivxo8HvLEe-DRNATe61b9w": { + "Description": "The storage callback shall be called once on every {\\tt full\\_update()}.", + "Fitcriterion": "Initialise the cache instance and ensure, that the callback is executed as often as the {\\tt .full\\_update()} method is executed.", + "Heading": "Callback execution in case of a full update", + "ID": "REQ-12", + "ReasonForImplementation": "Do actions, if cache data is stored to disk.", + "last_change": "2024-09-29T20:10:52.899+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_ivxo8HvLEe-DRNATe61b9w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_r2DhcHndEe-Pc-LxwEk-3w": { + "Description": "Dump the cached item, if this item is older then the given expirery time.", + "Fitcriterion": "Create a cache instance, cache some data. Intialise a second caching instance with a different source instance and a expire time. Wait for longer than the given expiry time and check that the items from the second source instance are returned.", + "Heading": "Dump cache if time is expired", + "ID": "REQ-6", + "ReasonForImplementation": "Ensure, that the cache is updated from time to time. For example for items which do not change very often.", + "last_change": "2024-09-29T18:14:38.718+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_r2DhcHndEe-Pc-LxwEk-3w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_ty_ewHvLEe-DRNATe61b9w": { + "Description": "The storage callback, shall be called once on every {\\tt .get()}, if {\\tt storage\\_on\\_get} is set to {\\tt True}.", + "Fitcriterion": "Initialise the cache instance and ensure, that the callback is executed as often as the {\\tt .get()} method is executed.", + "Heading": "Callback execution in case of get function", + "ID": "REQ-13", + "ReasonForImplementation": "Do actions, if cache data is stored to disk.", + "last_change": "2024-09-29T19:19:08.447+02:00", + "system_type_uid": "_MR7eNHYYEem_kd-7nxt1sg", + "system_uid": "_ty_ewHvLEe-DRNATe61b9w", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + }, + "_xx67YHm7Ee-IT79pgSFFDQ": { + "Description": "", + "Heading": "Load spreading for full update", + "last_change": "2024-09-29T17:54:13.292+02:00", + "system_type_uid": "_4-K5EHYYEem_kd-7nxt1sg", + "system_uid": "_xx67YHm7Ee-IT79pgSFFDQ", + "xml_tag": "{http://www.omg.org/spec/ReqIF/20110401/reqif.xsd}SPEC-OBJECT" + } + }, + "titel": "Caching Module", + "uid_list_sorted": [ + "_MR7eOHYYEem_kd-7nxt1sg", + "_3wIiEHnCEe-IT79pgSFFDQ", + "_XzMFcHYZEem_kd-7nxt1sg", + "_eAYLEHndEe-Pc-LxwEk-3w", + "_xx67YHm7Ee-IT79pgSFFDQ", + "_KoUosHnGEe-IT79pgSFFDQ", + "_2lVAAHm7Ee-IT79pgSFFDQ", + "_7KSpUHvGEe-DRNATe61b9w", + "_r2DhcHndEe-Pc-LxwEk-3w", + "_Ak9lcHvLEe-DRNATe61b9w", + "_FX360HvLEe-DRNATe61b9w", + "_JH4owHvLEe-DRNATe61b9w", + "_7sFo0H55Ee-p0KSarwgncw", + "_PluO4HvLEe-DRNATe61b9w", + "_SVQXQHvLEe-DRNATe61b9w", + "_cl9LAHvLEe-DRNATe61b9w", + "_e-ehkHvLEe-DRNATe61b9w", + "_ivxo8HvLEe-DRNATe61b9w", + "_ty_ewHvLEe-DRNATe61b9w" ] }, - "specification": {}, "system_information": { "Architecture": "64bit", "Distribution": "Debian GNU/Linux 12 bookworm", @@ -539,17 +664,37 @@ "Name": "caching", "State": "Released", "Supported Interpreters": "python3", - "Version": "5b76bef0032d8f8905a892a334f0f5b8" + "Version": "577b0566ea65d16ab78f897274c3f04f" }, "testrun_list": [ { - "heading_dict": {}, + "heading_dict": { + "_2lVAAHm7Ee-IT79pgSFFDQ": "No cache generation if disabled", + "_3wIiEHnCEe-IT79pgSFFDQ": "Data generation from source instance, if no cache is available", + "_7KSpUHvGEe-DRNATe61b9w": "Dump cache conditions", + "_7sFo0H55Ee-p0KSarwgncw": "Dump cache if stored value is \"None\"", + "_Ak9lcHvLEe-DRNATe61b9w": "Dump cache if data version increases", + "_FX360HvLEe-DRNATe61b9w": "Dump cache if data uid is changed", + "_JH4owHvLEe-DRNATe61b9w": "Dump cache if storage version is changed", + "_KoUosHnGEe-IT79pgSFFDQ": "Full update with delay between each data generation for the cache", + "_MR7eOHYYEem_kd-7nxt1sg": "Cache generation (json / pickle)", + "_PluO4HvLEe-DRNATe61b9w": "Definition of uncached data", + "_SVQXQHvLEe-DRNATe61b9w": "Define uncached data", + "_XzMFcHYZEem_kd-7nxt1sg": "Create complete cache from the given data instance", + "_cl9LAHvLEe-DRNATe61b9w": "Callback on data storage", + "_e-ehkHvLEe-DRNATe61b9w": "If no data is changed, no callback will be executed", + "_eAYLEHndEe-Pc-LxwEk-3w": "Create cache partially from a given data instance by get method", + "_ivxo8HvLEe-DRNATe61b9w": "Callback execution in case of a full update", + "_r2DhcHndEe-Pc-LxwEk-3w": "Dump cache if time is expired", + "_ty_ewHvLEe-DRNATe61b9w": "Callback execution in case of get function", + "_xx67YHm7Ee-IT79pgSFFDQ": "Load spreading for full update" + }, "interpreter": "python 3.11.2 (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, + "number_of_successfull_tests": 14, + "number_of_tests": 14, "testcase_execution_level": 90, "testcase_names": { "0": "Single Test", @@ -558,10 +703,10 @@ "90": "Full Test (all defined tests)" }, "testcases": { - "caching.property_cache_json: Test cached data (full init)": { + "_2lVAAHm7Ee-IT79pgSFFDQ": { "args": null, - "asctime": "2024-09-23 07:59:55,184", - "created": 1727071195.1847613, + "asctime": "2024-09-29 22:12:29,285", + "created": 1727640749.2855322, "exc_info": null, "exc_text": null, "filename": "__init__.py", @@ -569,131 +714,76 @@ "levelname": "INFO", "levelno": 20, "lineno": 323, - "message": "caching.property_cache_json: Test cached data (full init)", + "message": "_2lVAAHm7Ee-IT79pgSFFDQ", "module": "__init__", "moduleLogger": [], - "msecs": 184.0, - "msg": "caching.property_cache_json: Test cached data (full init)", + "msecs": 285.0, + "msg": "_2lVAAHm7Ee-IT79pgSFFDQ", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 47.393083572387695, + "relativeCreated": 6067.492961883545, "stack_info": null, "testcaseLogger": [ { - "args": [ - "property_cache_json", - "True" - ], - "asctime": "2024-09-23 07:59:55,185", - "created": 1727071195.185488, + "args": [], + "asctime": "2024-09-29 22:12:29,286", + "created": 1727640749.286111, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", - "funcName": "init_cache", + "funcName": "clean", "levelname": "DEBUG", "levelno": 10, - "lineno": 24, - "message": "Initialising property_cache_json (load_all_on_init=True).", + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", "module": "test_helpers", "moduleLogger": [ { "args": [], - "asctime": "2024-09-23 07:59:55,184", - "created": 1727071195.184825, + "asctime": "2024-09-29 22:12:29,285", + "created": 1727640749.2858517, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", - "funcName": "init_cache", + "funcName": "clean", "levelname": "INFO", "levelno": 20, "lineno": 17, "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", "module": "test_helpers", - "msecs": 184.0, + "msecs": 285.0, "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 47.45674133300781, + "relativeCreated": 6067.812442779541, "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json" - ], - "asctime": "2024-09-23 07:59:55,184", - "created": 1727071195.1848829, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json as cache file.", - "module": "test_helpers", - "msecs": 184.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 47.51467704772949, - "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 185.0, - "msg": "Initialising %s (load_all_on_init=%s).", + "msecs": 286.0, + "msg": "Prepare: Cleanup before testcase execution", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 48.11978340148926, + "relativeCreated": 6068.0718421936035, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 0.0006051063537597656 - }, - { - "args": [], - "asctime": "2024-09-23 07:59:55,185", - "created": 1727071195.1856582, - "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": [], - "msecs": 185.0, - "msg": "Collecting data from cache instance.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_cached_data.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 48.29001426696777, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0 + "time_consumption": 0.0002593994140625 }, { "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'}", - "" + "'string'", + "" ], - "asctime": "2024-09-23 07:59:55,185", - "created": 1727071195.1858501, + "asctime": "2024-09-29 22:12:29,287", + "created": 1727640749.2878444, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -701,17 +791,93 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "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 ).", + "message": "Data from cached instance with key=str is correct (Content 'string' and Type is ).", "module": "test", "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:29,286", + "created": 1727640749.2864933, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 286.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6068.454027175903, + "stack_info": null, + "thread": 140143461883968, + "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' }", - "" + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" ], - "asctime": "2024-09-23 07:59:55,185", - "created": 1727071195.1857302, + "asctime": "2024-09-29 22:12:29,286", + "created": 1727640749.286697, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 286.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6068.657636642456, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:29,287", + "created": 1727640749.287392, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'str' from cache", + "module": "__init__", + "msecs": 287.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6069.352626800537, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:29,287", + "created": 1727640749.2875636, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -719,28 +885,28 @@ "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' } ()", + "message": "Result (Data from cached instance with key=str): 'string' ()", "module": "test", - "msecs": 185.0, + "msecs": 287.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 48.362016677856445, + "relativeCreated": 6069.52428817749, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Cached data", + "Data from cached instance with key=str", "=", - "{ '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' }", - "" + "'string'", + "" ], - "asctime": "2024-09-23 07:59:55,185", - "created": 1727071195.1857796, + "asctime": "2024-09-29 22:12:29,287", + "created": 1727640749.287704, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -748,175 +914,39 @@ "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' } ()", + "message": "Expectation (Data from cached instance with key=str): result = 'string' ()", "module": "test", - "msecs": 185.0, + "msecs": 287.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 48.41136932373047, + "relativeCreated": 6069.664716720581, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 185.0, - "msg": "Cached data is correct (Content %s and Type is %s).", + "msecs": 287.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 48.48194122314453, + "relativeCreated": 6069.805145263672, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 7.05718994140625e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.001088857650756836, - "time_finished": "2024-09-23 07:59:55,185", - "time_start": "2024-09-23 07:59:55,184" - }, - "caching.property_cache_json: Test cached data (partially init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,185", - "created": 1727071195.1859434, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_json: Test cached data (partially init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 185.0, - "msg": "caching.property_cache_json: Test cached data (partially init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 48.57516288757324, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_json", - "True" - ], - "asctime": "2024-09-23 07:59:55,186", - "created": 1727071195.1866655, - "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": "2024-09-23 07:59:55,186", - "created": 1727071195.1860027, - "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": 186.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 48.63452911376953, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_no_load_on_init.json" - ], - "asctime": "2024-09-23 07:59:55,186", - "created": 1727071195.1860597, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_no_load_on_init.json as cache file.", - "module": "test_helpers", - "msecs": 186.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 48.691511154174805, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 186.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 49.297332763671875, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0006058216094970703 - }, - { - "args": [], - "asctime": "2024-09-23 07:59:55,186", - "created": 1727071195.1868336, - "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": [], - "msecs": 186.0, - "msg": "Collecting data from cache instance.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_cached_data.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 49.46541786193848, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0 + "time_consumption": 0.0001404285430908203 }, { "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'}", - "" + "'unicode'", + "" ], - "asctime": "2024-09-23 07:59:55,187", - "created": 1727071195.1870227, + "asctime": "2024-09-29 22:12:29,288", + "created": 1727640749.288512, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -924,17 +954,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "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 ).", + "message": "Data from cached instance with key=unicode is correct (Content 'unicode' 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' }", - "" + "unicode" ], - "asctime": "2024-09-23 07:59:55,186", - "created": 1727071195.1869056, + "asctime": "2024-09-29 22:12:29,288", + "created": 1727640749.2880824, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'unicode' from cache", + "module": "__init__", + "msecs": 288.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6070.043087005615, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:29,288", + "created": 1727640749.2882426, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -942,28 +998,28 @@ "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' } ()", + "message": "Result (Data from cached instance with key=unicode): 'unicode' ()", "module": "test", - "msecs": 186.0, + "msecs": 288.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 49.53742027282715, + "relativeCreated": 6070.2033042907715, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Cached data", + "Data from cached instance with key=unicode", "=", - "{ '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' }", - "" + "'unicode'", + "" ], - "asctime": "2024-09-23 07:59:55,186", - "created": 1727071195.1869566, + "asctime": "2024-09-29 22:12:29,288", + "created": 1727640749.2883785, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -971,95 +1027,604 @@ "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' } ()", + "message": "Expectation (Data from cached instance with key=unicode): result = 'unicode' ()", "module": "test", - "msecs": 186.0, + "msecs": 288.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 49.58844184875488, + "relativeCreated": 6070.339202880859, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 187.0, - "msg": "Cached data is correct (Content %s and Type is %s).", + "msecs": 288.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 49.654483795166016, + "relativeCreated": 6070.472717285156, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 6.604194641113281e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0010793209075927734, - "time_finished": "2024-09-23 07:59:55,187", - "time_start": "2024-09-23 07:59:55,185" - }, - "caching.property_cache_json: Test execution of save callback (full init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,195", - "created": 1727071195.1954594, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_json: Test execution of save callback (full init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 195.0, - "msg": "caching.property_cache_json: Test execution of save callback (full init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 58.091163635253906, - "stack_info": null, - "testcaseLogger": [ - { - "args": [], - "asctime": "2024-09-23 07:59:55,195", - "created": 1727071195.1955254, - "exc_info": null, - "exc_text": null, - "filename": "test_save_callback.py", - "funcName": "save_callback", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Installing save_callback, which sets a variable to True on execution.", - "module": "test_save_callback", - "moduleLogger": [], - "msecs": 195.0, - "msg": "Installing save_callback, which sets a variable to True on execution.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_save_callback.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 58.15720558166504, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0 + "time_consumption": 0.000133514404296875 }, { "args": [ - "True", + "17", + "" + ], + "asctime": "2024-09-29 22:12:29,289", + "created": 1727640749.2891705, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=integer is correct (Content 17 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:29,288", + "created": 1727640749.288733, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'integer' from cache", + "module": "__init__", + "msecs": 288.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6070.693731307983, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "17", + "" + ], + "asctime": "2024-09-29 22:12:29,288", + "created": 1727640749.2888904, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=integer): 17 ()", + "module": "test", + "msecs": 288.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6070.85108757019, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "=", + "17", + "" + ], + "asctime": "2024-09-29 22:12:29,289", + "created": 1727640749.2890246, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=integer): result = 17 ()", + "module": "test", + "msecs": 289.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6070.985317230225, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 289.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6071.131229400635, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00014591217041015625 + }, + { + "args": [ + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:29,289", + "created": 1727640749.2898338, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=float is correct (Content 3.14159 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "float" + ], + "asctime": "2024-09-29 22:12:29,289", + "created": 1727640749.289398, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'float' from cache", + "module": "__init__", + "msecs": 289.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6071.358680725098, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:29,289", + "created": 1727640749.289558, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=float): 3.14159 ()", + "module": "test", + "msecs": 289.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6071.518659591675, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "=", + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:29,289", + "created": 1727640749.289696, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=float): result = 3.14159 ()", + "module": "test", + "msecs": 289.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6071.656703948975, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 289.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6071.794509887695, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00013780593872070312 + }, + { + "args": [ + "[1, 'two', '3', 4]", + "" + ], + "asctime": "2024-09-29 22:12:29,290", + "created": 1727640749.2906473, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=list is correct (Content [1, 'two', '3', 4] and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:29,290", + "created": 1727640749.2900674, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'list' from cache", + "module": "__init__", + "msecs": 290.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6072.028160095215, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:29,290", + "created": 1727640749.2902792, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=list): [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 290.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6072.239875793457, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "=", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:29,290", + "created": 1727640749.2904525, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=list): result = [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 290.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6072.413206100464, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 290.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6072.60799407959, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00019478797912597656 + }, + { + "args": [ + "{'1': 1, '2': 'two', '3': '3', '4': 4}", + "" + ], + "asctime": "2024-09-29 22:12:29,291", + "created": 1727640749.2914243, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=dict is correct (Content {'1': 1, '2': 'two', '3': '3', '4': 4} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "dict" + ], + "asctime": "2024-09-29 22:12:29,290", + "created": 1727640749.29088, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'dict' from cache", + "module": "__init__", + "msecs": 290.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6072.840690612793, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", + "" + ], + "asctime": "2024-09-29 22:12:29,291", + "created": 1727640749.291069, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=dict): { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", + "module": "test", + "msecs": 291.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6073.0297565460205, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "=", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", + "" + ], + "asctime": "2024-09-29 22:12:29,291", + "created": 1727640749.2912316, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=dict): result = { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", + "module": "test", + "msecs": 291.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6073.192358016968, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 291.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6073.385000228882, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.0001926422119140625 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2024-09-29 22:12:29,292", + "created": 1727640749.2921767, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=none is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "none" + ], + "asctime": "2024-09-29 22:12:29,291", + "created": 1727640749.2916625, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'none' from cache", + "module": "__init__", + "msecs": 291.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6073.623180389404, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "None", + "" + ], + "asctime": "2024-09-29 22:12:29,291", + "created": 1727640749.2918231, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=none): None ()", + "module": "test", + "msecs": 291.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6073.783874511719, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "=", + "None", + "" + ], + "asctime": "2024-09-29 22:12:29,291", + "created": 1727640749.2919962, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=none): result = None ()", + "module": "test", + "msecs": 291.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6073.9569664001465, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 292.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6074.137449264526, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.0001804828643798828 + }, + { + "args": [ + "False", "" ], - "asctime": "2024-09-23 07:59:55,195", - "created": 1727071195.195777, + "asctime": "2024-09-29 22:12:29,292", + "created": 1727640749.2927263, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1067,17 +1632,17 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "message": "Save callback execution variable is correct (Content True and Type is ).", + "message": "The cache file (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_full_update_sleep.json) shall not exist is correct (Content False and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Save callback execution variable", - "True", + "The cache file (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_full_update_sleep.json) shall not exist", + "False", "" ], - "asctime": "2024-09-23 07:59:55,195", - "created": 1727071195.1956708, + "asctime": "2024-09-29 22:12:29,292", + "created": 1727640749.2924442, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1085,28 +1650,28 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Save callback execution variable): True ()", + "message": "Result (The cache file (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_full_update_sleep.json) shall not exist): False ()", "module": "test", - "msecs": 195.0, + "msecs": 292.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 58.30264091491699, + "relativeCreated": 6074.404954910278, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Save callback execution variable", + "The cache file (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_full_update_sleep.json) shall not exist", "=", - "True", + "False", "" ], - "asctime": "2024-09-23 07:59:55,195", - "created": 1727071195.1957276, + "asctime": "2024-09-29 22:12:29,292", + "created": 1727640749.2925913, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1114,204 +1679,285 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Save callback execution variable): result = True ()", + "message": "Expectation (The cache file (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_full_update_sleep.json) shall not exist): result = False ()", "module": "test", - "msecs": 195.0, + "msecs": 292.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 58.359384536743164, + "relativeCreated": 6074.552059173584, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 195.0, - "msg": "Save callback execution variable is correct (Content %s and Type is %s).", + "msecs": 292.0, + "msg": "The cache file (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_full_update_sleep.json) shall not exist is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 58.40873718261719, + "relativeCreated": 6074.6870040893555, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00013494491577148438 + } + ], + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.007194042205810547, + "time_finished": "2024-09-29 22:12:29,292", + "time_start": "2024-09-29 22:12:29,285" + }, + "_3wIiEHnCEe-IT79pgSFFDQ": { + "args": null, + "asctime": "2024-09-29 22:12:23,269", + "created": 1727640743.2692, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testCase", + "levelname": "INFO", + "levelno": 20, + "lineno": 323, + "message": "_3wIiEHnCEe-IT79pgSFFDQ", + "module": "__init__", + "moduleLogger": [], + "msecs": 269.0, + "msg": "_3wIiEHnCEe-IT79pgSFFDQ", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 51.16081237792969, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,269", + "created": 1727640743.2694814, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,269", + "created": 1727640743.2693722, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 269.0, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 51.332950592041016, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 269.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 51.44214630126953, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00010919570922851562 + }, + { + "args": [ + "'property_cache_json'" + ], + "asctime": "2024-09-29 22:12:23,269", + "created": 1727640743.2695577, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 49, + "message": "Prepare: First usage of 'property_cache_json' with a class holding the data to be cached", + "module": "test_cached_data", + "moduleLogger": [], + "msecs": 269.0, + "msg": "Prepare: First usage of %s with a class holding the data to be cached", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_cached_data.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 51.51844024658203, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.0 + }, + { + "args": [ + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:23,269", + "created": 1727640743.2699122, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=str is correct (Content '__string__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,269", + "created": 1727640743.2697124, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 269.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 51.673173904418945, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:23,269", + "created": 1727640743.269768, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='str' from source instance", + "module": "__init__", + "msecs": 269.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 51.72872543334961, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:23,269", + "created": 1727640743.2698214, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=str): '__string__' ()", + "module": "test", + "msecs": 269.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 51.78213119506836, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "=", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:23,269", + "created": 1727640743.269863, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=str): result = '__string__' ()", + "module": "test", + "msecs": 269.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 51.82361602783203, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 269.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 51.872968673706055, + "stack_info": null, + "thread": 140143461883968, "threadName": "MainThread", "time_consumption": 4.935264587402344e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.00031757354736328125, - "time_finished": "2024-09-23 07:59:55,195", - "time_start": "2024-09-23 07:59:55,195" - }, - "caching.property_cache_json: Test full initialised JSON-Cache-Object": { - "args": null, - "asctime": "2024-09-23 07:59:55,181", - "created": 1727071195.1811836, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_json: Test full initialised JSON-Cache-Object", - "module": "__init__", - "moduleLogger": [], - "msecs": 181.0, - "msg": "caching.property_cache_json: Test full initialised JSON-Cache-Object", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 43.81537437438965, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_json", - "True" - ], - "asctime": "2024-09-23 07:59:55,182", - "created": 1727071195.1821191, - "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": "2024-09-23 07:59:55,181", - "created": 1727071195.1813195, - "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": 181.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 43.95127296447754, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/load_on_init.json" - ], - "asctime": "2024-09-23 07:59:55,181", - "created": 1727071195.1814146, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/load_on_init.json as cache file.", - "module": "test_helpers", - "msecs": 181.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 44.04640197753906, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 182.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 44.75092887878418, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0007045269012451172 }, { "args": [ - "property_cache_json" + "'__unicode__'", + "" ], - "asctime": "2024-09-23 07:59:55,182", - "created": 1727071195.1823046, - "exc_info": null, - "exc_text": null, - "filename": "test_load_on_init.py", - "funcName": "load_on_init", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 21, - "message": "Extracting storage object from property_cache_json for comparison.", - "module": "test_load_on_init", - "moduleLogger": [ - { - "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": "2024-09-23 07:59:55,182", - "created": 1727071195.182266, - "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: {'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": 182.0, - "msg": "Using storage object of cache class for comparison: %s", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_load_on_init.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 44.89779472351074, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 182.0, - "msg": "Extracting storage object from %s for comparison.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_load_on_init.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 44.936418533325195, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 3.8623809814453125e-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": "2024-09-23 07:59:55,182", - "created": 1727071195.1825294, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2700818, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1319,17 +1965,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "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 ).", + "message": "Data from cached instance with key=unicode is correct (Content '__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' }", - "" + "unicode" ], - "asctime": "2024-09-23 07:59:55,182", - "created": 1727071195.1823845, + "asctime": "2024-09-29 22:12:23,269", + "created": 1727640743.2699757, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='unicode' from source instance", + "module": "__init__", + "msecs": 269.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 51.93638801574707, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2700152, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1337,28 +2009,28 @@ "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' } ()", + "message": "Result (Data from cached instance with key=unicode): '__unicode__' ()", "module": "test", - "msecs": 182.0, + "msecs": 270.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 45.01628875732422, + "relativeCreated": 51.97596549987793, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Cache object", + "Data from cached instance with key=unicode", "=", - "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17, 'float': 3.14159, 'list': [ 1, 'two', '3', 4 ], 'dict': { '1': 1, '2': 'two', '3': '3', '4': 4 } }", - "" + "'__unicode__'", + "" ], - "asctime": "2024-09-23 07:59:55,182", - "created": 1727071195.1824377, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2700486, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1366,149 +2038,39 @@ "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 } } ()", + "message": "Expectation (Data from cached instance with key=unicode): result = '__unicode__' ()", "module": "test", - "msecs": 182.0, + "msecs": 270.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 45.06945610046387, + "relativeCreated": 52.00934410095215, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 182.0, - "msg": "Cache object is correct (Content %s and Type is %s).", + "msecs": 270.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 45.16124725341797, + "relativeCreated": 52.042484283447266, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 9.179115295410156e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0013458728790283203, - "time_finished": "2024-09-23 07:59:55,182", - "time_start": "2024-09-23 07:59:55,181" - }, - "caching.property_cache_json: Test get from source caused by changed uid (full init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,191", - "created": 1727071195.1913915, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_json: Test get from source caused by changed uid (full init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 191.0, - "msg": "caching.property_cache_json: Test get from source caused by changed uid (full init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 54.02326583862305, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_json", - "True" - ], - "asctime": "2024-09-23 07:59:55,192", - "created": 1727071195.1921148, - "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": "2024-09-23 07:59:55,191", - "created": 1727071195.1914566, - "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": 191.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 54.08835411071777, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/uid_test_load_on_init.json" - ], - "asctime": "2024-09-23 07:59:55,191", - "created": 1727071195.1915162, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/uid_test_load_on_init.json as cache file.", - "module": "test_helpers", - "msecs": 191.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 54.147958755493164, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 192.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 54.74662780761719, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0005986690521240234 + "time_consumption": 3.314018249511719e-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'}}", - "" + "34", + "" ], - "asctime": "2024-09-23 07:59:55,192", - "created": 1727071195.192985, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.270253, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1516,17 +2078,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "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 ).", + "message": "Data from cached instance with key=integer is correct (Content 34 and Type is ).", "module": "test", "moduleLogger": [ { "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' } }", - "" + "integer" ], - "asctime": "2024-09-23 07:59:55,192", - "created": 1727071195.19286, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2701397, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='integer' from source instance", + "module": "__init__", + "msecs": 270.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 52.100419998168945, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "34", + "" + ], + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2701857, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1534,28 +2122,28 @@ "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' } } ()", + "message": "Result (Data from cached instance with key=integer): 34 ()", "module": "test", - "msecs": 192.0, + "msecs": 270.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 55.49168586730957, + "relativeCreated": 52.14643478393555, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Instance data after changing uid", + "Data from cached instance with key=integer", "=", - "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", - "" + "34", + "" ], - "asctime": "2024-09-23 07:59:55,192", - "created": 1727071195.1929157, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2702203, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1563,149 +2151,39 @@ "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' } } ()", + "message": "Expectation (Data from cached instance with key=integer): result = 34 ()", "module": "test", - "msecs": 192.0, + "msecs": 270.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 55.547475814819336, + "relativeCreated": 52.18100547790527, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 192.0, - "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", + "msecs": 270.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 55.61685562133789, + "relativeCreated": 52.21366882324219, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 6.937980651855469e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0015935897827148438, - "time_finished": "2024-09-23 07:59:55,192", - "time_start": "2024-09-23 07:59:55,191" - }, - "caching.property_cache_json: Test get from source caused by changed uid (partially init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,193", - "created": 1727071195.1930807, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_json: Test get from source caused by changed uid (partially init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 193.0, - "msg": "caching.property_cache_json: Test get from source caused by changed uid (partially init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 55.71246147155762, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_json", - "True" - ], - "asctime": "2024-09-23 07:59:55,193", - "created": 1727071195.1937945, - "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": "2024-09-23 07:59:55,193", - "created": 1727071195.1931422, - "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": 193.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 55.77397346496582, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/uid_test_no_load_on_init.json" - ], - "asctime": "2024-09-23 07:59:55,193", - "created": 1727071195.1931984, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/uid_test_no_load_on_init.json as cache file.", - "module": "test_helpers", - "msecs": 193.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 55.83024024963379, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 193.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 56.426286697387695, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0005960464477539062 + "time_consumption": 3.266334533691406e-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'}}", - "" + "2.71828", + "" ], - "asctime": "2024-09-23 07:59:55,195", - "created": 1727071195.1953635, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2704208, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1713,17 +2191,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "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 ).", + "message": "Data from cached instance with key=float is correct (Content 2.71828 and Type is ).", "module": "test", "moduleLogger": [ { "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' } }", - "" + "float" ], - "asctime": "2024-09-23 07:59:55,195", - "created": 1727071195.1952329, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2703114, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='float' from source instance", + "module": "__init__", + "msecs": 270.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 52.27208137512207, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2703528, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1731,28 +2235,28 @@ "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' } } ()", + "message": "Result (Data from cached instance with key=float): 2.71828 ()", "module": "test", - "msecs": 195.0, + "msecs": 270.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 57.86466598510742, + "relativeCreated": 52.31356620788574, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Instance data after changing uid", + "Data from cached instance with key=float", "=", - "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", - "" + "2.71828", + "" ], - "asctime": "2024-09-23 07:59:55,195", - "created": 1727071195.1952958, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2703874, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1760,149 +2264,39 @@ "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' } } ()", + "message": "Expectation (Data from cached instance with key=float): result = 2.71828 ()", "module": "test", - "msecs": 195.0, + "msecs": 270.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 57.927608489990234, + "relativeCreated": 52.34813690185547, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 195.0, - "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", + "msecs": 270.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 57.99531936645508, + "relativeCreated": 52.38151550292969, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 6.771087646484375e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.002282857894897461, - "time_finished": "2024-09-23 07:59:55,195", - "time_start": "2024-09-23 07:59:55,193" - }, - "caching.property_cache_json: Test get from source caused by increased data version (full init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,187", - "created": 1727071195.1871173, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_json: Test get from source caused by increased data version (full init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 187.0, - "msg": "caching.property_cache_json: Test get from source caused by increased data version (full init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 49.749135971069336, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_json", - "True" - ], - "asctime": "2024-09-23 07:59:55,187", - "created": 1727071195.1878023, - "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": "2024-09-23 07:59:55,187", - "created": 1727071195.1871798, - "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": 187.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 49.811601638793945, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/data_version_test_load_on_init.json" - ], - "asctime": "2024-09-23 07:59:55,187", - "created": 1727071195.187236, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/data_version_test_load_on_init.json as cache file.", - "module": "test_helpers", - "msecs": 187.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 49.867868423461914, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 187.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 50.434112548828125, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0005662441253662109 + "time_consumption": 3.337860107421875e-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'}}", - "" + "['one', 2, 3, '4']", + "" ], - "asctime": "2024-09-23 07:59:55,188", - "created": 1727071195.1886804, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.270613, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1910,17 +2304,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "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 ).", + "message": "Data from cached instance with key=list is correct (Content ['one', 2, 3, '4'] and Type is ).", "module": "test", "moduleLogger": [ { "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' } }", - "" + "list" ], - "asctime": "2024-09-23 07:59:55,188", - "created": 1727071195.188558, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2704744, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='list' from source instance", + "module": "__init__", + "msecs": 270.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 52.43515968322754, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 'one', 2, 3, '4' ]", + "" + ], + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2705173, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1928,28 +2348,28 @@ "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' } } ()", + "message": "Result (Data from cached instance with key=list): [ 'one', 2, 3, '4' ] ()", "module": "test", - "msecs": 188.0, + "msecs": 270.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 51.18989944458008, + "relativeCreated": 52.47807502746582, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Instance data after increasing data_version", + "Data from cached instance with key=list", "=", - "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", - "" + "[ 'one', 2, 3, '4' ]", + "" ], - "asctime": "2024-09-23 07:59:55,188", - "created": 1727071195.188614, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2705579, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -1957,149 +2377,39 @@ "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' } } ()", + "message": "Expectation (Data from cached instance with key=list): result = [ 'one', 2, 3, '4' ] ()", "module": "test", - "msecs": 188.0, + "msecs": 270.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 51.245689392089844, + "relativeCreated": 52.518606185913086, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 188.0, - "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", + "msecs": 270.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 51.31220817565918, + "relativeCreated": 52.57368087768555, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 6.651878356933594e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0015630722045898438, - "time_finished": "2024-09-23 07:59:55,188", - "time_start": "2024-09-23 07:59:55,187" - }, - "caching.property_cache_json: Test get from source caused by increased data version (partially init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,188", - "created": 1727071195.1887772, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_json: Test get from source caused by increased data version (partially init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 188.0, - "msg": "caching.property_cache_json: Test get from source caused by increased data version (partially init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 51.409006118774414, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_json", - "True" - ], - "asctime": "2024-09-23 07:59:55,189", - "created": 1727071195.1895015, - "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": "2024-09-23 07:59:55,188", - "created": 1727071195.188838, - "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": 188.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 51.46980285644531, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/data_version_test_no_load_on_init.json" - ], - "asctime": "2024-09-23 07:59:55,188", - "created": 1727071195.1888943, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/data_version_test_no_load_on_init.json as cache file.", - "module": "test_helpers", - "msecs": 188.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 51.52606964111328, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 189.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 52.13332176208496, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0006072521209716797 + "time_consumption": 5.507469177246094e-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'}}", + "{'1': '1', '2': 2, '3': 'three', '4': '4'}", "" ], - "asctime": "2024-09-23 07:59:55,191", - "created": 1727071195.1912882, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2708123, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2107,17 +2417,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "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 ).", + "message": "Data from cached instance with key=dict is correct (Content {'1': '1', '2': 2, '3': 'three', '4': '4'} and Type is ).", "module": "test", "moduleLogger": [ { "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' } }", + "dict" + ], + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2706728, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='dict' from source instance", + "module": "__init__", + "msecs": 270.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 52.63352394104004, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': '1', '2': 2, '3': 'three', '4': '4' }", "" ], - "asctime": "2024-09-23 07:59:55,191", - "created": 1727071195.191141, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2707195, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2125,28 +2461,28 @@ "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' } } ()", + "message": "Result (Data from cached instance with key=dict): { '1': '1', '2': 2, '3': 'three', '4': '4' } ()", "module": "test", - "msecs": 191.0, + "msecs": 270.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 53.772687911987305, + "relativeCreated": 52.680253982543945, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Instance data after increasing data_version", + "Data from cached instance with key=dict", "=", - "{ 'str': '__string__', 'unicode': '__unicode__', 'integer': 34, 'float': 2.71828, 'list': [ 'one', 2, 3, '4' ], 'dict': { '1': '1', '2': 2, '3': 'three', '4': '4' } }", + "{ '1': '1', '2': 2, '3': 'three', '4': '4' }", "" ], - "asctime": "2024-09-23 07:59:55,191", - "created": 1727071195.1912153, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2707586, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2154,204 +2490,39 @@ "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' } } ()", + "message": "Expectation (Data from cached instance with key=dict): result = { '1': '1', '2': 2, '3': 'three', '4': '4' } ()", "module": "test", - "msecs": 191.0, + "msecs": 270.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 53.84707450866699, + "relativeCreated": 52.7193546295166, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 191.0, - "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", + "msecs": 270.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 53.92003059387207, + "relativeCreated": 52.77299880981445, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 7.295608520507812e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0025110244750976562, - "time_finished": "2024-09-23 07:59:55,191", - "time_start": "2024-09-23 07:59:55,188" - }, - "caching.property_cache_json: Test internal key usage": { - "args": null, - "asctime": "2024-09-23 07:59:55,195", - "created": 1727071195.195871, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_json: Test internal key usage", - "module": "__init__", - "moduleLogger": [], - "msecs": 195.0, - "msg": "caching.property_cache_json: Test internal key usage", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 58.502912521362305, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_json", - "True" - ], - "asctime": "2024-09-23 07:59:55,196", - "created": 1727071195.196431, - "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": "2024-09-23 07:59:55,195", - "created": 1727071195.195934, - "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": 195.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 58.56585502624512, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/internal_keys_test.json" - ], - "asctime": "2024-09-23 07:59:55,195", - "created": 1727071195.1959898, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/internal_keys_test.json as cache file.", - "module": "test_helpers", - "msecs": 195.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 58.62164497375488, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 196.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 59.06271934509277, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0004410743713378906 + "time_consumption": 5.364418029785156e-05 }, { "args": [ - "property_cache_json" + "'not None'", + "" ], - "asctime": "2024-09-23 07:59:55,196", - "created": 1727071195.1966026, - "exc_info": null, - "exc_text": null, - "filename": "test_internal_keys.py", - "funcName": "test_internal_keys", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 21, - "message": "Extracting storage object from property_cache_json for comparison.", - "module": "test_internal_keys", - "moduleLogger": [ - { - "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": "2024-09-23 07:59:55,196", - "created": 1727071195.1965666, - "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'}", - "module": "test_internal_keys", - "msecs": 196.0, - "msg": "Using storage object of cache class for comparison: %s", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_internal_keys.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 59.19837951660156, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 196.0, - "msg": "Extracting storage object from %s for comparison.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_internal_keys.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 59.2343807220459, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 3.600120544433594e-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": "2024-09-23 07:59:55,196", - "created": 1727071195.19674, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2709715, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2359,17 +2530,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "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 ).", + "message": "Data from cached instance with key=none is correct (Content 'not None' 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' }", - "" + "none" ], - "asctime": "2024-09-23 07:59:55,196", - "created": 1727071195.196661, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.270869, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='none' from source instance", + "module": "__init__", + "msecs": 270.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 52.829742431640625, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.270907, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2377,28 +2574,28 @@ "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' } ()", + "message": "Result (Data from cached instance with key=none): 'not None' ()", "module": "test", - "msecs": 196.0, + "msecs": 270.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 59.29279327392578, + "relativeCreated": 52.86765098571777, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Cache", + "Data from cached instance with key=none", "=", - "{ '_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' }", - "" + "'not None'", + "" ], - "asctime": "2024-09-23 07:59:55,196", - "created": 1727071195.196698, + "asctime": "2024-09-29 22:12:23,270", + "created": 1727640743.2709396, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2406,39 +2603,39 @@ "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' } ()", + "message": "Expectation (Data from cached instance with key=none): result = 'not None' ()", "module": "test", - "msecs": 196.0, + "msecs": 270.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 59.32974815368652, + "relativeCreated": 52.90031433105469, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 196.0, - "msg": "Cache is correct (Content %s and Type is %s).", + "msecs": 270.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 59.3717098236084, + "relativeCreated": 52.9322624206543, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 4.1961669921875e-05 + "time_consumption": 3.1948089599609375e-05 }, { "args": [ "5", "" ], - "asctime": "2024-09-23 07:59:55,196", - "created": 1727071195.1968448, + "asctime": "2024-09-29 22:12:23,271", + "created": 1727640743.271131, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2446,17 +2643,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "message": "Keyfilter returnvalue for 5 () is correct (Content 5 and Type is ).", + "message": "Data from cached instance with key=unknown_key is correct (Content 5 and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Keyfilter returnvalue for 5 ()", + "unknown_key" + ], + "asctime": "2024-09-29 22:12:23,271", + "created": 1727640743.2710288, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 173, + "message": "Key 'unknown_key' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 271.0, + "msg": "Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 52.98948287963867, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unknown_key", "5", "" ], - "asctime": "2024-09-23 07:59:55,196", - "created": 1727071195.1967883, + "asctime": "2024-09-29 22:12:23,271", + "created": 1727640743.2710662, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2464,28 +2687,28 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Keyfilter returnvalue for 5 ()): 5 ()", + "message": "Result (Data from cached instance with key=unknown_key): 5 ()", "module": "test", - "msecs": 196.0, + "msecs": 271.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 59.420108795166016, + "relativeCreated": 53.02691459655762, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Keyfilter returnvalue for 5 ()", + "Data from cached instance with key=unknown_key", "=", "5", "" ], - "asctime": "2024-09-23 07:59:55,196", - "created": 1727071195.1968172, + "asctime": "2024-09-29 22:12:23,271", + "created": 1727640743.2710986, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2493,43 +2716,43 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Keyfilter returnvalue for 5 ()): result = 5 ()", + "message": "Expectation (Data from cached instance with key=unknown_key): result = 5 ()", "module": "test", - "msecs": 196.0, + "msecs": 271.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 59.448957443237305, + "relativeCreated": 53.05933952331543, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 196.0, - "msg": "Keyfilter returnvalue for 5 () is correct (Content %s and Type is %s).", + "msecs": 271.0, + "msg": "Data from cached instance with key=unknown_key is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 59.476613998413086, + "relativeCreated": 53.09176445007324, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 2.765655517578125e-05 + "time_consumption": 3.24249267578125e-05 } ], - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 0.0009737014770507812, - "time_finished": "2024-09-23 07:59:55,196", - "time_start": "2024-09-23 07:59:55,195" + "time_consumption": 0.0019309520721435547, + "time_finished": "2024-09-29 22:12:23,271", + "time_start": "2024-09-29 22:12:23,269" }, - "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object": { + "_7sFo0H55Ee-p0KSarwgncw": { "args": null, - "asctime": "2024-09-23 07:59:55,182", - "created": 1727071195.182638, + "asctime": "2024-09-29 22:12:31,328", + "created": 1727640751.3286881, "exc_info": null, "exc_text": null, "filename": "__init__.py", @@ -2537,186 +2760,181 @@ "levelname": "INFO", "levelno": 20, "lineno": 323, - "message": "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object", + "message": "_7sFo0H55Ee-p0KSarwgncw", "module": "__init__", "moduleLogger": [], - "msecs": 182.0, - "msg": "caching.property_cache_json: Test partially initialisation of JSON-Cache-Object", + "msecs": 328.0, + "msg": "_7sFo0H55Ee-p0KSarwgncw", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 45.26972770690918, + "relativeCreated": 8110.64887046814, "stack_info": null, "testcaseLogger": [ - { - "args": [ - "property_cache_json", - "False" - ], - "asctime": "2024-09-23 07:59:55,182", - "created": 1727071195.1829443, - "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": "2024-09-23 07:59:55,182", - "created": 1727071195.1827037, - "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": 182.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 45.33553123474121, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/no_load_on_init.json" - ], - "asctime": "2024-09-23 07:59:55,182", - "created": 1727071195.1827645, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/no_load_on_init.json as cache file.", - "module": "test_helpers", - "msecs": 182.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 45.39632797241211, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 182.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 45.57609558105469, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.00017976760864257812 - }, { "args": [], - "asctime": "2024-09-23 07:59:55,184", - "created": 1727071195.184366, + "asctime": "2024-09-29 22:12:31,328", + "created": 1727640751.3289835, "exc_info": null, "exc_text": null, - "filename": "test_no_load_on_init.py", - "funcName": "no_load_on_init", + "filename": "test_helpers.py", + "funcName": "clean", "levelname": "DEBUG", "levelno": 10, - "lineno": 18, - "message": "Partially initialising cache object by requesting some information.", - "module": "test_no_load_on_init", - "moduleLogger": [], - "msecs": 184.0, - "msg": "Partially initialising cache object by requesting some information.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_no_load_on_init.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 46.997785568237305, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0 - }, - { - "args": [ - "property_cache_json" - ], - "asctime": "2024-09-23 07:59:55,184", - "created": 1727071195.184531, - "exc_info": null, - "exc_text": null, - "filename": "test_no_load_on_init.py", - "funcName": "no_load_on_init", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 24, - "message": "Extracting storage object from property_cache_json for comparison.", - "module": "test_no_load_on_init", + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", "moduleLogger": [ { - "args": [ - "{'integer': 17, 'str': 'string', 'unicode': 'unicode'}" - ], - "asctime": "2024-09-23 07:59:55,184", - "created": 1727071195.1844904, + "args": [], + "asctime": "2024-09-29 22:12:31,328", + "created": 1727640751.3288753, "exc_info": null, "exc_text": null, - "filename": "test_no_load_on_init.py", - "funcName": "no_load_on_init", + "filename": "test_helpers.py", + "funcName": "clean", "levelname": "INFO", "levelno": 20, - "lineno": 23, - "message": "Using storage object of cache class for comparison: {'integer': 17, 'str': 'string', 'unicode': 'unicode'}", - "module": "test_no_load_on_init", - "msecs": 184.0, - "msg": "Using storage object of cache class for comparison: %s", + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 328.0, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_no_load_on_init.py", - "process": 308082, + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, "processName": "MainProcess", - "relativeCreated": 47.12224006652832, + "relativeCreated": 8110.836029052734, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 184.0, - "msg": "Extracting storage object from %s for comparison.", + "msecs": 328.0, + "msg": "Prepare: Cleanup before testcase execution", "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_no_load_on_init.py", - "process": 308082, + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, "processName": "MainProcess", - "relativeCreated": 47.162771224975586, + "relativeCreated": 8110.9442710876465, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 4.0531158447265625e-05 + "time_consumption": 0.00010824203491210938 }, { "args": [ - "{'integer': 17, 'str': 'string', 'unicode': 'unicode'}", - "" + "'property_cache_json'" ], - "asctime": "2024-09-23 07:59:55,184", - "created": 1727071195.1846652, + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.3300273, + "exc_info": null, + "exc_text": null, + "filename": "test_dump_cache.py", + "funcName": "dump_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 52, + "message": "Prepare: First usage of 'property_cache_json' with a class holding the data to be cached", + "module": "test_dump_cache", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,329", + "created": 1727640751.329108, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 329.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8111.0687255859375, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:31,329", + "created": 1727640751.3291876, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 329.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8111.148357391357, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,329", + "created": 1727640751.3299177, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 329.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8111.878395080566, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 330.0, + "msg": "Prepare: First usage of %s with a class holding the data to be cached", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_dump_cache.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8111.988067626953, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00010967254638671875 + }, + { + "args": [ + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.3305278, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2724,17 +2942,69 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "message": "Cache object is correct (Content {'integer': 17, 'str': 'string', 'unicode': 'unicode'} and Type is ).", + "message": "Data from cached instance with key=str is correct (Content 'string' and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Cache object", - "{ 'integer': 17, 'str': 'string', 'unicode': 'unicode' }", - "" + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" ], - "asctime": "2024-09-23 07:59:55,184", - "created": 1727071195.1845906, + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.3302648, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 286, + "message": "Loading properties from cache (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 330.0, + "msg": "Loading properties from cache (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8112.225532531738, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.3303497, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'str' from cache", + "module": "__init__", + "msecs": 330.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8112.310409545898, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.3304164, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2742,28 +3012,28 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Cache object): { 'integer': 17, 'str': 'string', 'unicode': 'unicode' } ()", + "message": "Result (Data from cached instance with key=str): 'string' ()", "module": "test", - "msecs": 184.0, + "msecs": 330.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 47.22237586975098, + "relativeCreated": 8112.377166748047, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Cache object", + "Data from cached instance with key=str", "=", - "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17 }", - "" + "'string'", + "" ], - "asctime": "2024-09-23 07:59:55,184", - "created": 1727071195.1846263, + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.3304725, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2771,43 +3041,721 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Cache object): result = { 'str': 'string', 'unicode': 'unicode', 'integer': 17 } ()", + "message": "Expectation (Data from cached instance with key=str): result = 'string' ()", "module": "test", - "msecs": 184.0, + "msecs": 330.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 47.25813865661621, + "relativeCreated": 8112.433195114136, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 184.0, - "msg": "Cache object is correct (Content %s and Type is %s).", + "msecs": 330.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 47.297000885009766, + "relativeCreated": 8112.488508224487, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 3.886222839355469e-05 + "time_consumption": 5.53131103515625e-05 + }, + { + "args": [ + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.330801, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=unicode is correct (Content 'unicode' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "unicode" + ], + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.3306236, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'unicode' from cache", + "module": "__init__", + "msecs": 330.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8112.584352493286, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.330692, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=unicode): 'unicode' ()", + "module": "test", + "msecs": 330.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8112.652778625488, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "=", + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.3307471, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=unicode): result = 'unicode' ()", + "module": "test", + "msecs": 330.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8112.707853317261, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 330.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8112.761735916138, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.3882598876953125e-05 + }, + { + "args": [ + "17", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3310597, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=integer is correct (Content 17 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.3308904, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'integer' from cache", + "module": "__init__", + "msecs": 330.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8112.851142883301, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "17", + "" + ], + "asctime": "2024-09-29 22:12:31,330", + "created": 1727640751.3309526, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=integer): 17 ()", + "module": "test", + "msecs": 330.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8112.913370132446, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "=", + "17", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3310065, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=integer): result = 17 ()", + "module": "test", + "msecs": 331.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8112.967252731323, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 331.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.020420074463, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.316734313964844e-05 + }, + { + "args": [ + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.331324, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=float is correct (Content 3.14159 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "float" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3311472, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'float' from cache", + "module": "__init__", + "msecs": 331.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.107919692993, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3312113, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=float): 3.14159 ()", + "module": "test", + "msecs": 331.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.1720542907715, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "=", + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3312662, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=float): result = 3.14159 ()", + "module": "test", + "msecs": 331.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.226890563965, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 331.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.2848262786865, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.793571472167969e-05 + }, + { + "args": [ + "[1, 'two', '3', 4]", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3316164, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=list is correct (Content [1, 'two', '3', 4] and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3314114, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'list' from cache", + "module": "__init__", + "msecs": 331.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.372087478638, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.331481, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=list): [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 331.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.441705703735, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "=", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.331541, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=list): result = [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 331.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.501787185669, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 331.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.577127456665, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 7.534027099609375e-05 + }, + { + "args": [ + "{'1': 1, '2': 'two', '3': '3', '4': 4}", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3319235, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=dict is correct (Content {'1': 1, '2': 'two', '3': '3', '4': 4} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "dict" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3317099, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'dict' from cache", + "module": "__init__", + "msecs": 331.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.670587539673, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3317838, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=dict): { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", + "module": "test", + "msecs": 331.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.744497299194, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "=", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", + "" + ], + "asctime": "2024-09-29 22:12:31,331", + "created": 1727640751.3318477, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=dict): result = { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", + "module": "test", + "msecs": 331.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.808393478394, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 331.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.884210586548, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 7.581710815429688e-05 + }, + { + "args": [ + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,332", + "created": 1727640751.3321857, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=none is correct (Content 'not None' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "none" + ], + "asctime": "2024-09-29 22:12:31,332", + "created": 1727640751.3320138, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'none' from cache", + "module": "__init__", + "msecs": 332.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8113.974571228027, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,332", + "created": 1727640751.3320787, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=none): 'not None' ()", + "module": "test", + "msecs": 332.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8114.039421081543, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "=", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,332", + "created": 1727640751.3321326, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=none): result = 'not None' ()", + "module": "test", + "msecs": 332.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8114.09330368042, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 332.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8114.14647102356, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.316734313964844e-05 } ], - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 0.002027273178100586, - "time_finished": "2024-09-23 07:59:55,184", - "time_start": "2024-09-23 07:59:55,182" + "time_consumption": 0.003497600555419922, + "time_finished": "2024-09-29 22:12:31,332", + "time_start": "2024-09-29 22:12:31,328" }, - "caching.property_cache_pickle: Test cached data (full init)": { + "_Ak9lcHvLEe-DRNATe61b9w": { "args": null, - "asctime": "2024-09-23 07:59:55,198", - "created": 1727071195.1989448, + "asctime": "2024-09-29 22:12:31,306", + "created": 1727640751.306501, "exc_info": null, "exc_text": null, "filename": "__init__.py", @@ -2815,131 +3763,6403 @@ "levelname": "INFO", "levelno": 20, "lineno": 323, - "message": "caching.property_cache_pickle: Test cached data (full init)", + "message": "_Ak9lcHvLEe-DRNATe61b9w", "module": "__init__", "moduleLogger": [], - "msecs": 198.0, - "msg": "caching.property_cache_pickle: Test cached data (full init)", + "msecs": 306.0, + "msg": "_Ak9lcHvLEe-DRNATe61b9w", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 61.57660484313965, + "relativeCreated": 8088.461637496948, "stack_info": null, "testcaseLogger": [ { - "args": [ - "property_cache_pickle", - "True" - ], - "asctime": "2024-09-23 07:59:55,199", - "created": 1727071195.1995258, + "args": [], + "asctime": "2024-09-29 22:12:31,306", + "created": 1727640751.306705, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", - "funcName": "init_cache", + "funcName": "clean", "levelname": "DEBUG", "levelno": 10, - "lineno": 24, - "message": "Initialising property_cache_pickle (load_all_on_init=True).", + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", "module": "test_helpers", "moduleLogger": [ { "args": [], - "asctime": "2024-09-23 07:59:55,199", - "created": 1727071195.199001, + "asctime": "2024-09-29 22:12:31,306", + "created": 1727640751.3066125, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", - "funcName": "init_cache", + "funcName": "clean", "levelname": "INFO", "levelno": 20, "lineno": 17, "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", "module": "test_helpers", - "msecs": 199.0, + "msecs": 306.0, "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 61.63287162780762, + "relativeCreated": 8088.573217391968, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 306.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8088.665723800659, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 9.250640869140625e-05 + }, + { + "args": [ + "'property_cache_json'" + ], + "asctime": "2024-09-29 22:12:31,307", + "created": 1727640751.3076591, + "exc_info": null, + "exc_text": null, + "filename": "test_dump_cache.py", + "funcName": "dump_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 52, + "message": "Prepare: First usage of 'property_cache_json' with a class holding the data to be cached", + "module": "test_dump_cache", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,306", + "created": 1727640751.306812, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 306.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8088.772773742676, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:31,306", + "created": 1727640751.3068805, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 306.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8088.841199874878, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,307", + "created": 1727640751.3075643, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 307.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8089.524984359741, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 307.0, + "msg": "Prepare: First usage of %s with a class holding the data to be cached", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_dump_cache.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8089.619874954224, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 9.489059448242188e-05 + }, + { + "args": [ + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,308", + "created": 1727640751.3085115, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=str is correct (Content '__string__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,307", + "created": 1727640751.3078732, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 286, + "message": "Loading properties from cache (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 307.0, + "msg": "Loading properties from cache (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8089.833974838257, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2024-09-29 22:12:31,307", + "created": 1727640751.3079576, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 207, + "message": "Data version increased, ignoring previous cache data", + "module": "__init__", + "msecs": 307.0, + "msg": "Data version increased, ignoring previous cache data", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8089.918375015259, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:31,308", + "created": 1727640751.3080206, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='str' from source instance", + "module": "__init__", + "msecs": 308.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8089.981317520142, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str", + "__string__", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,308", + "created": 1727640751.3080773, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=str, value=__string__ with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 308.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8090.038061141968, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,308", + "created": 1727640751.3082592, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 308.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8090.219974517822, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,308", + "created": 1727640751.3083901, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=str): '__string__' ()", + "module": "test", + "msecs": 308.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8090.350866317749, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "=", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,308", + "created": 1727640751.308455, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=str): result = '__string__' ()", + "module": "test", + "msecs": 308.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8090.415716171265, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 308.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8090.472221374512, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.650520324707031e-05 + }, + { + "args": [ + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,309", + "created": 1727640751.30913, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=unicode is correct (Content '__unicode__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "unicode" + ], + "asctime": "2024-09-29 22:12:31,308", + "created": 1727640751.308616, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='unicode' from source instance", + "module": "__init__", + "msecs": 308.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8090.576648712158, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "unicode", + "__unicode__", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,308", + "created": 1727640751.3086755, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=unicode, value=__unicode__ with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 308.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8090.636253356934, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,308", + "created": 1727640751.3088746, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 308.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8090.835332870483, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,309", + "created": 1727640751.3090024, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=unicode): '__unicode__' ()", + "module": "test", + "msecs": 309.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8090.963125228882, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "=", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,309", + "created": 1727640751.3090675, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=unicode): result = '__unicode__' ()", + "module": "test", + "msecs": 309.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8091.028213500977, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 309.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8091.090679168701, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 6.246566772460938e-05 + }, + { + "args": [ + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,309", + "created": 1727640751.3098829, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=integer is correct (Content 34 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:31,309", + "created": 1727640751.309234, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='integer' from source instance", + "module": "__init__", + "msecs": 309.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8091.194629669189, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "integer", + 34, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,309", + "created": 1727640751.3092928, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=integer, value=34 with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 309.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8091.2535190582275, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,309", + "created": 1727640751.3096287, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 309.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8091.589450836182, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,309", + "created": 1727640751.309761, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=integer): 34 ()", + "module": "test", + "msecs": 309.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8091.721773147583, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "=", + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,309", + "created": 1727640751.3098261, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=integer): result = 34 ()", + "module": "test", + "msecs": 309.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8091.786861419678, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 309.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8091.843605041504, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.6743621826171875e-05 + }, + { + "args": [ + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,310", + "created": 1727640751.3105319, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=float is correct (Content 2.71828 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "float" + ], + "asctime": "2024-09-29 22:12:31,309", + "created": 1727640751.3099825, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='float' from source instance", + "module": "__init__", + "msecs": 309.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8091.943264007568, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "float", + 2.71828, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,310", + "created": 1727640751.3100426, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=float, value=2.71828 with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 310.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8092.003345489502, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,310", + "created": 1727640751.3102758, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 310.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8092.236518859863, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,310", + "created": 1727640751.310409, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=float): 2.71828 ()", + "module": "test", + "msecs": 310.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8092.369794845581, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "=", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,310", + "created": 1727640751.3104744, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=float): result = 2.71828 ()", + "module": "test", + "msecs": 310.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8092.435121536255, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 310.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8092.492580413818, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.745887756347656e-05 + }, + { + "args": [ + "['one', 2, 3, '4']", + "" + ], + "asctime": "2024-09-29 22:12:31,311", + "created": 1727640751.311238, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=list is correct (Content ['one', 2, 3, '4'] and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:31,310", + "created": 1727640751.3106346, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='list' from source instance", + "module": "__init__", + "msecs": 310.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8092.595338821411, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "list", + [ + "one", + 2, + 3, + "4" + ], + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,310", + "created": 1727640751.3106937, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=list, value=['one', 2, 3, '4'] with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 310.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8092.654466629028, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,310", + "created": 1727640751.3109438, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 310.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8092.904567718506, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 'one', 2, 3, '4' ]", + "" + ], + "asctime": "2024-09-29 22:12:31,311", + "created": 1727640751.3110828, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=list): [ 'one', 2, 3, '4' ] ()", + "module": "test", + "msecs": 311.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8093.043565750122, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "=", + "[ 'one', 2, 3, '4' ]", + "" + ], + "asctime": "2024-09-29 22:12:31,311", + "created": 1727640751.311155, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=list): result = [ 'one', 2, 3, '4' ] ()", + "module": "test", + "msecs": 311.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8093.11580657959, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 311.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8093.198776245117, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 8.296966552734375e-05 + }, + { + "args": [ + "{'1': '1', '2': 2, '3': 'three', '4': '4'}", + "" + ], + "asctime": "2024-09-29 22:12:31,312", + "created": 1727640751.3120024, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=dict is correct (Content {'1': '1', '2': 2, '3': 'three', '4': '4'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "dict" + ], + "asctime": "2024-09-29 22:12:31,311", + "created": 1727640751.3113399, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='dict' from source instance", + "module": "__init__", + "msecs": 311.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8093.300580978394, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "dict", + { + "1": "1", + "2": 2, + "3": "three", + "4": "4" + }, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,311", + "created": 1727640751.311399, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=dict, value={'1': '1', '2': 2, '3': 'three', '4': '4'} with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 311.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8093.359708786011, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,311", + "created": 1727640751.3116882, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 311.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8093.648910522461, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': '1', '2': 2, '3': 'three', '4': '4' }", + "" + ], + "asctime": "2024-09-29 22:12:31,311", + "created": 1727640751.3118434, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=dict): { '1': '1', '2': 2, '3': 'three', '4': '4' } ()", + "module": "test", + "msecs": 311.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8093.804121017456, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "=", + "{ '1': '1', '2': 2, '3': 'three', '4': '4' }", + "" + ], + "asctime": "2024-09-29 22:12:31,311", + "created": 1727640751.3119216, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=dict): result = { '1': '1', '2': 2, '3': 'three', '4': '4' } ()", + "module": "test", + "msecs": 311.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8093.882322311401, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 312.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8093.963146209717, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 8.082389831542969e-05 + }, + { + "args": [ + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,312", + "created": 1727640751.3127248, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=none is correct (Content 'not None' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "none" + ], + "asctime": "2024-09-29 22:12:31,312", + "created": 1727640751.3121045, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='none' from source instance", + "module": "__init__", + "msecs": 312.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8094.065189361572, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "none", + "not None", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,312", + "created": 1727640751.3121648, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=none, value=not None with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 312.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8094.125509262085, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,312", + "created": 1727640751.3124669, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 312.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8094.427585601807, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,312", + "created": 1727640751.3126023, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=none): 'not None' ()", + "module": "test", + "msecs": 312.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8094.563007354736, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "=", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,312", + "created": 1727640751.312668, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=none): result = 'not None' ()", + "module": "test", + "msecs": 312.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8094.628810882568, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 312.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8094.6855545043945, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.6743621826171875e-05 + } + ], + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.006223917007446289, + "time_finished": "2024-09-29 22:12:31,312", + "time_start": "2024-09-29 22:12:31,306" + }, + "_FX360HvLEe-DRNATe61b9w": { + "args": null, + "asctime": "2024-09-29 22:12:31,312", + "created": 1727640751.3129325, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testCase", + "levelname": "INFO", + "levelno": 20, + "lineno": 323, + "message": "_FX360HvLEe-DRNATe61b9w", + "module": "__init__", + "moduleLogger": [], + "msecs": 312.0, + "msg": "_FX360HvLEe-DRNATe61b9w", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8094.893217086792, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,313", + "created": 1727640751.3131495, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,313", + "created": 1727640751.3130524, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 313.0, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8095.01314163208, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 313.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8095.110177993774, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 9.703636169433594e-05 + }, + { + "args": [ + "'property_cache_json'" + ], + "asctime": "2024-09-29 22:12:31,314", + "created": 1727640751.3142805, + "exc_info": null, + "exc_text": null, + "filename": "test_dump_cache.py", + "funcName": "dump_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 52, + "message": "Prepare: First usage of 'property_cache_json' with a class holding the data to be cached", + "module": "test_dump_cache", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,313", + "created": 1727640751.313282, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 313.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8095.242738723755, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:31,313", + "created": 1727640751.3133955, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 313.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8095.356225967407, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,314", + "created": 1727640751.3141446, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 314.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8096.105337142944, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 314.0, + "msg": "Prepare: First usage of %s with a class holding the data to be cached", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_dump_cache.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8096.241235733032, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00013589859008789062 + }, + { + "args": [ + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,315", + "created": 1727640751.3152165, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=str is correct (Content '__string__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,314", + "created": 1727640751.3145006, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 286, + "message": "Loading properties from cache (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 314.0, + "msg": "Loading properties from cache (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8096.461296081543, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2024-09-29 22:12:31,314", + "created": 1727640751.314583, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 205, + "message": "Source uid changed, ignoring previous cache data", + "module": "__init__", + "msecs": 314.0, + "msg": "Source uid changed, ignoring previous cache data", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8096.543788909912, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:31,314", + "created": 1727640751.3146482, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='str' from source instance", + "module": "__init__", + "msecs": 314.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8096.608877182007, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str", + "__string__", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,314", + "created": 1727640751.3147044, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=str, value=__string__ with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 314.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8096.665143966675, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,314", + "created": 1727640751.3148987, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 314.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8096.859455108643, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,315", + "created": 1727640751.3150494, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=str): '__string__' ()", + "module": "test", + "msecs": 315.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8097.010135650635, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "=", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,315", + "created": 1727640751.3151262, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=str): result = '__string__' ()", + "module": "test", + "msecs": 315.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8097.0869064331055, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 315.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8097.177267074585, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 9.036064147949219e-05 + }, + { + "args": [ + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,316", + "created": 1727640751.3160748, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=unicode is correct (Content '__unicode__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "unicode" + ], + "asctime": "2024-09-29 22:12:31,315", + "created": 1727640751.3153715, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='unicode' from source instance", + "module": "__init__", + "msecs": 315.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8097.332239151001, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "unicode", + "__unicode__", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,315", + "created": 1727640751.315472, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=unicode, value=__unicode__ with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 315.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8097.432613372803, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,315", + "created": 1727640751.3157043, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 315.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8097.665071487427, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,315", + "created": 1727640751.3158693, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=unicode): '__unicode__' ()", + "module": "test", + "msecs": 315.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8097.830057144165, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "=", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,315", + "created": 1727640751.3159685, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=unicode): result = '__unicode__' ()", + "module": "test", + "msecs": 315.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8097.929239273071, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 316.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8098.035573959351, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00010633468627929688 + }, + { + "args": [ + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,316", + "created": 1727640751.3169265, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=integer is correct (Content 34 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:31,316", + "created": 1727640751.3162358, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='integer' from source instance", + "module": "__init__", + "msecs": 316.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8098.196506500244, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "integer", + 34, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,316", + "created": 1727640751.3163352, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=integer, value=34 with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 316.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8098.2959270477295, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,316", + "created": 1727640751.3166494, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 316.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8098.610162734985, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,316", + "created": 1727640751.3167963, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=integer): 34 ()", + "module": "test", + "msecs": 316.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8098.757028579712, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "=", + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,316", + "created": 1727640751.3168678, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=integer): result = 34 ()", + "module": "test", + "msecs": 316.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8098.828554153442, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 316.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8098.887205123901, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.8650970458984375e-05 + }, + { + "args": [ + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,317", + "created": 1727640751.3176165, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=float is correct (Content 2.71828 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "float" + ], + "asctime": "2024-09-29 22:12:31,317", + "created": 1727640751.3170292, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='float' from source instance", + "module": "__init__", + "msecs": 317.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8098.989963531494, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "float", + 2.71828, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,317", + "created": 1727640751.3170898, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=float, value=2.71828 with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 317.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8099.050521850586, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,317", + "created": 1727640751.317321, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 317.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8099.281787872314, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,317", + "created": 1727640751.3174708, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=float): 2.71828 ()", + "module": "test", + "msecs": 317.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8099.43151473999, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "=", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,317", + "created": 1727640751.317539, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=float): result = 2.71828 ()", + "module": "test", + "msecs": 317.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8099.499702453613, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 317.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8099.577188491821, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 7.748603820800781e-05 + }, + { + "args": [ + "['one', 2, 3, '4']", + "" + ], + "asctime": "2024-09-29 22:12:31,318", + "created": 1727640751.318667, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=list is correct (Content ['one', 2, 3, '4'] and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:31,317", + "created": 1727640751.3177428, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='list' from source instance", + "module": "__init__", + "msecs": 317.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8099.703550338745, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "list", + [ + "one", + 2, + 3, + "4" + ], + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,317", + "created": 1727640751.3178298, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=list, value=['one', 2, 3, '4'] with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 317.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8099.790573120117, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,318", + "created": 1727640751.3182018, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 318.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8100.162506103516, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 'one', 2, 3, '4' ]", + "" + ], + "asctime": "2024-09-29 22:12:31,318", + "created": 1727640751.3184283, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=list): [ 'one', 2, 3, '4' ] ()", + "module": "test", + "msecs": 318.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8100.389003753662, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "=", + "[ 'one', 2, 3, '4' ]", + "" + ], + "asctime": "2024-09-29 22:12:31,318", + "created": 1727640751.3185434, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=list): result = [ 'one', 2, 3, '4' ] ()", + "module": "test", + "msecs": 318.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8100.504159927368, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 318.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8100.627660751343, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00012350082397460938 + }, + { + "args": [ + "{'1': '1', '2': 2, '3': 'three', '4': '4'}", + "" + ], + "asctime": "2024-09-29 22:12:31,320", + "created": 1727640751.3201678, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=dict is correct (Content {'1': '1', '2': 2, '3': 'three', '4': '4'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "dict" + ], + "asctime": "2024-09-29 22:12:31,318", + "created": 1727640751.318912, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='dict' from source instance", + "module": "__init__", + "msecs": 318.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8100.872755050659, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "dict", + { + "1": "1", + "2": 2, + "3": "three", + "4": "4" + }, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,319", + "created": 1727640751.319064, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=dict, value={'1': '1', '2': 2, '3': 'three', '4': '4'} with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 319.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8101.024627685547, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,319", + "created": 1727640751.3196056, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 319.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8101.566314697266, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': '1', '2': 2, '3': 'three', '4': '4' }", + "" + ], + "asctime": "2024-09-29 22:12:31,319", + "created": 1727640751.3199608, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=dict): { '1': '1', '2': 2, '3': 'three', '4': '4' } ()", + "module": "test", + "msecs": 319.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8101.921558380127, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "=", + "{ '1': '1', '2': 2, '3': 'three', '4': '4' }", + "" + ], + "asctime": "2024-09-29 22:12:31,320", + "created": 1727640751.3200724, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=dict): result = { '1': '1', '2': 2, '3': 'three', '4': '4' } ()", + "module": "test", + "msecs": 320.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8102.0331382751465, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 320.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8102.128505706787, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 9.5367431640625e-05 + }, + { + "args": [ + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,321", + "created": 1727640751.3211105, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=none is correct (Content 'not None' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "none" + ], + "asctime": "2024-09-29 22:12:31,320", + "created": 1727640751.3203151, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='none' from source instance", + "module": "__init__", + "msecs": 320.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8102.275848388672, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "none", + "not None", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,320", + "created": 1727640751.3203888, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=none, value=not None with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 320.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8102.349519729614, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,320", + "created": 1727640751.3207762, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 320.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8102.736949920654, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,320", + "created": 1727640751.3209672, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=none): 'not None' ()", + "module": "test", + "msecs": 320.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8102.927923202515, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "=", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,321", + "created": 1727640751.3210485, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=none): result = 'not None' ()", + "module": "test", + "msecs": 321.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8103.009223937988, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 321.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8103.071212768555, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 6.198883056640625e-05 + } + ], + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.008177995681762695, + "time_finished": "2024-09-29 22:12:31,321", + "time_start": "2024-09-29 22:12:31,312" + }, + "_JH4owHvLEe-DRNATe61b9w": { + "args": null, + "asctime": "2024-09-29 22:12:31,321", + "created": 1727640751.3213942, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testCase", + "levelname": "INFO", + "levelno": 20, + "lineno": 323, + "message": "_JH4owHvLEe-DRNATe61b9w", + "module": "__init__", + "moduleLogger": [], + "msecs": 321.0, + "msg": "_JH4owHvLEe-DRNATe61b9w", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8103.354930877686, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,321", + "created": 1727640751.321717, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,321", + "created": 1727640751.3215957, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 321.0, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8103.556394577026, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 321.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8103.677749633789, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00012135505676269531 + }, + { + "args": [ + "'property_cache_json'" + ], + "asctime": "2024-09-29 22:12:31,322", + "created": 1727640751.3229527, + "exc_info": null, + "exc_text": null, + "filename": "test_dump_cache.py", + "funcName": "dump_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 52, + "message": "Prepare: First usage of 'property_cache_json' with a class holding the data to be cached", + "module": "test_dump_cache", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,321", + "created": 1727640751.321849, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 321.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8103.809833526611, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:31,321", + "created": 1727640751.3219352, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 321.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8103.895902633667, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,322", + "created": 1727640751.3227441, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 322.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8104.704856872559, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 322.0, + "msg": "Prepare: First usage of %s with a class holding the data to be cached", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_dump_cache.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8104.9134731292725, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.0002086162567138672 + }, + { + "args": [ + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,323", + "created": 1727640751.3238986, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=str is correct (Content '__string__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,323", + "created": 1727640751.3232033, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 286, + "message": "Loading properties from cache (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 323.0, + "msg": "Loading properties from cache (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8105.164051055908, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [], + "asctime": "2024-09-29 22:12:31,323", + "created": 1727640751.3232908, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_init_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 209, + "message": "Storage version changed, ignoring previous cache data", + "module": "__init__", + "msecs": 323.0, + "msg": "Storage version changed, ignoring previous cache data", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8105.2515506744385, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:31,323", + "created": 1727640751.323353, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='str' from source instance", + "module": "__init__", + "msecs": 323.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8105.313777923584, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str", + "__string__", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,323", + "created": 1727640751.3234105, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=str, value=__string__ with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 323.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8105.3712368011475, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,323", + "created": 1727640751.323611, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 323.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8105.571746826172, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,323", + "created": 1727640751.3237684, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=str): '__string__' ()", + "module": "test", + "msecs": 323.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8105.729103088379, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "=", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,323", + "created": 1727640751.323841, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=str): result = '__string__' ()", + "module": "test", + "msecs": 323.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8105.801820755005, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 323.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8105.859279632568, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.745887756347656e-05 + }, + { + "args": [ + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,324", + "created": 1727640751.3245234, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=unicode is correct (Content '__unicode__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "unicode" + ], + "asctime": "2024-09-29 22:12:31,323", + "created": 1727640751.3239994, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='unicode' from source instance", + "module": "__init__", + "msecs": 323.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8105.960130691528, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "unicode", + "__unicode__", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,324", + "created": 1727640751.3240592, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=unicode, value=__unicode__ with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 324.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8106.019973754883, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,324", + "created": 1727640751.3242579, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 324.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8106.218576431274, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,324", + "created": 1727640751.3243945, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=unicode): '__unicode__' ()", + "module": "test", + "msecs": 324.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8106.3551902771, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "=", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,324", + "created": 1727640751.3244665, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=unicode): result = '__unicode__' ()", + "module": "test", + "msecs": 324.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8106.427192687988, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 324.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8106.484174728394, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.698204040527344e-05 + }, + { + "args": [ + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,325", + "created": 1727640751.3253167, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=integer is correct (Content 34 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:31,324", + "created": 1727640751.3246207, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='integer' from source instance", + "module": "__init__", + "msecs": 324.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8106.581449508667, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "integer", + 34, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,324", + "created": 1727640751.3246794, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=integer, value=34 with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 324.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8106.640100479126, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,325", + "created": 1727640751.3250256, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 325.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8106.986284255981, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,325", + "created": 1727640751.3251648, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=integer): 34 ()", + "module": "test", + "msecs": 325.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8107.125520706177, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "=", + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,325", + "created": 1727640751.3252525, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=integer): result = 34 ()", + "module": "test", + "msecs": 325.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8107.213258743286, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 325.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8107.277393341064, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 6.413459777832031e-05 + }, + { + "args": [ + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,325", + "created": 1727640751.3259897, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=float is correct (Content 2.71828 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "float" + ], + "asctime": "2024-09-29 22:12:31,325", + "created": 1727640751.3254228, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='float' from source instance", + "module": "__init__", + "msecs": 325.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8107.383489608765, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "float", + 2.71828, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,325", + "created": 1727640751.325483, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=float, value=2.71828 with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 325.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8107.443809509277, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,325", + "created": 1727640751.325712, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 325.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8107.672691345215, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,325", + "created": 1727640751.3258529, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=float): 2.71828 ()", + "module": "test", + "msecs": 325.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8107.813596725464, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "=", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,325", + "created": 1727640751.3259296, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=float): result = 2.71828 ()", + "module": "test", + "msecs": 325.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8107.890367507935, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 325.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8107.950448989868, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 6.008148193359375e-05 + }, + { + "args": [ + "['one', 2, 3, '4']", + "" + ], + "asctime": "2024-09-29 22:12:31,326", + "created": 1727640751.3267531, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=list is correct (Content ['one', 2, 3, '4'] and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:31,326", + "created": 1727640751.3260894, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='list' from source instance", + "module": "__init__", + "msecs": 326.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8108.050107955933, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "list", + [ + "one", + 2, + 3, + "4" + ], + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,326", + "created": 1727640751.3261495, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=list, value=['one', 2, 3, '4'] with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 326.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8108.110189437866, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,326", + "created": 1727640751.3264253, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 326.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8108.386039733887, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 'one', 2, 3, '4' ]", + "" + ], + "asctime": "2024-09-29 22:12:31,326", + "created": 1727640751.3265758, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=list): [ 'one', 2, 3, '4' ] ()", + "module": "test", + "msecs": 326.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8108.5364818573, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "=", + "[ 'one', 2, 3, '4' ]", + "" + ], + "asctime": "2024-09-29 22:12:31,326", + "created": 1727640751.32665, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=list): result = [ 'one', 2, 3, '4' ] ()", + "module": "test", + "msecs": 326.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8108.6106300354, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 326.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8108.713865280151, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00010323524475097656 + }, + { + "args": [ + "{'1': '1', '2': 2, '3': 'three', '4': '4'}", + "" + ], + "asctime": "2024-09-29 22:12:31,327", + "created": 1727640751.3276808, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=dict is correct (Content {'1': '1', '2': 2, '3': 'three', '4': '4'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "dict" + ], + "asctime": "2024-09-29 22:12:31,326", + "created": 1727640751.3269246, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='dict' from source instance", + "module": "__init__", + "msecs": 326.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8108.885288238525, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "dict", + { + "1": "1", + "2": 2, + "3": "three", + "4": "4" + }, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,327", + "created": 1727640751.3270283, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=dict, value={'1': '1', '2': 2, '3': 'three', '4': '4'} with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 327.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8108.989000320435, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,327", + "created": 1727640751.3273504, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 327.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8109.311103820801, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': '1', '2': 2, '3': 'three', '4': '4' }", + "" + ], + "asctime": "2024-09-29 22:12:31,327", + "created": 1727640751.3275113, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=dict): { '1': '1', '2': 2, '3': 'three', '4': '4' } ()", + "module": "test", + "msecs": 327.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8109.472036361694, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "=", + "{ '1': '1', '2': 2, '3': 'three', '4': '4' }", + "" + ], + "asctime": "2024-09-29 22:12:31,327", + "created": 1727640751.3275943, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=dict): result = { '1': '1', '2': 2, '3': 'three', '4': '4' } ()", + "module": "test", + "msecs": 327.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8109.555006027222, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 327.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8109.641551971436, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 8.654594421386719e-05 + }, + { + "args": [ + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,328", + "created": 1727640751.3284683, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=none is correct (Content 'not None' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "none" + ], + "asctime": "2024-09-29 22:12:31,327", + "created": 1727640751.3277864, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='none' from source instance", + "module": "__init__", + "msecs": 327.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8109.7471714019775, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "none", + "not None", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,327", + "created": 1727640751.3278477, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=none, value=not None with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 327.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8109.808444976807, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,328", + "created": 1727640751.3281515, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 328.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8110.112190246582, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,328", + "created": 1727640751.3283355, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=none): 'not None' ()", + "module": "test", + "msecs": 328.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8110.296249389648, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "=", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,328", + "created": 1727640751.3284094, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=none): result = 'not None' ()", + "module": "test", + "msecs": 328.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8110.37015914917, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 328.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8110.429048538208, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.888938903808594e-05 + } + ], + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.007074117660522461, + "time_finished": "2024-09-29 22:12:31,328", + "time_start": "2024-09-29 22:12:31,321" + }, + "_KoUosHnGEe-IT79pgSFFDQ": { + "args": null, + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2787824, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testCase", + "levelname": "INFO", + "levelno": 20, + "lineno": 323, + "message": "_KoUosHnGEe-IT79pgSFFDQ", + "module": "__init__", + "moduleLogger": [], + "msecs": 278.0, + "msg": "_KoUosHnGEe-IT79pgSFFDQ", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.743093490600586, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2789335, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.278896, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Cache file does not exist on filesystem.", + "module": "test_helpers", + "msecs": 278.0, + "msg": "Cache file does not exist on filesystem.", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.85681915283203, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 278.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.89425086975098, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.743171691894531e-05 + }, + { + "args": [ + "6.004939794540405", + "" + ], + "asctime": "2024-09-29 22:12:29,284", + "created": 1727640749.284421, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "greater_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 230, + "message": "Consumed time for full_update is greater expectation (Content 6.004939794540405 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,279", + "created": 1727640743.279011, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 279.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.971736907958984, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:23,279", + "created": 1727640743.2790637, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 279.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 61.02442741394043, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:23,279", + "created": 1727640743.2794511, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 279.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 61.41185760498047, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_full_update_sleep.json" + ], + "asctime": "2024-09-29 22:12:29,283", + "created": 1727640749.2835376, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_full_update_sleep.json)", + "module": "__init__", + "msecs": 283.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6065.498352050781, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Consumed time for full_update", + "6.004939794540405", + "" + ], + "asctime": "2024-09-29 22:12:29,284", + "created": 1727640749.2840207, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Consumed time for full_update): 6.004939794540405 ()", + "module": "test", + "msecs": 284.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6065.981388092041, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Consumed time for full_update", + ">", + "6.0", + "" + ], + "asctime": "2024-09-29 22:12:29,284", + "created": 1727640749.2842119, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Consumed time for full_update): result > 6.0 ()", + "module": "test", + "msecs": 284.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6066.1725997924805, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 284.0, + "msg": "Consumed time for full_update is greater expectation (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6066.3816928863525, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.0002090930938720703 + }, + { + "args": [ + "6.004939794540405", + "" + ], + "asctime": "2024-09-29 22:12:29,285", + "created": 1727640749.2850544, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "less_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 207, + "message": "Consumed time for full_update is greater expectation (Content 6.004939794540405 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Consumed time for full_update", + "6.004939794540405", + "" + ], + "asctime": "2024-09-29 22:12:29,284", + "created": 1727640749.2847397, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Consumed time for full_update): 6.004939794540405 ()", + "module": "test", + "msecs": 284.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6066.700458526611, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Consumed time for full_update", + "<", + "6.5", + "" + ], + "asctime": "2024-09-29 22:12:29,284", + "created": 1727640749.284898, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Consumed time for full_update): result < 6.5 ()", + "module": "test", + "msecs": 284.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6066.858768463135, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 285.0, + "msg": "Consumed time for full_update is greater expectation (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6067.015171051025, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.000156402587890625 + } + ], + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 6.006272077560425, + "time_finished": "2024-09-29 22:12:29,285", + "time_start": "2024-09-29 22:12:23,278" + }, + "_SVQXQHvLEe-DRNATe61b9w": { + "args": null, + "asctime": "2024-09-29 22:12:31,332", + "created": 1727640751.332378, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testCase", + "levelname": "INFO", + "levelno": 20, + "lineno": 323, + "message": "_SVQXQHvLEe-DRNATe61b9w", + "module": "__init__", + "moduleLogger": [], + "msecs": 332.0, + "msg": "_SVQXQHvLEe-DRNATe61b9w", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8114.338636398315, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,332", + "created": 1727640751.3326735, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,332", + "created": 1727640751.3325663, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 332.0, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8114.526987075806, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 332.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8114.634275436401, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00010728836059570312 + }, + { + "args": [ + "'property_cache_json'" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.334234, + "exc_info": null, + "exc_text": null, + "filename": "test_source_key_definition.py", + "funcName": "source_key_definition", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 38, + "message": "Prepare: First usage of 'property_cache_json' with a class holding the data to be cached", + "module": "test_source_key_definition", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,332", + "created": 1727640751.3327916, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 332.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8114.752292633057, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:31,332", + "created": 1727640751.3328552, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 332.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8114.815950393677, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:31,333", + "created": 1727640751.3333204, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 333.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8115.281105041504, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_source_key_def.json" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.3341112, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_source_key_def.json)", + "module": "__init__", + "msecs": 334.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.071939468384, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 334.0, + "msg": "Prepare: First usage of %s with a class holding the data to be cached", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_source_key_definition.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.194725036621, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.0001227855682373047 + }, + { + "args": [ + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.3345125, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=str is correct (Content '__string__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.334356, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 175, + "message": "Key 'str' is excluded by .add_source_get_keys(). Uncached data will be returned.", + "module": "__init__", + "msecs": 334.0, + "msg": "Key '%s' is excluded by .add_source_get_keys(). Uncached data will be returned.", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.316795349121, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.334416, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=str): '__string__' ()", + "module": "test", + "msecs": 334.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.376638412476, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "=", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.334465, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=str): result = '__string__' ()", + "module": "test", + "msecs": 334.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.4257526397705, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 334.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.473197937012, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 4.744529724121094e-05 + }, + { + "args": [ + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.3348725, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=unicode is correct (Content 'unicode' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_source_key_def.json" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.3346765, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 286, + "message": "Loading properties from cache (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_source_key_def.json)", + "module": "__init__", + "msecs": 334.0, + "msg": "Loading properties from cache (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.637229919434, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "unicode" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.3347516, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'unicode' from cache", + "module": "__init__", + "msecs": 334.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.712331771851, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.334795, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=unicode): 'unicode' ()", + "module": "test", + "msecs": 334.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.755723953247, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "=", + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.3348358, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=unicode): result = 'unicode' ()", + "module": "test", + "msecs": 334.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.796493530273, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 334.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.833209991455, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.6716461181640625e-05 + }, + { + "args": [ + "17", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3350494, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=integer is correct (Content 17 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.3349364, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'integer' from cache", + "module": "__init__", + "msecs": 334.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.897106170654, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "17", + "" + ], + "asctime": "2024-09-29 22:12:31,334", + "created": 1727640751.3349779, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=integer): 17 ()", + "module": "test", + "msecs": 334.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.938591003418, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "=", + "17", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3350139, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=integer): result = 17 ()", + "module": "test", + "msecs": 335.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8116.974592208862, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 335.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.010116577148, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.552436828613281e-05 + }, + { + "args": [ + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3352993, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=float is correct (Content 2.71828 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "float" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3351204, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 175, + "message": "Key 'float' is excluded by .add_source_get_keys(). Uncached data will be returned.", + "module": "__init__", + "msecs": 335.0, + "msg": "Key '%s' is excluded by .add_source_get_keys(). Uncached data will be returned.", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.081165313721, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3351874, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=float): 2.71828 ()", + "module": "test", + "msecs": 335.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.148160934448, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "=", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3352466, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=float): result = 2.71828 ()", + "module": "test", + "msecs": 335.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.207288742065, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 335.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.259979248047, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.269050598144531e-05 + }, + { + "args": [ + "[1, 'two', '3', 4]", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3355477, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=list is correct (Content [1, 'two', '3', 4] and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3353896, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'list' from cache", + "module": "__init__", + "msecs": 335.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.350339889526, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3354514, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=list): [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 335.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.412090301514, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "=", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3354933, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=list): result = [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 335.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.454051971436, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 335.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.508411407471, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.435943603515625e-05 + }, + { + "args": [ + "{'1': 1, '2': 'two', '3': '3', '4': 4}", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3357782, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=dict is correct (Content {'1': 1, '2': 'two', '3': '3', '4': 4} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "dict" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3356118, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'dict' from cache", + "module": "__init__", + "msecs": 335.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.572546005249, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3356626, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=dict): { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", + "module": "test", + "msecs": 335.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.623329162598, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "=", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.335718, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=dict): result = { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", + "module": "test", + "msecs": 335.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.678642272949, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 335.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.738962173462, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 6.031990051269531e-05 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3359764, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=none is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "none" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.335844, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'none' from cache", + "module": "__init__", + "msecs": 335.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.804765701294, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "None", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3358872, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=none): None ()", + "module": "test", + "msecs": 335.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.847919464111, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "=", + "None", + "" + ], + "asctime": "2024-09-29 22:12:31,335", + "created": 1727640751.3359306, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=none): result = None ()", + "module": "test", + "msecs": 335.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.891311645508, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 335.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8117.937088012695, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 4.57763671875e-05 + } + ], + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.003598451614379883, + "time_finished": "2024-09-29 22:12:31,335", + "time_start": "2024-09-29 22:12:31,332" + }, + "_XzMFcHYZEem_kd-7nxt1sg": { + "args": null, + "asctime": "2024-09-29 22:12:23,271", + "created": 1727640743.271273, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testCase", + "levelname": "INFO", + "levelno": 20, + "lineno": 323, + "message": "_XzMFcHYZEem_kd-7nxt1sg", + "module": "__init__", + "moduleLogger": [], + "msecs": 271.0, + "msg": "_XzMFcHYZEem_kd-7nxt1sg", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 53.23362350463867, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,271", + "created": 1727640743.2714062, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,271", + "created": 1727640743.2713473, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 271.0, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 53.30801010131836, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 271.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 53.366899490356445, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.888938903808594e-05 + }, + { + "args": [ + "'property_cache_pickle'" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.272087, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 49, + "message": "Prepare: First usage of 'property_cache_pickle' with a class holding the data to be cached", + "module": "test_cached_data", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,271", + "created": 1727640743.2714791, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 271.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 53.43985557556152, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:23,271", + "created": 1727640743.2715328, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 271.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 53.493499755859375, + "stack_info": null, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.pkl" ], - "asctime": "2024-09-23 07:59:55,199", - "created": 1727071195.1990564, + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.272023, "exc_info": null, "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.pkl as cache file.", - "module": "test_helpers", - "msecs": 199.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 246, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 272.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, "processName": "MainProcess", - "relativeCreated": 61.68818473815918, + "relativeCreated": 53.98368835449219, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 199.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 62.157630920410156, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.00046944618225097656 - }, - { - "args": [], - "asctime": "2024-09-23 07:59:55,199", - "created": 1727071195.1996953, - "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": [], - "msecs": 199.0, - "msg": "Collecting data from cache instance.", + "msecs": 272.0, + "msg": "Prepare: First usage of %s with a class holding the data to be cached", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_cached_data.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 62.32714653015137, + "relativeCreated": 54.04782295227051, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 0.0 + "time_consumption": 6.413459777832031e-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'}", + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2723503, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=str is correct (Content 'string' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.pkl" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2721999, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 220, + "message": "Loading properties from cache (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.pkl)", + "module": "__init__", + "msecs": 272.0, + "msg": "Loading properties from cache (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.16059494018555, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.272247, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'str' from cache", + "module": "__init__", + "msecs": 272.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.207801818847656, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2722852, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=str): 'string' ()", + "module": "test", + "msecs": 272.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.245948791503906, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "=", + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2723176, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=str): result = 'string' ()", + "module": "test", + "msecs": 272.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.27837371826172, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 272.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.31103706359863, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.266334533691406e-05 + }, + { + "args": [ + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2725086, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=unicode is correct (Content 'unicode' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "unicode" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.272406, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'unicode' from cache", + "module": "__init__", + "msecs": 272.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.3668270111084, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2724452, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=unicode): 'unicode' ()", + "module": "test", + "msecs": 272.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.405927658081055, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "=", + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2724771, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=unicode): result = 'unicode' ()", + "module": "test", + "msecs": 272.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.437875747680664, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 272.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.46934700012207, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.147125244140625e-05 + }, + { + "args": [ + "17", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2726607, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=integer is correct (Content 17 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2725623, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'integer' from cache", + "module": "__init__", + "msecs": 272.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.52299118041992, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "17", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2725985, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=integer): 17 ()", + "module": "test", + "msecs": 272.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.55923080444336, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "=", + "17", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2726297, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=integer): result = 17 ()", + "module": "test", + "msecs": 272.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.590463638305664, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 272.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.62145805358887, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.0994415283203125e-05 + }, + { + "args": [ + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2728162, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=float is correct (Content 3.14159 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "float" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2727141, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'float' from cache", + "module": "__init__", + "msecs": 272.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.67486381530762, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2727516, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=float): 3.14159 ()", + "module": "test", + "msecs": 272.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.71229553222656, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "=", + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2727842, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=float): result = 3.14159 ()", + "module": "test", + "msecs": 272.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.74495887756348, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 272.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.776906967163086, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.1948089599609375e-05 + }, + { + "args": [ + "[1, 'two', '3', 4]", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2729938, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=list is correct (Content [1, 'two', '3', 4] and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2728677, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'list' from cache", + "module": "__init__", + "msecs": 272.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.82840538024902, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2729104, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=list): [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 272.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.8710823059082, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "=", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:23,272", + "created": 1727640743.2729464, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=list): result = [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 272.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.90708351135254, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 272.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 54.95452880859375, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 4.744529724121094e-05 + }, + { + "args": [ + "{'1': 1, '2': 'two', '3': '3', '4': 4}", "" ], - "asctime": "2024-09-23 07:59:55,199", - "created": 1727071195.199886, + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.273175, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2947,17 +10167,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "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 ).", + "message": "Data from cached instance with key=dict is correct (Content {'1': 1, '2': 'two', '3': '3', '4': 4} 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' }", + "dict" + ], + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.273048, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'dict' from cache", + "module": "__init__", + "msecs": 273.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 55.008649826049805, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", "" ], - "asctime": "2024-09-23 07:59:55,199", - "created": 1727071195.1997674, + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.273091, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2965,28 +10211,28 @@ "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' } ()", + "message": "Result (Data from cached instance with key=dict): { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", "module": "test", - "msecs": 199.0, + "msecs": 273.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 62.39914894104004, + "relativeCreated": 55.05180358886719, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Cached data", + "Data from cached instance with key=dict", "=", - "{ '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' }", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", "" ], - "asctime": "2024-09-23 07:59:55,199", - "created": 1727071195.1998205, + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2731292, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -2994,175 +10240,39 @@ "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' } ()", + "message": "Expectation (Data from cached instance with key=dict): result = { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", "module": "test", - "msecs": 199.0, + "msecs": 273.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 62.45231628417969, + "relativeCreated": 55.08995056152344, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 199.0, - "msg": "Cached data is correct (Content %s and Type is %s).", + "msecs": 273.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 62.51788139343262, + "relativeCreated": 55.13572692871094, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 6.556510925292969e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0009412765502929688, - "time_finished": "2024-09-23 07:59:55,199", - "time_start": "2024-09-23 07:59:55,198" - }, - "caching.property_cache_pickle: Test cached data (partially init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,199", - "created": 1727071195.1999803, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_pickle: Test cached data (partially init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 199.0, - "msg": "caching.property_cache_pickle: Test cached data (partially init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 62.612056732177734, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_pickle", - "True" - ], - "asctime": "2024-09-23 07:59:55,200", - "created": 1727071195.200597, - "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": "2024-09-23 07:59:55,200", - "created": 1727071195.2000377, - "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": 200.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 62.66951560974121, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl" - ], - "asctime": "2024-09-23 07:59:55,200", - "created": 1727071195.2000933, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_no_load_on_init.pkl as cache file.", - "module": "test_helpers", - "msecs": 200.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 62.725067138671875, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 200.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 63.22884559631348, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0005037784576416016 - }, - { - "args": [], - "asctime": "2024-09-23 07:59:55,200", - "created": 1727071195.200748, - "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": [], - "msecs": 200.0, - "msg": "Collecting data from cache instance.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_cached_data.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 63.379764556884766, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0 + "time_consumption": 4.57763671875e-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'}", - "" + "None", + "" ], - "asctime": "2024-09-23 07:59:55,200", - "created": 1727071195.200939, + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2733333, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -3170,17 +10280,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "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 ).", + "message": "Data from cached instance with key=none is correct (Content None 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' }", - "" + "none" ], - "asctime": "2024-09-23 07:59:55,200", - "created": 1727071195.200822, + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.273229, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'none' from cache", + "module": "__init__", + "msecs": 273.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 55.18960952758789, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "None", + "" + ], + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2732656, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -3188,28 +10324,28 @@ "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' } ()", + "message": "Result (Data from cached instance with key=none): None ()", "module": "test", - "msecs": 200.0, + "msecs": 273.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 63.45391273498535, + "relativeCreated": 55.22632598876953, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Cached data", + "Data from cached instance with key=none", "=", - "{ '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' }", - "" + "None", + "" ], - "asctime": "2024-09-23 07:59:55,200", - "created": 1727071195.2008712, + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2733, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -3217,1474 +10353,39 @@ "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' } ()", + "message": "Expectation (Data from cached instance with key=none): result = None ()", "module": "test", - "msecs": 200.0, + "msecs": 273.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 63.50302696228027, + "relativeCreated": 55.260658264160156, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 200.0, - "msg": "Cached data is correct (Content %s and Type is %s).", + "msecs": 273.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 63.57073783874512, + "relativeCreated": 55.294036865234375, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 6.771087646484375e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0009586811065673828, - "time_finished": "2024-09-23 07:59:55,200", - "time_start": "2024-09-23 07:59:55,199" - }, - "caching.property_cache_pickle: Test execution of save callback (full init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,207", - "created": 1727071195.2070835, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_pickle: Test execution of save callback (full init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 207.0, - "msg": "caching.property_cache_pickle: Test execution of save callback (full init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 69.71526145935059, - "stack_info": null, - "testcaseLogger": [ - { - "args": [], - "asctime": "2024-09-23 07:59:55,207", - "created": 1727071195.2071424, - "exc_info": null, - "exc_text": null, - "filename": "test_save_callback.py", - "funcName": "save_callback", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Installing save_callback, which sets a variable to True on execution.", - "module": "test_save_callback", - "moduleLogger": [], - "msecs": 207.0, - "msg": "Installing save_callback, which sets a variable to True on execution.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_save_callback.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 69.77415084838867, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0 - }, - { - "args": [ - "True", - "" - ], - "asctime": "2024-09-23 07:59:55,207", - "created": 1727071195.207363, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 184, - "message": "Save callback execution variable is correct (Content True and Type is ).", - "module": "test", - "moduleLogger": [ - { - "args": [ - "Save callback execution variable", - "True", - "" - ], - "asctime": "2024-09-23 07:59:55,207", - "created": 1727071195.2072573, - "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": 207.0, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 69.88906860351562, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "Save callback execution variable", - "=", - "True", - "" - ], - "asctime": "2024-09-23 07:59:55,207", - "created": 1727071195.207313, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation__", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 26, - "message": "Expectation (Save callback execution variable): result = True ()", - "module": "test", - "msecs": 207.0, - "msg": "Expectation (%s): result %s %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 69.94485855102539, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 207.0, - "msg": "Save callback execution variable is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 69.99468803405762, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 4.982948303222656e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.00027942657470703125, - "time_finished": "2024-09-23 07:59:55,207", - "time_start": "2024-09-23 07:59:55,207" - }, - "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object": { - "args": null, - "asctime": "2024-09-23 07:59:55,196", - "created": 1727071195.1969397, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object", - "module": "__init__", - "moduleLogger": [], - "msecs": 196.0, - "msg": "caching.property_cache_pickle: Test full initialised PICKLE-Cache-Object", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 59.57150459289551, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_pickle", - "True" - ], - "asctime": "2024-09-23 07:59:55,197", - "created": 1727071195.1975293, - "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": "2024-09-23 07:59:55,196", - "created": 1727071195.196998, - "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": 196.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 59.62967872619629, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/load_on_init.pkl" - ], - "asctime": "2024-09-23 07:59:55,197", - "created": 1727071195.1970534, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/load_on_init.pkl as cache file.", - "module": "test_helpers", - "msecs": 197.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 59.68523025512695, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 197.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 60.16111373901367, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.00047588348388671875 - }, - { - "args": [ - "property_cache_pickle" - ], - "asctime": "2024-09-23 07:59:55,197", - "created": 1727071195.197691, - "exc_info": null, - "exc_text": null, - "filename": "test_load_on_init.py", - "funcName": "load_on_init", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 21, - "message": "Extracting storage object from property_cache_pickle for comparison.", - "module": "test_load_on_init", - "moduleLogger": [ - { - "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": "2024-09-23 07:59:55,197", - "created": 1727071195.1976552, - "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}}", - "module": "test_load_on_init", - "msecs": 197.0, - "msg": "Using storage object of cache class for comparison: %s", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_load_on_init.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 60.2869987487793, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 197.0, - "msg": "Extracting storage object from %s for comparison.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_load_on_init.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 60.32276153564453, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 3.5762786865234375e-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": "2024-09-23 07:59:55,197", - "created": 1727071195.1978738, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 184, - "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": "2024-09-23 07:59:55,197", - "created": 1727071195.1977608, - "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": 197.0, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 60.39261817932129, - "stack_info": null, - "thread": 140535965610048, - "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": "2024-09-23 07:59:55,197", - "created": 1727071195.1978068, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation__", - "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": 197.0, - "msg": "Expectation (%s): result %s %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 60.43863296508789, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 197.0, - "msg": "Cache object is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 60.50562858581543, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 6.699562072753906e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0009341239929199219, - "time_finished": "2024-09-23 07:59:55,197", - "time_start": "2024-09-23 07:59:55,196" - }, - "caching.property_cache_pickle: Test get from source caused by changed uid (full init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,204", - "created": 1727071195.2041287, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_pickle: Test get from source caused by changed uid (full init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 204.0, - "msg": "caching.property_cache_pickle: Test get from source caused by changed uid (full init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 66.76054000854492, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_pickle", - "True" - ], - "asctime": "2024-09-23 07:59:55,204", - "created": 1727071195.2047074, - "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": "2024-09-23 07:59:55,204", - "created": 1727071195.2041874, - "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": 204.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 66.8191909790039, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/uid_test_load_on_init.pkl" - ], - "asctime": "2024-09-23 07:59:55,204", - "created": 1727071195.2042425, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/uid_test_load_on_init.pkl as cache file.", - "module": "test_helpers", - "msecs": 204.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 66.87426567077637, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 204.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 67.33918190002441, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0004649162292480469 - }, - { - "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": "2024-09-23 07:59:55,205", - "created": 1727071195.2054503, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 184, - "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": [ - "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": "2024-09-23 07:59:55,205", - "created": 1727071195.205315, - "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": 205.0, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 67.9469108581543, - "stack_info": null, - "thread": 140535965610048, - "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": "2024-09-23 07:59:55,205", - "created": 1727071195.2053819, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation__", - "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": 205.0, - "msg": "Expectation (%s): result %s %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 68.01366806030273, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 205.0, - "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 68.08209419250488, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 6.842613220214844e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.001321554183959961, - "time_finished": "2024-09-23 07:59:55,205", - "time_start": "2024-09-23 07:59:55,204" - }, - "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,205", - "created": 1727071195.205607, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 205.0, - "msg": "caching.property_cache_pickle: Test get from source caused by changed uid (partially init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 68.23873519897461, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_pickle", - "True" - ], - "asctime": "2024-09-23 07:59:55,206", - "created": 1727071195.2061877, - "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": "2024-09-23 07:59:55,205", - "created": 1727071195.205667, - "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": 205.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 68.2988166809082, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/uid_test_no_load_on_init.pkl" - ], - "asctime": "2024-09-23 07:59:55,205", - "created": 1727071195.2057216, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/uid_test_no_load_on_init.pkl as cache file.", - "module": "test_helpers", - "msecs": 205.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 68.35341453552246, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 206.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 68.81952285766602, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0004661083221435547 - }, - { - "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": "2024-09-23 07:59:55,206", - "created": 1727071195.206988, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 184, - "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": [ - "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": "2024-09-23 07:59:55,206", - "created": 1727071195.2068546, - "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": 206.0, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 69.48637962341309, - "stack_info": null, - "thread": 140535965610048, - "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": "2024-09-23 07:59:55,206", - "created": 1727071195.2069182, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation__", - "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": 206.0, - "msg": "Expectation (%s): result %s %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 69.5500373840332, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 206.0, - "msg": "Instance data after changing uid is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 69.61989402770996, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 6.985664367675781e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0013811588287353516, - "time_finished": "2024-09-23 07:59:55,206", - "time_start": "2024-09-23 07:59:55,205" - }, - "caching.property_cache_pickle: Test get from source caused by increased data version (full init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,201", - "created": 1727071195.2010322, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_pickle: Test get from source caused by increased data version (full init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 201.0, - "msg": "caching.property_cache_pickle: Test get from source caused by increased data version (full init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 63.66395950317383, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_pickle", - "True" - ], - "asctime": "2024-09-23 07:59:55,201", - "created": 1727071195.2016146, - "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": "2024-09-23 07:59:55,201", - "created": 1727071195.201089, - "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": 201.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 63.720703125, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/data_version_test_load_on_init.pkl" - ], - "asctime": "2024-09-23 07:59:55,201", - "created": 1727071195.201145, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/data_version_test_load_on_init.pkl as cache file.", - "module": "test_helpers", - "msecs": 201.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 63.77673149108887, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 201.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 64.24641609191895, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0004696846008300781 - }, - { - "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": "2024-09-23 07:59:55,202", - "created": 1727071195.202375, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 184, - "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": [ - "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": "2024-09-23 07:59:55,202", - "created": 1727071195.202233, - "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": 202.0, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 64.8648738861084, - "stack_info": null, - "thread": 140535965610048, - "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": "2024-09-23 07:59:55,202", - "created": 1727071195.202307, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation__", - "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": 202.0, - "msg": "Expectation (%s): result %s %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 64.93878364562988, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 202.0, - "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 65.00673294067383, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 6.794929504394531e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0013427734375, - "time_finished": "2024-09-23 07:59:55,202", - "time_start": "2024-09-23 07:59:55,201" - }, - "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)": { - "args": null, - "asctime": "2024-09-23 07:59:55,202", - "created": 1727071195.2024686, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)", - "module": "__init__", - "moduleLogger": [], - "msecs": 202.0, - "msg": "caching.property_cache_pickle: Test get from source caused by increased data version (partially init)", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 65.10043144226074, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_pickle", - "True" - ], - "asctime": "2024-09-23 07:59:55,203", - "created": 1727071195.2030509, - "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": "2024-09-23 07:59:55,202", - "created": 1727071195.2025266, - "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": 202.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 65.15836715698242, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/data_version_test_no_load_on_init.pkl" - ], - "asctime": "2024-09-23 07:59:55,202", - "created": 1727071195.2025805, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/data_version_test_no_load_on_init.pkl as cache file.", - "module": "test_helpers", - "msecs": 202.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 65.21224975585938, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 203.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 65.68264961242676, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0004703998565673828 - }, - { - "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": "2024-09-23 07:59:55,204", - "created": 1727071195.2040315, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 184, - "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": [ - "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": "2024-09-23 07:59:55,203", - "created": 1727071195.2038708, - "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": 203.0, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 66.50257110595703, - "stack_info": null, - "thread": 140535965610048, - "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": "2024-09-23 07:59:55,203", - "created": 1727071195.2039587, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation__", - "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": 203.0, - "msg": "Expectation (%s): result %s %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 66.59054756164551, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 204.0, - "msg": "Instance data after increasing data_version is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 66.66326522827148, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 7.271766662597656e-05 - } - ], - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0015628337860107422, - "time_finished": "2024-09-23 07:59:55,204", - "time_start": "2024-09-23 07:59:55,202" - }, - "caching.property_cache_pickle: Test internal key usage": { - "args": null, - "asctime": "2024-09-23 07:59:55,207", - "created": 1727071195.2074633, - "exc_info": null, - "exc_text": null, - "filename": "__init__.py", - "funcName": "testCase", - "levelname": "INFO", - "levelno": 20, - "lineno": 323, - "message": "caching.property_cache_pickle: Test internal key usage", - "module": "__init__", - "moduleLogger": [], - "msecs": 207.0, - "msg": "caching.property_cache_pickle: Test internal key usage", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 70.09506225585938, - "stack_info": null, - "testcaseLogger": [ - { - "args": [ - "property_cache_pickle", - "True" - ], - "asctime": "2024-09-23 07:59:55,207", - "created": 1727071195.207935, - "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": "2024-09-23 07:59:55,207", - "created": 1727071195.207519, - "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": 207.0, - "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 70.15085220336914, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/internal_keys_test.pkl" - ], - "asctime": "2024-09-23 07:59:55,207", - "created": 1727071195.2075734, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/internal_keys_test.pkl as cache file.", - "module": "test_helpers", - "msecs": 207.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 70.2052116394043, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 207.0, - "msg": "Initialising %s (load_all_on_init=%s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 70.56689262390137, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 0.0003616809844970703 - }, - { - "args": [ - "property_cache_pickle" - ], - "asctime": "2024-09-23 07:59:55,208", - "created": 1727071195.208099, - "exc_info": null, - "exc_text": null, - "filename": "test_internal_keys.py", - "funcName": "test_internal_keys", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 21, - "message": "Extracting storage object from property_cache_pickle for comparison.", - "module": "test_internal_keys", - "moduleLogger": [ - { - "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": "2024-09-23 07:59:55,208", - "created": 1727071195.208063, - "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'}", - "module": "test_internal_keys", - "msecs": 208.0, - "msg": "Using storage object of cache class for comparison: %s", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_internal_keys.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 70.6946849822998, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 208.0, - "msg": "Extracting storage object from %s for comparison.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_internal_keys.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 70.73068618774414, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 3.600120544433594e-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": "2024-09-23 07:59:55,208", - "created": 1727071195.2082305, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "equivalency_chk", - "levelname": "INFO", - "levelno": 20, - "lineno": 184, - "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": "2024-09-23 07:59:55,208", - "created": 1727071195.2081542, - "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": 208.0, - "msg": "Result (%s): %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 70.7859992980957, - "stack_info": null, - "thread": 140535965610048, - "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": "2024-09-23 07:59:55,208", - "created": 1727071195.20819, - "exc_info": null, - "exc_text": null, - "filename": "test.py", - "funcName": "__report_expectation__", - "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": 208.0, - "msg": "Expectation (%s): result %s %s (%s)", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 70.82176208496094, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 208.0, - "msg": "Cache is correct (Content %s and Type is %s).", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 70.8622932434082, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 4.0531158447265625e-05 + "time_consumption": 3.337860107421875e-05 }, { "args": [ "5", "" ], - "asctime": "2024-09-23 07:59:55,208", - "created": 1727071195.2083359, + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2734842, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4692,17 +10393,43 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "message": "Keyfilter returnvalue for 5 () is correct (Content 5 and Type is ).", + "message": "Data from cached instance with key=unknown_key is correct (Content 5 and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Keyfilter returnvalue for 5 ()", + "unknown_key" + ], + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2733843, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 173, + "message": "Key 'unknown_key' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 273.0, + "msg": "Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 55.34505844116211, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unknown_key", "5", "" ], - "asctime": "2024-09-23 07:59:55,208", - "created": 1727071195.2082784, + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.27342, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4710,28 +10437,28 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Keyfilter returnvalue for 5 ()): 5 ()", + "message": "Result (Data from cached instance with key=unknown_key): 5 ()", "module": "test", - "msecs": 208.0, + "msecs": 273.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 70.91021537780762, + "relativeCreated": 55.380821228027344, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Keyfilter returnvalue for 5 ()", + "Data from cached instance with key=unknown_key", "=", "5", "" ], - "asctime": "2024-09-23 07:59:55,208", - "created": 1727071195.208308, + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2734513, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4739,43 +10466,43 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Keyfilter returnvalue for 5 ()): result = 5 ()", + "message": "Expectation (Data from cached instance with key=unknown_key): result = 5 ()", "module": "test", - "msecs": 208.0, + "msecs": 273.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 70.93977928161621, + "relativeCreated": 55.41205406188965, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 208.0, - "msg": "Keyfilter returnvalue for 5 () is correct (Content %s and Type is %s).", + "msecs": 273.0, + "msg": "Data from cached instance with key=unknown_key is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 70.9676742553711, + "relativeCreated": 55.444955825805664, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 2.7894973754882812e-05 + "time_consumption": 3.2901763916015625e-05 } ], - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 0.0008726119995117188, - "time_finished": "2024-09-23 07:59:55,208", - "time_start": "2024-09-23 07:59:55,207" + "time_consumption": 0.002211332321166992, + "time_finished": "2024-09-29 22:12:23,273", + "time_start": "2024-09-29 22:12:23,271" }, - "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object": { + "_e-ehkHvLEe-DRNATe61b9w": { "args": null, - "asctime": "2024-09-23 07:59:55,197", - "created": 1727071195.1979659, + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.3361552, "exc_info": null, "exc_text": null, "filename": "__init__.py", @@ -4783,186 +10510,102 @@ "levelname": "INFO", "levelno": 20, "lineno": 323, - "message": "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object", + "message": "_e-ehkHvLEe-DRNATe61b9w", "module": "__init__", "moduleLogger": [], - "msecs": 197.0, - "msg": "caching.property_cache_pickle: Test partially initialised PICKLE-Cache-Object", + "msecs": 336.0, + "msg": "_e-ehkHvLEe-DRNATe61b9w", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 60.59765815734863, + "relativeCreated": 8118.1159019470215, "stack_info": null, "testcaseLogger": [ { - "args": [ - "property_cache_pickle", - "False" - ], - "asctime": "2024-09-23 07:59:55,198", - "created": 1727071195.1981986, + "args": [], + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.336405, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", - "funcName": "init_cache", + "funcName": "clean", "levelname": "DEBUG", "levelno": 10, - "lineno": 24, - "message": "Initialising property_cache_pickle (load_all_on_init=False).", + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", "module": "test_helpers", "moduleLogger": [ { "args": [], - "asctime": "2024-09-23 07:59:55,198", - "created": 1727071195.1980228, + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.3362849, "exc_info": null, "exc_text": null, "filename": "test_helpers.py", - "funcName": "init_cache", + "funcName": "clean", "levelname": "INFO", "levelno": 20, "lineno": 17, "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", "module": "test_helpers", - "msecs": 198.0, + "msecs": 336.0, "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 60.654640197753906, + "relativeCreated": 8118.245601654053, "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - }, - { - "args": [ - "/home/dirk/my_repositories/unittest/caching/unittest/output_data/no_load_on_init.pkl" - ], - "asctime": "2024-09-23 07:59:55,198", - "created": 1727071195.1980777, - "exc_info": null, - "exc_text": null, - "filename": "test_helpers.py", - "funcName": "init_cache", - "levelname": "INFO", - "levelno": 20, - "lineno": 21, - "message": "Initialising cached class with /home/dirk/my_repositories/unittest/caching/unittest/output_data/no_load_on_init.pkl as cache file.", - "module": "test_helpers", - "msecs": 198.0, - "msg": "Initialising cached class with %s as cache file.", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 60.709476470947266, - "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 198.0, - "msg": "Initialising %s (load_all_on_init=%s).", + "msecs": 336.0, + "msg": "Prepare: Cleanup before testcase execution", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 60.83035469055176, + "relativeCreated": 8118.36576461792, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 0.00012087821960449219 + "time_consumption": 0.0001201629638671875 }, { "args": [], - "asctime": "2024-09-23 07:59:55,198", - "created": 1727071195.198564, + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.33648, "exc_info": null, "exc_text": null, - "filename": "test_no_load_on_init.py", - "funcName": "no_load_on_init", + "filename": "test_save_callback.py", + "funcName": "save_callback", "levelname": "DEBUG", "levelno": 10, - "lineno": 18, - "message": "Partially initialising cache object by requesting some information.", - "module": "test_no_load_on_init", + "lineno": 47, + "message": "Installing save_callback with no get or full_update execution.", + "module": "test_save_callback", "moduleLogger": [], - "msecs": 198.0, - "msg": "Partially initialising cache object by requesting some information.", + "msecs": 336.0, + "msg": "Installing save_callback with no get or full_update execution.", "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_no_load_on_init.py", - "process": 308082, + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_save_callback.py", + "process": 536234, "processName": "MainProcess", - "relativeCreated": 61.19585037231445, + "relativeCreated": 8118.440628051758, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", "time_consumption": 0.0 }, { "args": [ - "property_cache_pickle" + "0", + "" ], - "asctime": "2024-09-23 07:59:55,198", - "created": 1727071195.198722, - "exc_info": null, - "exc_text": null, - "filename": "test_no_load_on_init.py", - "funcName": "no_load_on_init", - "levelname": "DEBUG", - "levelno": 10, - "lineno": 24, - "message": "Extracting storage object from property_cache_pickle for comparison.", - "module": "test_no_load_on_init", - "moduleLogger": [ - { - "args": [ - "{'unicode': 'unicode', 'str': 'string', 'integer': 17}" - ], - "asctime": "2024-09-23 07:59:55,198", - "created": 1727071195.1986861, - "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: {'unicode': 'unicode', 'str': 'string', 'integer': 17}", - "module": "test_no_load_on_init", - "msecs": 198.0, - "msg": "Using storage object of cache class for comparison: %s", - "name": "__unittest__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_no_load_on_init.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 61.31792068481445, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread" - } - ], - "msecs": 198.0, - "msg": "Extracting storage object from %s for comparison.", - "name": "__tLogger__", - "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_no_load_on_init.py", - "process": 308082, - "processName": "MainProcess", - "relativeCreated": 61.35368347167969, - "stack_info": null, - "thread": 140535965610048, - "threadName": "MainThread", - "time_consumption": 3.5762786865234375e-05 - }, - { - "args": [ - "{'unicode': 'unicode', 'str': 'string', 'integer': 17}", - "" - ], - "asctime": "2024-09-23 07:59:55,198", - "created": 1727071195.1988513, + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.3366363, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4970,17 +10613,17 @@ "levelname": "INFO", "levelno": 20, "lineno": 184, - "message": "Cache object is correct (Content {'unicode': 'unicode', 'str': 'string', 'integer': 17} and Type is ).", + "message": "Save callback execution counter is correct (Content 0 and Type is ).", "module": "test", "moduleLogger": [ { "args": [ - "Cache object", - "{ 'unicode': 'unicode', 'str': 'string', 'integer': 17 }", - "" + "Save callback execution counter", + "0", + "" ], - "asctime": "2024-09-23 07:59:55,198", - "created": 1727071195.1987789, + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.336549, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -4988,28 +10631,28 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 22, - "message": "Result (Cache object): { 'unicode': 'unicode', 'str': 'string', 'integer': 17 } ()", + "message": "Result (Save callback execution counter): 0 ()", "module": "test", - "msecs": 198.0, + "msecs": 336.0, "msg": "Result (%s): %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 61.41066551208496, + "relativeCreated": 8118.509769439697, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" }, { "args": [ - "Cache object", + "Save callback execution counter", "=", - "{ 'str': 'string', 'unicode': 'unicode', 'integer': 17 }", - "" + "0", + "" ], - "asctime": "2024-09-23 07:59:55,198", - "created": 1727071195.1988134, + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.3365967, "exc_info": null, "exc_text": null, "filename": "test.py", @@ -5017,67 +10660,4931 @@ "levelname": "DEBUG", "levelno": 10, "lineno": 26, - "message": "Expectation (Cache object): result = { 'str': 'string', 'unicode': 'unicode', 'integer': 17 } ()", + "message": "Expectation (Save callback execution counter): result = 0 ()", "module": "test", - "msecs": 198.0, + "msecs": 336.0, "msg": "Expectation (%s): result %s %s (%s)", "name": "__unittest__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 61.44523620605469, + "relativeCreated": 8118.557453155518, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread" } ], - "msecs": 198.0, - "msg": "Cache object is correct (Content %s and Type is %s).", + "msecs": 336.0, + "msg": "Save callback execution counter is correct (Content %s and Type is %s).", "name": "__tLogger__", "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", - "process": 308082, + "process": 536234, "processName": "MainProcess", - "relativeCreated": 61.483144760131836, + "relativeCreated": 8118.597030639648, "stack_info": null, - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 3.790855407714844e-05 + "time_consumption": 3.9577484130859375e-05 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.3367798, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Save callback execution counter is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Save callback execution counter", + "None", + "" + ], + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.3367004, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Save callback execution counter): None ()", + "module": "test", + "msecs": 336.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8118.661165237427, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution counter", + "=", + "None", + "" + ], + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.3367393, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Save callback execution counter): result = None ()", + "module": "test", + "msecs": 336.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8118.70002746582, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 336.0, + "msg": "Save callback execution counter is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8118.740558624268, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 4.0531158447265625e-05 } ], - "thread": 140535965610048, + "thread": 140143461883968, "threadName": "MainThread", - "time_consumption": 0.0008854866027832031, - "time_finished": "2024-09-23 07:59:55,198", - "time_start": "2024-09-23 07:59:55,197" + "time_consumption": 0.0006246566772460938, + "time_finished": "2024-09-29 22:12:31,336", + "time_start": "2024-09-29 22:12:31,336" + }, + "_eAYLEHndEe-Pc-LxwEk-3w": { + "args": null, + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2736104, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testCase", + "levelname": "INFO", + "levelno": 20, + "lineno": 323, + "message": "_eAYLEHndEe-Pc-LxwEk-3w", + "module": "__init__", + "moduleLogger": [], + "msecs": 273.0, + "msg": "_eAYLEHndEe-Pc-LxwEk-3w", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 55.57107925415039, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2737136, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2736814, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Cache file does not exist on filesystem.", + "module": "test_helpers", + "msecs": 273.0, + "msg": "Cache file does not exist on filesystem.", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 55.642127990722656, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 273.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 55.67431449890137, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.218650817871094e-05 + }, + { + "args": [ + "'property_cache_json'" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.2761297, + "exc_info": null, + "exc_text": null, + "filename": "test_cached_data.py", + "funcName": "cached_data", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 49, + "message": "Prepare: First usage of 'property_cache_json' with a class holding the data to be cached", + "module": "test_cached_data", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2737741, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 273.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 55.734872817993164, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2738166, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='str' from source instance", + "module": "__init__", + "msecs": 273.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 55.77731132507324, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str", + "string", + 1727640743 + ], + "asctime": "2024-09-29 22:12:23,273", + "created": 1727640743.2738504, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=str, value=string with timestamp=1727640743 to chache", + "module": "__init__", + "msecs": 273.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 55.811166763305664, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2024-09-29 22:12:23,274", + "created": 1727640743.2740328, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 274.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 55.99355697631836, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:23,274", + "created": 1727640743.2741048, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='integer' from source instance", + "module": "__init__", + "msecs": 274.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 56.06555938720703, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "integer", + 17, + 1727640743 + ], + "asctime": "2024-09-29 22:12:23,274", + "created": 1727640743.2741442, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=integer, value=17 with timestamp=1727640743 to chache", + "module": "__init__", + "msecs": 274.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 56.10489845275879, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2024-09-29 22:12:23,274", + "created": 1727640743.2742834, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 274.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 56.2441349029541, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:23,274", + "created": 1727640743.2743857, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='list' from source instance", + "module": "__init__", + "msecs": 274.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 56.34641647338867, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "list", + [ + 1, + "two", + "3", + 4 + ], + 1727640743 + ], + "asctime": "2024-09-29 22:12:23,274", + "created": 1727640743.274425, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=list, value=[1, 'two', '3', 4] with timestamp=1727640743 to chache", + "module": "__init__", + "msecs": 274.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 56.38575553894043, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2024-09-29 22:12:23,275", + "created": 1727640743.2753513, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 275.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 57.31201171875, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "dict" + ], + "asctime": "2024-09-29 22:12:23,275", + "created": 1727640743.2754543, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='dict' from source instance", + "module": "__init__", + "msecs": 275.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 57.415008544921875, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "dict", + { + "1": 1, + "2": "two", + "3": "3", + "4": 4 + }, + 1727640743 + ], + "asctime": "2024-09-29 22:12:23,275", + "created": 1727640743.2754972, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=dict, value={'1': 1, '2': 'two', '3': '3', '4': 4} with timestamp=1727640743 to chache", + "module": "__init__", + "msecs": 275.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 57.457923889160156, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2024-09-29 22:12:23,275", + "created": 1727640743.2756968, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 275.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 57.657480239868164, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "none" + ], + "asctime": "2024-09-29 22:12:23,275", + "created": 1727640743.275787, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='none' from source instance", + "module": "__init__", + "msecs": 275.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 57.747840881347656, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "none", + null, + 1727640743 + ], + "asctime": "2024-09-29 22:12:23,275", + "created": 1727640743.275834, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=none, value=None with timestamp=1727640743 to chache", + "module": "__init__", + "msecs": 275.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 57.794809341430664, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.276011, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 276.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 57.97171592712402, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 276.0, + "msg": "Prepare: First usage of %s with a class holding the data to be cached", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_cached_data.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.0904483795166, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00011873245239257812 + }, + { + "args": [ + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.2764964, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=str is correct (Content 'string' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.2763157, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 286, + "message": "Loading properties from cache (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 276.0, + "msg": "Loading properties from cache (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.27641487121582, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.276373, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'str' from cache", + "module": "__init__", + "msecs": 276.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.333635330200195, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.276423, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=str): 'string' ()", + "module": "test", + "msecs": 276.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.38370323181152, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "=", + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.2764602, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=str): result = 'string' ()", + "module": "test", + "msecs": 276.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.42089653015137, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 276.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.457136154174805, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.62396240234375e-05 + }, + { + "args": [ + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.2770095, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=unicode is correct (Content '__unicode__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "unicode" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.2765813, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='unicode' from source instance", + "module": "__init__", + "msecs": 276.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.54201316833496, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "unicode", + "__unicode__", + 1727640743 + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.2766197, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=unicode, value=__unicode__ with timestamp=1727640743 to chache", + "module": "__init__", + "msecs": 276.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.58039855957031, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.2768226, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 276.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.78329277038574, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.2769163, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=unicode): '__unicode__' ()", + "module": "test", + "msecs": 276.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.876991271972656, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "=", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:23,276", + "created": 1727640743.2769718, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=unicode): result = '__unicode__' ()", + "module": "test", + "msecs": 276.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.93254280090332, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 277.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 58.97021293640137, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.7670135498046875e-05 + }, + { + "args": [ + "17", + "" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.2771962, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=integer is correct (Content 17 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.277082, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'integer' from cache", + "module": "__init__", + "msecs": 277.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.04269218444824, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "17", + "" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.2771258, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=integer): 17 ()", + "module": "test", + "msecs": 277.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.08656120300293, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "=", + "17", + "" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.2771611, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=integer): result = 17 ()", + "module": "test", + "msecs": 277.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.12184715270996, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 277.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.15689468383789, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.504753112792969e-05 + }, + { + "args": [ + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.2777007, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=float is correct (Content 2.71828 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "float" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.2772548, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='float' from source instance", + "module": "__init__", + "msecs": 277.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.215545654296875, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "float", + 2.71828, + 1727640743 + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.277292, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=float, value=2.71828 with timestamp=1727640743 to chache", + "module": "__init__", + "msecs": 277.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.25273895263672, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.277507, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_load_on_init.json)", + "module": "__init__", + "msecs": 277.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.46779251098633, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.2775946, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=float): 2.71828 ()", + "module": "test", + "msecs": 277.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.5552921295166, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "=", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.277653, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=float): result = 2.71828 ()", + "module": "test", + "msecs": 277.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.613704681396484, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 277.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.6613883972168, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 4.76837158203125e-05 + }, + { + "args": [ + "[1, 'two', '3', 4]", + "" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.2779074, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=list is correct (Content [1, 'two', '3', 4] and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.2777667, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'list' from cache", + "module": "__init__", + "msecs": 277.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.72743034362793, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.277815, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=list): [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 277.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.77582931518555, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "=", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:23,277", + "created": 1727640743.2778552, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=list): result = [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 277.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.81588363647461, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 277.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 59.86809730529785, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.221366882324219e-05 + }, + { + "args": [ + "{'1': 1, '2': 'two', '3': '3', '4': 4}", + "" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2782817, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=dict is correct (Content {'1': 1, '2': 'two', '3': '3', '4': 4} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "dict" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2781098, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'dict' from cache", + "module": "__init__", + "msecs": 278.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.07051467895508, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", + "" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2781646, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=dict): { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", + "module": "test", + "msecs": 278.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.12535095214844, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "=", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", + "" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2782283, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=dict): result = { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", + "module": "test", + "msecs": 278.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.189008712768555, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 278.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.242414474487305, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.340576171875e-05 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2784612, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=none is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "none" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.278347, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'none' from cache", + "module": "__init__", + "msecs": 278.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.30774116516113, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "None", + "" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2783906, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=none): None ()", + "module": "test", + "msecs": 278.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.35137176513672, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "=", + "None", + "" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2784264, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=none): result = None ()", + "module": "test", + "msecs": 278.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.38713455200195, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 278.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.42194366455078, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.4809112548828125e-05 + }, + { + "args": [ + "5", + "" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2786295, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=unknown_key is correct (Content 5 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "unknown_key" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.27852, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 173, + "message": "Key 'unknown_key' is not in cached_keys. Uncached data will be returned.", + "module": "__init__", + "msecs": 278.0, + "msg": "Key '%s' is not in cached_keys. Uncached data will be returned.", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.48083305358887, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unknown_key", + "5", + "" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.2785602, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=unknown_key): 5 ()", + "module": "test", + "msecs": 278.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.52088737487793, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unknown_key", + "=", + "5", + "" + ], + "asctime": "2024-09-29 22:12:23,278", + "created": 1727640743.278595, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=unknown_key): result = 5 ()", + "module": "test", + "msecs": 278.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.55569648742676, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 278.0, + "msg": "Data from cached instance with key=unknown_key is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 60.590267181396484, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.457069396972656e-05 + } + ], + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.005019187927246094, + "time_finished": "2024-09-29 22:12:23,278", + "time_start": "2024-09-29 22:12:23,273" + }, + "_ivxo8HvLEe-DRNATe61b9w": { + "args": null, + "asctime": "2024-09-29 22:12:31,336", + "created": 1727640751.3369174, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testCase", + "levelname": "INFO", + "levelno": 20, + "lineno": 323, + "message": "_ivxo8HvLEe-DRNATe61b9w", + "module": "__init__", + "moduleLogger": [], + "msecs": 336.0, + "msg": "_ivxo8HvLEe-DRNATe61b9w", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8118.878126144409, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,337", + "created": 1727640751.3370514, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,337", + "created": 1727640751.3370137, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "INFO", + "levelno": 20, + "lineno": 20, + "message": "Cache file does not exist on filesystem.", + "module": "test_helpers", + "msecs": 337.0, + "msg": "Cache file does not exist on filesystem.", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8118.974447250366, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 337.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8119.012117385864, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.7670135498046875e-05 + }, + { + "args": [], + "asctime": "2024-09-29 22:12:31,337", + "created": 1727640751.337941, + "exc_info": null, + "exc_text": null, + "filename": "test_save_callback.py", + "funcName": "save_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 50, + "message": "Installing save_callback and execute full_update.", + "module": "test_save_callback", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,337", + "created": 1727640751.3371255, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 337.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8119.086265563965, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:31,337", + "created": 1727640751.3371813, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 337.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8119.142055511475, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/save_callback_callback.json" + ], + "asctime": "2024-09-29 22:12:31,337", + "created": 1727640751.3378472, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/save_callback_callback.json)", + "module": "__init__", + "msecs": 337.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8119.807958602905, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 337.0, + "msg": "Installing save_callback and execute full_update.", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_save_callback.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8119.901657104492, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 9.369850158691406e-05 + }, + { + "args": [ + "1", + "" + ], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3380973, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Save callback execution counter is correct (Content 1 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Save callback execution counter", + "1", + "" + ], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3380175, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Save callback execution counter): 1 ()", + "module": "test", + "msecs": 338.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8119.978189468384, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution counter", + "=", + "1", + "" + ], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3380585, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Save callback execution counter): result = 1 ()", + "module": "test", + "msecs": 338.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.019197463989, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 338.0, + "msg": "Save callback execution counter is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.058059692383, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.886222839355469e-05 + }, + { + "args": [ + "", + "" + ], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3382573, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Save callback execution counter is correct (Content and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Save callback execution counter", + "", + "" + ], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.33816, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Save callback execution counter): ()", + "module": "test", + "msecs": 338.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.1207637786865, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution counter", + "=", + "", + "" + ], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3382201, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Save callback execution counter): result = ()", + "module": "test", + "msecs": 338.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.18084526062, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 338.0, + "msg": "Save callback execution counter is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.21803855896, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.719329833984375e-05 + } + ], + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.0013399124145507812, + "time_finished": "2024-09-29 22:12:31,338", + "time_start": "2024-09-29 22:12:31,336" + }, + "_r2DhcHndEe-Pc-LxwEk-3w": { + "args": null, + "asctime": "2024-09-29 22:12:29,293", + "created": 1727640749.293089, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testCase", + "levelname": "INFO", + "levelno": 20, + "lineno": 323, + "message": "_r2DhcHndEe-Pc-LxwEk-3w", + "module": "__init__", + "moduleLogger": [], + "msecs": 293.0, + "msg": "_r2DhcHndEe-Pc-LxwEk-3w", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6075.049638748169, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:29,293", + "created": 1727640749.2933254, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:29,293", + "created": 1727640749.2932124, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 293.0, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6075.173139572144, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 293.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6075.286149978638, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00011301040649414062 + }, + { + "args": [ + "'property_cache_json'" + ], + "asctime": "2024-09-29 22:12:29,294", + "created": 1727640749.2943418, + "exc_info": null, + "exc_text": null, + "filename": "test_dump_cache.py", + "funcName": "dump_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 52, + "message": "Prepare: First usage of 'property_cache_json' with a class holding the data to be cached", + "module": "test_dump_cache", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:29,293", + "created": 1727640749.2934337, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 293.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6075.39439201355, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']" + ], + "asctime": "2024-09-29 22:12:29,293", + "created": 1727640749.2935112, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_source", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 236, + "message": "Loading all data from source - ['str', 'unicode', 'integer', 'float', 'list', 'dict', 'none']", + "module": "__init__", + "msecs": 293.0, + "msg": "Loading all data from source - %s", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6075.471878051758, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:29,294", + "created": 1727640749.2942371, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 294.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.197862625122, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 294.0, + "msg": "Prepare: First usage of %s with a class holding the data to be cached", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_dump_cache.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.302528381348, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00010466575622558594 + }, + { + "args": [ + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:29,294", + "created": 1727640749.2947843, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=str is correct (Content 'string' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:29,294", + "created": 1727640749.294544, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 286, + "message": "Loading properties from cache (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 294.0, + "msg": "Loading properties from cache (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.504707336426, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:29,294", + "created": 1727640749.2946215, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'str' from cache", + "module": "__init__", + "msecs": 294.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.582193374634, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:29,294", + "created": 1727640749.2946835, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=str): 'string' ()", + "module": "test", + "msecs": 294.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.6441822052, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "=", + "'string'", + "" + ], + "asctime": "2024-09-29 22:12:29,294", + "created": 1727640749.2947345, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=str): result = 'string' ()", + "module": "test", + "msecs": 294.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.695203781128, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 294.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.74503326416, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 4.982948303222656e-05 + }, + { + "args": [ + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.295039, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=unicode is correct (Content 'unicode' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "unicode" + ], + "asctime": "2024-09-29 22:12:29,294", + "created": 1727640749.2948718, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'unicode' from cache", + "module": "__init__", + "msecs": 294.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.83253288269, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:29,294", + "created": 1727640749.2949407, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=unicode): 'unicode' ()", + "module": "test", + "msecs": 294.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.901435852051, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "=", + "'unicode'", + "" + ], + "asctime": "2024-09-29 22:12:29,294", + "created": 1727640749.2949905, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=unicode): result = 'unicode' ()", + "module": "test", + "msecs": 294.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.951265335083, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 295.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6076.999664306641, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 4.839897155761719e-05 + }, + { + "args": [ + "17", + "" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.295261, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=integer is correct (Content 17 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.295118, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'integer' from cache", + "module": "__init__", + "msecs": 295.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.078819274902, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "17", + "" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.2951703, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=integer): 17 ()", + "module": "test", + "msecs": 295.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.131032943726, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "=", + "17", + "" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.2952156, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=integer): result = 17 ()", + "module": "test", + "msecs": 295.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.176332473755, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 295.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.221632003784, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 4.5299530029296875e-05 + }, + { + "args": [ + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.2954986, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=float is correct (Content 3.14159 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "float" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.2953415, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'float' from cache", + "module": "__init__", + "msecs": 295.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.3022174835205, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.295396, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=float): 3.14159 ()", + "module": "test", + "msecs": 295.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.356815338135, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "=", + "3.14159", + "" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.295443, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=float): result = 3.14159 ()", + "module": "test", + "msecs": 295.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.403783798218, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 295.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.459335327148, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.555152893066406e-05 + }, + { + "args": [ + "[1, 'two', '3', 4]", + "" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.2959023, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=list is correct (Content [1, 'two', '3', 4] and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.2956154, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'list' from cache", + "module": "__init__", + "msecs": 295.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.576160430908, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.2957191, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=list): [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 295.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.679872512817, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "=", + "[ 1, 'two', '3', 4 ]", + "" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.2958047, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=list): result = [ 1, 'two', '3', 4 ] ()", + "module": "test", + "msecs": 295.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.765464782715, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 295.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.862977981567, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 9.751319885253906e-05 + }, + { + "args": [ + "{'1': 1, '2': 'two', '3': '3', '4': 4}", + "" + ], + "asctime": "2024-09-29 22:12:29,296", + "created": 1727640749.296185, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=dict is correct (Content {'1': 1, '2': 'two', '3': '3', '4': 4} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "dict" + ], + "asctime": "2024-09-29 22:12:29,295", + "created": 1727640749.2959938, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'dict' from cache", + "module": "__init__", + "msecs": 295.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6077.954530715942, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", + "" + ], + "asctime": "2024-09-29 22:12:29,296", + "created": 1727640749.2960598, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=dict): { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", + "module": "test", + "msecs": 296.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6078.0205726623535, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "=", + "{ '1': 1, '2': 'two', '3': '3', '4': 4 }", + "" + ], + "asctime": "2024-09-29 22:12:29,296", + "created": 1727640749.2961147, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=dict): result = { '1': 1, '2': 'two', '3': '3', '4': 4 } ()", + "module": "test", + "msecs": 296.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6078.075408935547, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 296.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6078.145742416382, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 7.033348083496094e-05 + }, + { + "args": [ + "None", + "" + ], + "asctime": "2024-09-29 22:12:29,296", + "created": 1727640749.296451, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=none is correct (Content None and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "none" + ], + "asctime": "2024-09-29 22:12:29,296", + "created": 1727640749.2962713, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 166, + "message": "Providing property for 'none' from cache", + "module": "__init__", + "msecs": 296.0, + "msg": "Providing property for '%s' from cache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6078.232049942017, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "None", + "" + ], + "asctime": "2024-09-29 22:12:29,296", + "created": 1727640749.2963278, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=none): None ()", + "module": "test", + "msecs": 296.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6078.288555145264, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "=", + "None", + "" + ], + "asctime": "2024-09-29 22:12:29,296", + "created": 1727640749.296375, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=none): result = None ()", + "module": "test", + "msecs": 296.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6078.335762023926, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 296.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 6078.411817550659, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 7.605552673339844e-05 + }, + { + "args": [ + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,300", + "created": 1727640751.3001301, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=str is correct (Content '__string__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,297", + "created": 1727640751.2978306, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 153, + "message": "The cached value is old, cached value will be ignored", + "module": "__init__", + "msecs": 297.0, + "msg": "The cached value is old, cached value will be ignored", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8079.791307449341, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:31,298", + "created": 1727640751.2981043, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='str' from source instance", + "module": "__init__", + "msecs": 298.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8080.065011978149, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str", + "__string__", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,298", + "created": 1727640751.2983286, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=str, value=__string__ with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 298.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8080.289363861084, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,299", + "created": 1727640751.2992375, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 299.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8081.198215484619, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,299", + "created": 1727640751.2997012, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=str): '__string__' ()", + "module": "test", + "msecs": 299.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8081.661939620972, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=str", + "=", + "'__string__'", + "" + ], + "asctime": "2024-09-29 22:12:31,299", + "created": 1727640751.2999642, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=str): result = '__string__' ()", + "module": "test", + "msecs": 299.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8081.924915313721, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 300.0, + "msg": "Data from cached instance with key=str is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8082.090854644775, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.0001659393310546875 + }, + { + "args": [ + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,302", + "created": 1727640751.3022184, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=unicode is correct (Content '__unicode__' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,300", + "created": 1727640751.3004608, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 153, + "message": "The cached value is old, cached value will be ignored", + "module": "__init__", + "msecs": 300.0, + "msg": "The cached value is old, cached value will be ignored", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8082.421541213989, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "unicode" + ], + "asctime": "2024-09-29 22:12:31,300", + "created": 1727640751.3006098, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='unicode' from source instance", + "module": "__init__", + "msecs": 300.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8082.570552825928, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "unicode", + "__unicode__", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,300", + "created": 1727640751.3007555, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=unicode, value=__unicode__ with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 300.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8082.716226577759, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,301", + "created": 1727640751.3015091, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 301.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8083.469867706299, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,301", + "created": 1727640751.3018625, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=unicode): '__unicode__' ()", + "module": "test", + "msecs": 301.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8083.823204040527, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=unicode", + "=", + "'__unicode__'", + "" + ], + "asctime": "2024-09-29 22:12:31,302", + "created": 1727640751.3020434, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=unicode): result = '__unicode__' ()", + "module": "test", + "msecs": 302.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8084.004163742065, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 302.0, + "msg": "Data from cached instance with key=unicode is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8084.179162979126, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.00017499923706054688 + }, + { + "args": [ + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,303", + "created": 1727640751.3033197, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=integer is correct (Content 34 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,302", + "created": 1727640751.3024852, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 153, + "message": "The cached value is old, cached value will be ignored", + "module": "__init__", + "msecs": 302.0, + "msg": "The cached value is old, cached value will be ignored", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8084.445953369141, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "integer" + ], + "asctime": "2024-09-29 22:12:31,302", + "created": 1727640751.3026297, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='integer' from source instance", + "module": "__init__", + "msecs": 302.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8084.590435028076, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "integer", + 34, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,302", + "created": 1727640751.302783, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=integer, value=34 with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 302.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8084.7437381744385, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,303", + "created": 1727640751.3030877, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 303.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.04843711853, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,303", + "created": 1727640751.3032086, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=integer): 34 ()", + "module": "test", + "msecs": 303.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.169315338135, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=integer", + "=", + "34", + "" + ], + "asctime": "2024-09-29 22:12:31,303", + "created": 1727640751.3032684, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=integer): result = 34 ()", + "module": "test", + "msecs": 303.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.229158401489, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 303.0, + "msg": "Data from cached instance with key=integer is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.280418395996, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.125999450683594e-05 + }, + { + "args": [ + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,304", + "created": 1727640751.3040187, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=float is correct (Content 2.71828 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,303", + "created": 1727640751.3034124, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 153, + "message": "The cached value is old, cached value will be ignored", + "module": "__init__", + "msecs": 303.0, + "msg": "The cached value is old, cached value will be ignored", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.373163223267, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "float" + ], + "asctime": "2024-09-29 22:12:31,303", + "created": 1727640751.303463, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='float' from source instance", + "module": "__init__", + "msecs": 303.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.423707962036, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "float", + 2.71828, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,303", + "created": 1727640751.3035133, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=float, value=2.71828 with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 303.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.474014282227, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,303", + "created": 1727640751.3037856, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 303.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.746288299561, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,303", + "created": 1727640751.3039055, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=float): 2.71828 ()", + "module": "test", + "msecs": 303.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.866212844849, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=float", + "=", + "2.71828", + "" + ], + "asctime": "2024-09-29 22:12:31,303", + "created": 1727640751.3039663, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=float): result = 2.71828 ()", + "module": "test", + "msecs": 303.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.9270095825195, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 304.0, + "msg": "Data from cached instance with key=float is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8085.979461669922, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 5.245208740234375e-05 + }, + { + "args": [ + "['one', 2, 3, '4']", + "" + ], + "asctime": "2024-09-29 22:12:31,304", + "created": 1727640751.304867, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=list is correct (Content ['one', 2, 3, '4'] and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,304", + "created": 1727640751.30411, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 153, + "message": "The cached value is old, cached value will be ignored", + "module": "__init__", + "msecs": 304.0, + "msg": "The cached value is old, cached value will be ignored", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8086.070775985718, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "list" + ], + "asctime": "2024-09-29 22:12:31,304", + "created": 1727640751.3041606, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='list' from source instance", + "module": "__init__", + "msecs": 304.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8086.121320724487, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "list", + [ + "one", + 2, + 3, + "4" + ], + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,304", + "created": 1727640751.3042104, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=list, value=['one', 2, 3, '4'] with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 304.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8086.1711502075195, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,304", + "created": 1727640751.3044858, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 304.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8086.446523666382, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "[ 'one', 2, 3, '4' ]", + "" + ], + "asctime": "2024-09-29 22:12:31,304", + "created": 1727640751.3047192, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=list): [ 'one', 2, 3, '4' ] ()", + "module": "test", + "msecs": 304.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8086.679935455322, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=list", + "=", + "[ 'one', 2, 3, '4' ]", + "" + ], + "asctime": "2024-09-29 22:12:31,304", + "created": 1727640751.3047876, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=list): result = [ 'one', 2, 3, '4' ] ()", + "module": "test", + "msecs": 304.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8086.748361587524, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 304.0, + "msg": "Data from cached instance with key=list is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8086.827754974365, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 7.939338684082031e-05 + }, + { + "args": [ + "{'1': '1', '2': 2, '3': 'three', '4': '4'}", + "" + ], + "asctime": "2024-09-29 22:12:31,305", + "created": 1727640751.3056066, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=dict is correct (Content {'1': '1', '2': 2, '3': 'three', '4': '4'} and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,304", + "created": 1727640751.304974, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 153, + "message": "The cached value is old, cached value will be ignored", + "module": "__init__", + "msecs": 304.0, + "msg": "The cached value is old, cached value will be ignored", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8086.934804916382, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "dict" + ], + "asctime": "2024-09-29 22:12:31,305", + "created": 1727640751.305024, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='dict' from source instance", + "module": "__init__", + "msecs": 305.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8086.984634399414, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "dict", + { + "1": "1", + "2": 2, + "3": "three", + "4": "4" + }, + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,305", + "created": 1727640751.3050768, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=dict, value={'1': '1', '2': 2, '3': 'three', '4': '4'} with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 305.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8087.037563323975, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,305", + "created": 1727640751.3053398, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 305.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8087.300539016724, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "{ '1': '1', '2': 2, '3': 'three', '4': '4' }", + "" + ], + "asctime": "2024-09-29 22:12:31,305", + "created": 1727640751.3054695, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=dict): { '1': '1', '2': 2, '3': 'three', '4': '4' } ()", + "module": "test", + "msecs": 305.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8087.430238723755, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=dict", + "=", + "{ '1': '1', '2': 2, '3': 'three', '4': '4' }", + "" + ], + "asctime": "2024-09-29 22:12:31,305", + "created": 1727640751.3055363, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=dict): result = { '1': '1', '2': 2, '3': 'three', '4': '4' } ()", + "module": "test", + "msecs": 305.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8087.496995925903, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 305.0, + "msg": "Data from cached instance with key=dict is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8087.567329406738, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 7.033348083496094e-05 + }, + { + "args": [ + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,306", + "created": 1727640751.3062894, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Data from cached instance with key=none is correct (Content 'not None' and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,305", + "created": 1727640751.3056982, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 153, + "message": "The cached value is old, cached value will be ignored", + "module": "__init__", + "msecs": 305.0, + "msg": "The cached value is old, cached value will be ignored", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8087.658882141113, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "none" + ], + "asctime": "2024-09-29 22:12:31,305", + "created": 1727640751.3057477, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='none' from source instance", + "module": "__init__", + "msecs": 305.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8087.708473205566, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "none", + "not None", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,305", + "created": 1727640751.305797, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=none, value=not None with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 305.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8087.75782585144, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json" + ], + "asctime": "2024-09-29 22:12:31,306", + "created": 1727640751.3060594, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/cache_data_test_dump_cache.json)", + "module": "__init__", + "msecs": 306.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8088.020086288452, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,306", + "created": 1727640751.3061817, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Data from cached instance with key=none): 'not None' ()", + "module": "test", + "msecs": 306.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8088.142395019531, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Data from cached instance with key=none", + "=", + "'not None'", + "" + ], + "asctime": "2024-09-29 22:12:31,306", + "created": 1727640751.30624, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Data from cached instance with key=none): result = 'not None' ()", + "module": "test", + "msecs": 306.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8088.200807571411, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 306.0, + "msg": "Data from cached instance with key=none is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8088.250160217285, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 4.935264587402344e-05 + } + ], + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 2.013200521469116, + "time_finished": "2024-09-29 22:12:31,306", + "time_start": "2024-09-29 22:12:29,293" + }, + "_ty_ewHvLEe-DRNATe61b9w": { + "args": null, + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3383899, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "testCase", + "levelname": "INFO", + "levelno": 20, + "lineno": 323, + "message": "_ty_ewHvLEe-DRNATe61b9w", + "module": "__init__", + "moduleLogger": [], + "msecs": 338.0, + "msg": "_ty_ewHvLEe-DRNATe61b9w", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/report/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.35059928894, + "stack_info": null, + "testcaseLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3385725, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 21, + "message": "Prepare: Cleanup before testcase execution", + "module": "test_helpers", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3384907, + "exc_info": null, + "exc_text": null, + "filename": "test_helpers.py", + "funcName": "clean", + "levelname": "INFO", + "levelno": 20, + "lineno": 17, + "message": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "module": "test_helpers", + "msecs": 338.0, + "msg": "Deleting cache file from filesystem to ensure identical conditions for each test run.", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.4514503479, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 338.0, + "msg": "Prepare: Cleanup before testcase execution", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_helpers.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.533227920532, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 8.177757263183594e-05 + }, + { + "args": [], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.3390005, + "exc_info": null, + "exc_text": null, + "filename": "test_save_callback.py", + "funcName": "save_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 56, + "message": "Installing save_callback and execute a single get.", + "module": "test_save_callback", + "moduleLogger": [ + { + "args": [], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3386617, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_load_cache", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 227, + "message": "Cache file does not exists (yet).", + "module": "__init__", + "msecs": 338.0, + "msg": "Cache file does not exists (yet).", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.622396469116, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str" + ], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3387158, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='str' from source instance", + "module": "__init__", + "msecs": 338.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.676517486572, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "str", + "string", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.338762, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=str, value=string with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 338.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.722770690918, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/save_callback_callback.json" + ], + "asctime": "2024-09-29 22:12:31,338", + "created": 1727640751.3389223, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/save_callback_callback.json)", + "module": "__init__", + "msecs": 338.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.882987976074, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 339.0, + "msg": "Installing save_callback and execute a single get.", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_save_callback.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8120.9611892700195, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 7.82012939453125e-05 + }, + { + "args": [], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.339353, + "exc_info": null, + "exc_text": null, + "filename": "test_save_callback.py", + "funcName": "save_callback", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 56, + "message": "Installing save_callback and execute a single get.", + "module": "test_save_callback", + "moduleLogger": [ + { + "args": [ + "unicode" + ], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.3390696, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 155, + "message": "Loading property for key='unicode' from source instance", + "module": "__init__", + "msecs": 339.0, + "msg": "Loading property for key='%s' from source instance", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8121.030330657959, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "unicode", + "unicode", + 1727640751 + ], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.339112, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "get", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 159, + "message": "Adding key=unicode, value=unicode with timestamp=1727640751 to chache", + "module": "__init__", + "msecs": 339.0, + "msg": "Adding key=%s, value=%s with timestamp=%d to chache", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8121.072769165039, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "/home/dirk/my_repositories/unittest/caching/unittest/output_data/save_callback_callback.json" + ], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.33925, + "exc_info": null, + "exc_text": null, + "filename": "__init__.py", + "funcName": "_save_only", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 291, + "message": "cache-file stored (/home/dirk/my_repositories/unittest/caching/unittest/output_data/save_callback_callback.json)", + "module": "__init__", + "msecs": 339.0, + "msg": "cache-file stored (%s)", + "name": "caching", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/caching/__init__.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8121.210813522339, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 339.0, + "msg": "Installing save_callback and execute a single get.", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/tests/test_save_callback.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8121.313810348511, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.000102996826171875 + }, + { + "args": [ + "2", + "" + ], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.3395228, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Save callback execution counter is correct (Content 2 and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Save callback execution counter", + "2", + "" + ], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.3394446, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Save callback execution counter): 2 ()", + "module": "test", + "msecs": 339.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8121.405363082886, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution counter", + "=", + "2", + "" + ], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.339485, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Save callback execution counter): result = 2 ()", + "module": "test", + "msecs": 339.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8121.445655822754, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 339.0, + "msg": "Save callback execution counter is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8121.483564376831, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.790855407714844e-05 + }, + { + "args": [ + "", + "" + ], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.339658, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "equivalency_chk", + "levelname": "INFO", + "levelno": 20, + "lineno": 184, + "message": "Save callback execution counter is correct (Content and Type is ).", + "module": "test", + "moduleLogger": [ + { + "args": [ + "Save callback execution counter", + "", + "" + ], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.339583, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_result__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 22, + "message": "Result (Save callback execution counter): ()", + "module": "test", + "msecs": 339.0, + "msg": "Result (%s): %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8121.543645858765, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + }, + { + "args": [ + "Save callback execution counter", + "=", + "", + "" + ], + "asctime": "2024-09-29 22:12:31,339", + "created": 1727640751.3396213, + "exc_info": null, + "exc_text": null, + "filename": "test.py", + "funcName": "__report_expectation__", + "levelname": "DEBUG", + "levelno": 10, + "lineno": 26, + "message": "Expectation (Save callback execution counter): result = ()", + "module": "test", + "msecs": 339.0, + "msg": "Expectation (%s): result %s %s (%s)", + "name": "__unittest__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8121.58203125, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread" + } + ], + "msecs": 339.0, + "msg": "Save callback execution counter is correct (Content %s and Type is %s).", + "name": "__tLogger__", + "pathname": "/home/dirk/my_repositories/unittest/caching/unittest/src/unittest/test.py", + "process": 536234, + "processName": "MainProcess", + "relativeCreated": 8121.618747711182, + "stack_info": null, + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 3.6716461181640625e-05 + } + ], + "thread": 140143461883968, + "threadName": "MainThread", + "time_consumption": 0.001268148422241211, + "time_finished": "2024-09-29 22:12:31,339", + "time_start": "2024-09-29 22:12:31,338" } }, "testrun_id": "p3", - "time_consumption": 0.025263071060180664, + "time_consumption": 8.067632913589478, "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" + "_3wIiEHnCEe-IT79pgSFFDQ", + "_XzMFcHYZEem_kd-7nxt1sg", + "_eAYLEHndEe-Pc-LxwEk-3w", + "_KoUosHnGEe-IT79pgSFFDQ", + "_2lVAAHm7Ee-IT79pgSFFDQ", + "_r2DhcHndEe-Pc-LxwEk-3w", + "_Ak9lcHvLEe-DRNATe61b9w", + "_FX360HvLEe-DRNATe61b9w", + "_JH4owHvLEe-DRNATe61b9w", + "_7sFo0H55Ee-p0KSarwgncw", + "_SVQXQHvLEe-DRNATe61b9w", + "_e-ehkHvLEe-DRNATe61b9w", + "_ivxo8HvLEe-DRNATe61b9w", + "_ty_ewHvLEe-DRNATe61b9w" ] } ], "unittest_information": { - "Version": "ac6e9667753d32025048abc5366ddb10" + "Version": "0d25a9eaf8f326b4757227f4aa618b05" } } \ No newline at end of file diff --git a/_testresults_/unittest.pdf b/_testresults_/unittest.pdf index 4fb8c19f71ad80f09f41312080aabe01957eb462..31109a67cc35350c93fce23fc009b8e3d31a7530 100644 GIT binary patch delta 209370 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

    x{=*iF9h;0 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

    PHpVnU?^qEZ%0)u; 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 *-I;RN2UEwUt;+!i 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 eNZ>em#50~1oICBSttyx1~Py z81J#$b6lnx>+R8BTI;-Pzn`2~=UC0-j$!vpZ;8hIVGVeIZ?SJd4|g7}ThP(*+wRy{ zvx2rBM;xxeZy9d+U1@yBu-V*V8jhOC*OJoGp@3S~-NM#F9*#Qm)^fw;;2io2yml(c zV}=vvCH{T-i*W+$BcQmc-dF0RdrOd8`1@FZF#O@mmaU6WkVi(_{MU^)=S_iZyN9VA zsSWj>g8b~LKk=OuQ$$qtAsz0v#@)!@4x+cE8do|C;AMZzgRfj-2M#^O2rIl%7Uq7i zew_?}q&De?Tdp?*mtCueR6kz}34X*kW;<2xM{oJIi>OQ5_X`la91B28k*D|~7)gw- znUu>JQ1$fSOL8UmqoE_kIR@xj_y&s8Buim4@kU_SO zHC}j;r)u+iy)$4(OeeVFLo!lZNj4na7)@SrRufBZ-3d=V0+$&bYj}D2f*ZShCYT2$ z#d~Jw-k6mB4shYrf?>kA12Sz)NG~%RWa?a*nRWV|C}L||n%N4OpYhhZYN zwOt@N^v$&R@EeFISdu=q9<15Xs?ZVr$%6l5j)LdDQuf&HC?sjcd zdf&@AvjW7rz2{uF_`*H>&aq04^MuA|u=eMwwi?@XVf8LGN{-)D4=}<#u$JO82%q_) zP9>2(z33J99kKsJj5e5>jt|Cv-#*3e%{kzo)^8ujj#ld2Y^=fG_+34Jn5wm6f*a$0 zj=SgPNzZW&;8TnWqtz(WitgBSt_DH|b)98v00NEcBWFWn@!s2`%YMHLxGB?9w19aQ z_KdK5y?1j{YD8+GNg^S|j{sgsH~<^C1<}IT=zjbdwVtvwD&SJE2UZAF1L8Ol zGRzy3wgd`6mCT4`!w8wMz|~?VsPhJ6Cgi071Z#*)3qj6^hCbw|0Ze0vRtxbKF+aQ& z(13I>ZWkEW0LwXy6$xF%y$Q8t41E!*-+-^P4(@AAd=UZegn~3^%nb&d#r)vor0J*I zGz$GYIPv_%KYvSnQN7>5FGAeM;72asN5~Cxbs}OMkm!J58Zhqw)7;0?i@Z2Njnk8Y1_)$axLW#%W>(m>EwDC5Dm0i(!TH7D*4Ght@`FA~55b za7jG+?*sHik+Oz4ULwfq+) z^ay{|{-*$d75-l&1!3q;Xk-XK=Kl|<{>tGf;J>H5q@`b)2eclt_PP9YrFnc}DIow_ zXmzA20yUlrm#;^KQzB_0w9qSlUt7zwk!?bQ-qQYW6X1VJ!AkOi4&o+6{+f>O!7ARa zV(4wEL4bf_qp|HF6IHp}zGIQMgCoO3ErT{6x`oJ3BcvI~oMs?!4*Kn<2dS5ft^M~+ zN+Z`*#=pU5SGc9VXZ)?z(?P(b9pC|5t02}*#2HvV%SqJ66*8-BOKK$$-M%$g*0l}W zJrK~<%45s$a%r#*{k9LXUe+2ha9q>6<&ZGM(y-`|5W-Q|I__XUw|Qa&Q@-cTjo4;= zsolV1J3kEBaP7bp#6@3guX9c)YwNn|Be&$ku(T7HW2CvWS=71{*Yadu3y9OQJz3d| zX-D3p^n$tVE0Hnn=f_9@r75ldtd{w;LL7Iqxkc`0Z|H||EqS1=gp@yGnWeW1wg{=rno#Z^lDP9C2x`>Qv^nVqRLA$@%DJ+)5@PYQm? zXra@;q(|6PGl>;LNWfd8UXw#P5FJ?_?rW#`Kn{D_xn#lP*i-TeChwa}b>SYe&R z<+XU1Jsu6g=-&$p@8leA!xv#xc~n@)~;@t#x8DN WF6I_+tn6HzT-