diff --git a/.dotstop_extensions/data_store.py b/.dotstop_extensions/data_store.py index e3e8b25d94..3b73f4ac5c 100644 --- a/.dotstop_extensions/data_store.py +++ b/.dotstop_extensions/data_store.py @@ -3,7 +3,12 @@ import os # global variable -- path to persistent data storage -persistent_storage = "TSF/TrustableScoring.db" +persistent_storage = os.environ.get("TSF_SCORING_DB") +if not persistent_storage: + raise RuntimeError( + "TSF_SCORING_DB is not set.\n" + "This script requires the path to the persistent SQLite database.\n" + ) def data_store_pull() -> list[dict]: data = get_my_data() @@ -32,15 +37,16 @@ def get_my_data() -> list[dict]: command = f"SELECT * FROM scores WHERE date=={info[0]}" cursor.execute(command) scores = cursor.fetchall() - date = datetime.fromtimestamp(info[0]) - date_as_string = date.strftime("%a %b %d %H:%M:%S %Y") + # Return unix timestamp directly for trudag v2025.09.16+ compatibility + # (older versions expected formatted string, newer versions expect int) + date_timestamp = info[0] if len(info) == 6: branch_name = "" else: branch_name = info[6] if info[6]!=None else "" commit = {"Repository root": info[1], "Commit SHA": info[2], - "Commit date/time": date_as_string, + "Commit date/time": date_timestamp, "Commit tag": info[3], "CI job id": info[4], "Schema version": info[5], @@ -71,11 +77,15 @@ def push_my_data(data: list[dict]): # extract data from data info = data[0].get("info") scores = data[0].get("scores") - # Currently, the commit date is stored as string. - # Since the local timezone is used and for comparison, - # it would be better to have it as a unix-timestamp. - datum_string = info.get("Commit date/time") - datum = int(datetime.strptime(datum_string, "%a %b %d %H:%M:%S %Y").timestamp()) + # Starting with trudag v2025.09.16, the commit date is already a unix timestamp (int). + # For backward compatibility, handle both string and int formats. + datum_value = info.get("Commit date/time") + if isinstance(datum_value, str): + # Old format: string date, convert to timestamp + datum = int(datetime.strptime(datum_value, "%a %b %d %H:%M:%S %Y").timestamp()) + else: + # New format: already a unix timestamp + datum = datum_value # check if current commit coincides with existing commit cursor.execute("SELECT MAX(date) AS recent_commit FROM commit_info") if datum == cursor.fetchone()[0]: diff --git a/TSF/TrustableScoring.db b/TSF/TrustableScoring.db deleted file mode 100644 index e4380c9824..0000000000 Binary files a/TSF/TrustableScoring.db and /dev/null differ diff --git a/TSF/MemoryEfficientTestResultData.db b/TSF/data_storage/MemoryEfficientTestResultData_2025-11.db similarity index 97% rename from TSF/MemoryEfficientTestResultData.db rename to TSF/data_storage/MemoryEfficientTestResultData_2025-11.db index ad39f5cbf1..f3317bd4ca 100644 Binary files a/TSF/MemoryEfficientTestResultData.db and b/TSF/data_storage/MemoryEfficientTestResultData_2025-11.db differ diff --git a/TSF/data_storage/MemoryEfficientTestResultData_2026-01-21.db b/TSF/data_storage/MemoryEfficientTestResultData_2026-01-21.db new file mode 100644 index 0000000000..9bfe75d607 Binary files /dev/null and b/TSF/data_storage/MemoryEfficientTestResultData_2026-01-21.db differ diff --git a/TSF/data_storage/TrustableScoring_2025-11.db b/TSF/data_storage/TrustableScoring_2025-11.db new file mode 100644 index 0000000000..b2bcb26eb5 Binary files /dev/null and b/TSF/data_storage/TrustableScoring_2025-11.db differ diff --git a/TSF/data_storage/TrustableScoring_2026-01-26.db b/TSF/data_storage/TrustableScoring_2026-01-26.db new file mode 100644 index 0000000000..be5f425903 Binary files /dev/null and b/TSF/data_storage/TrustableScoring_2026-01-26.db differ diff --git a/TSF/misbehaviours.md b/TSF/misbehaviours.md index 5f48bf4374..b44df5474a 100644 --- a/TSF/misbehaviours.md +++ b/TSF/misbehaviours.md @@ -5,6 +5,62 @@ The misbehaviours are compiled from github issues of the nlohmann/json repositor ## Open issues +### [#5060](https://github.com/nlohmann/json/issues/5060) +- **Title:** Segfault on x86_64 Android with Chromium libc++ in serializer::~serializer() +- **State:** OPEN +- **Created At:** 2026-01-24T10:41:51Z + + + +### [#5048](https://github.com/nlohmann/json/issues/5048) +- **Title:** function argument safety check silently optimized out in release build by clang +- **State:** OPEN +- **Created At:** 2026-01-07T22:27:57Z + + + +### [#5036](https://github.com/nlohmann/json/issues/5036) +- **Title:** get enum with default value +- **State:** OPEN +- **Created At:** 2025-12-20T07:06:56Z + + + +### [#5023](https://github.com/nlohmann/json/issues/5023) +- **Title:** std::map and std::unordered_map serialization broken for keys of type std::u16string +- **State:** OPEN +- **Created At:** 2025-12-03T12:02:24Z + + + +### [#5012](https://github.com/nlohmann/json/issues/5012) +- **Title:** error_handler_t::ignore documentation is incorrect +- **State:** OPEN +- **Created At:** 2025-11-24T14:21:24Z + + + +### [#5005](https://github.com/nlohmann/json/issues/5005) +- **Title:** Serialization of double type data gets stuck +- **State:** OPEN +- **Created At:** 2025-11-20T09:28:12Z + + + +### [#5002](https://github.com/nlohmann/json/issues/5002) +- **Title:** VS2026 Insiders, C2678 With C++23 Modules +- **State:** OPEN +- **Created At:** 2025-11-18T20:45:50Z + + + +### [#4996](https://github.com/nlohmann/json/issues/4996) +- **Title:** Tests don't build with VS 2026 +- **State:** OPEN +- **Created At:** 2025-11-14T16:26:05Z + + + ### [#4974](https://github.com/nlohmann/json/issues/4974) - **Title:** [MSVC][build] JSON failed with error C2672: 'nlohmann::json_abi_v3_12_0::basic_json values in arrays and objects - **State:** OPEN @@ -99,14 +131,6 @@ The misbehaviours are compiled from github issues of the nlohmann/json repositor - **Comment:** This issue does not apply to the use of nlohmann/json in Eclipse S-CORE. This issue was observed in version 3.11.2; it is fixed in version 3.12.0. -### [#3912](https://github.com/nlohmann/json/issues/3912) -- **Title:** inconsistency with string/string_view lookups -- **State:** OPEN -- **Created At:** 2023-01-08T02:13:12Z - -- **Comment:** This issue does not apply to the use of nlohmann/json in Eclipse S-CORE. There is currently no way to query object keys via std::string_view; this issue still exists in version 3.12.0. - - ### [#3907](https://github.com/nlohmann/json/issues/3907) - **Title:** error: expected initializer before ‘<’ token - **State:** OPEN @@ -155,14 +179,6 @@ The misbehaviours are compiled from github issues of the nlohmann/json repositor - **Comment:** This issue does not apply to the use of nlohmann/json in Eclipse S-CORE. This issue was observed in version 3.10.3; it appears fixed in version 3.12.0. -### [#3659](https://github.com/nlohmann/json/issues/3659) -- **Title:** serve_header.py doesn't process 'move' events -- **State:** OPEN -- **Created At:** 2022-08-03T13:20:01Z - -- **Comment:** This issue does not apply to the use of nlohmann/json in Eclipse S-CORE. Moving a directory into or out of the serve_header.py root is not detected; this is not an issue if the release version 3.12.0 is used without any changes. - - ### [#3583](https://github.com/nlohmann/json/issues/3583) - **Title:** json destructor quite slow - **State:** OPEN @@ -222,6 +238,27 @@ The misbehaviours are compiled from github issues of the nlohmann/json repositor ## Closed Issues (since version 3.12.0) +### [#5047](https://github.com/nlohmann/json/issues/5047) +- **Title:** [C++23] Error in json::parse with std::ifstream +- **State:** CLOSED +- **Created At:** 2026-01-07T07:43:37Z + + + +### [#5046](https://github.com/nlohmann/json/issues/5046) +- **Title:** implicit conversion of return json to std::optional no longer implicit +- **State:** CLOSED +- **Created At:** 2026-01-06T16:50:46Z + + + +### [#5013](https://github.com/nlohmann/json/issues/5013) +- **Title:** An object is used after it's moved +- **State:** CLOSED +- **Created At:** 2025-11-24T15:32:02Z + + + ### [#4946](https://github.com/nlohmann/json/issues/4946) - **Title:** Failure with cmake 4.1 - **State:** CLOSED @@ -230,6 +267,14 @@ The misbehaviours are compiled from github issues of the nlohmann/json repositor - **Comment:** This issue does not apply to the use of nlohmann/json in Eclipse S-CORE. Compatibility with CMake < 3.5 has been removed from CMake as of [CMake 4.0+](https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html) +### [#4925](https://github.com/nlohmann/json/issues/4925) +- **Title:** Assertion error when converting to and from BJdata +- **State:** CLOSED +- **Created At:** 2025-09-19T18:41:56Z + +- **Comment:** This issue does not apply to the use of nlohmann/json in Eclipse S-CORE. Optimized binary arrays have to be explicitly enabled when parsing from BJdata; otherwise an exception is thrown. + + ### [#4903](https://github.com/nlohmann/json/issues/4903) - **Title:** LNK2005 - **State:** CLOSED @@ -238,6 +283,14 @@ The misbehaviours are compiled from github issues of the nlohmann/json repositor - **Comment:** This issue does not apply to the use of nlohmann/json in Eclipse S-CORE. Defining the namespace "nlohmann" multiple times within the same project leads to an error. +### [#4898](https://github.com/nlohmann/json/issues/4898) +- **Title:** Different results on Linux vs Windows when using json["str"].push_back({json::object}) +- **State:** CLOSED +- **Created At:** 2025-08-20T19:19:24Z + +- **Comment:** This issue does not apply to the use of nlohmann/json in Eclipse S-CORE. Brace initialisation yields array, cf. [here](https://json.nlohmann.me/home/faq/#brace-initialization-yields-arrays). + + ### [#4892](https://github.com/nlohmann/json/issues/4892) - **Title:** Feature request: please add separate "declaration" and "implementation" macros for enum serialization - **State:** CLOSED @@ -357,6 +410,14 @@ The misbehaviours are compiled from github issues of the nlohmann/json repositor - **Comment:** This issue does not apply to the use of nlohmann/json in Eclipse S-CORE. Only binary formats like CBOR or MessagePack allow writing and reading binary values; no misbehaviour. +### [#4810](https://github.com/nlohmann/json/issues/4810) +- **Title:** Allocator Propagation Issues with std::pmr in nlohmann::json: Limitations +- **State:** CLOSED +- **Created At:** 2025-06-05T10:27:20Z + +- **Comment:** This issue does not apply to the use of nlohmann/json in Eclipse S-CORE. nlohmann::json currently does not allow selecting a custom allocator. + + ### [#4804](https://github.com/nlohmann/json/issues/4804) - **Title:** `from_cbor` incompatible with `std::vector` as `binary_t` - **State:** CLOSED diff --git a/TSF/scripts/capture_test_data_memory_sensitive.py b/TSF/scripts/capture_test_data_memory_sensitive.py index 260299e41a..707e6a394a 100644 --- a/TSF/scripts/capture_test_data_memory_sensitive.py +++ b/TSF/scripts/capture_test_data_memory_sensitive.py @@ -144,7 +144,13 @@ def find_most_recent_results(target: str, name: str, compiler: str, cpp_standard # Step 1: store metadata of workflow run persistently # initiate connection to database - connector = sqlite3.connect("TSF/MemoryEfficientTestResultData.db") + persist_db = os.environ.get("TSF_PERSIST_DB") + if not persist_db: + raise RuntimeError( + "TSF_PERSIST_DB is not set.\n" + "This script requires the path to the persistent SQLite database.\n" + ) + connector = sqlite3.connect(persist_db) connector.execute("PRAGMA foreign_keys = ON") # load expected tables