diff --git a/.github/workflows/test-linux-gpu.yml b/.github/workflows/test-linux-gpu.yml index 3a50cfd0b5..b8e78ed715 100644 --- a/.github/workflows/test-linux-gpu.yml +++ b/.github/workflows/test-linux-gpu.yml @@ -80,12 +80,12 @@ jobs: echo "\n" echo "Running graphics test scripts" - for i in $(find shards/tests -name 'gfx*.shs'); + for i in $(find shards/tests -maxdepth 1 -name 'gfx*.shs'); do echo "Running $i" build/shards new "$i" done - for i in $(find shards/tests -name 'gfx*.shs'); + for i in $(find shards/tests -maxdepth 1 -name 'gfx*.shs'); do echo "Running $i" build/shards new "$i" @@ -93,7 +93,7 @@ jobs: echo "\n" echo "Running graphics test scripts" - for i in $(find shards/tests -name 'gfx*.edn'); + for i in $(find shards/tests -maxdepth 1 -name 'gfx*.edn'); do echo "Running $i" build/shards "$i" diff --git a/include/shards/shards.hpp b/include/shards/shards.hpp index 41b4b53e66..e7a64aa305 100644 --- a/include/shards/shards.hpp +++ b/include/shards/shards.hpp @@ -216,9 +216,9 @@ struct Types { return *this; } - operator SHTypesInfo() { + operator SHTypesInfo() const { if (_types.size() > 0) { - return SHTypesInfo{&_types[0], (uint32_t)_types.size(), 0}; + return SHTypesInfo{&const_cast(this)->_types[0], (uint32_t)_types.size(), 0}; } else { return SHTypesInfo{nullptr, 0, 0}; } diff --git a/run_tests b/run_tests new file mode 100644 index 0000000000..f91d867e62 --- /dev/null +++ b/run_tests @@ -0,0 +1,26 @@ +SHARDS=build/clang-x86_64-pc-windows-msvc/Debug/shards.exe +OK_TAG_DIR=shards/tests/tag_ok +ERR_TAG_DIR=shards/tests/tag_err +IGNORE_TAG_DIR=shards/tests/tag_ignore +mkdir -p $OK_TAG_DIR +mkdir -p $ERR_TAG_DIR +find shards/tests -maxdepth 1 -name "*.shs" | while read -r test; do + # base=`basename "$test"` + OK_TAG=$OK_TAG_DIR/${test##*/} + ERR_TAG=$ERR_TAG_DIR/${test##*/} + IGNORE_TAG=$IGNORE_TAG_DIR/${test##*/} + if [[ -f $OK_TAG || -f $IGNORE_TAG ]]; then + continue + fi + echo "Running $test" + "$SHARDS" new "$test" 2> $ERR_TAG + RESULT=$? + if [[ $RESULT -eq 0 ]]; then + rm -f $OK_TAG + mv $ERR_TAG $OK_TAG + else + echo "!Test failed" + fi +done + +echo "Done" diff --git a/shards/core/exposed_type_utils.hpp b/shards/core/exposed_type_utils.hpp index 7f5bbab7a6..2e65af81d3 100644 --- a/shards/core/exposed_type_utils.hpp +++ b/shards/core/exposed_type_utils.hpp @@ -68,7 +68,7 @@ struct RequiredContextVariable { } } - void cleanup(SHContext* context = nullptr) { + void cleanup(SHContext *context = nullptr) { if (variable) { shards::releaseVariable(variable); variable = nullptr; @@ -176,6 +176,26 @@ inline void getObjectTypes(std::vector &out, const SHTypeInfo &type) } } +inline bool hasContextVariables(const SHTypeInfo &type) { + switch (type.basicType) { + case SHType::ContextVar: + return true; + case SHType::Seq: + for (auto &t : type.seqTypes) + if (hasContextVariables(t)) + return true; + break; + case SHType::Table: + for (auto &t : type.table.types) + if (hasContextVariables(t)) + return true; + break; + default: + break; + } + return false; +} + } // namespace shards #endif /* A16CC8A4_FBC4_4500_BE1D_F565963C9C16 */ diff --git a/shards/core/foundation.hpp b/shards/core/foundation.hpp index b31410fc0b..fc9c7250d7 100644 --- a/shards/core/foundation.hpp +++ b/shards/core/foundation.hpp @@ -16,6 +16,7 @@ #include "ops_internal.hpp" #include "spdlog/spdlog.h" +#include "type_matcher.hpp" #include #include @@ -180,7 +181,8 @@ template *expInfo = nullptr); +SHTypeInfo deriveTypeInfo(const SHVar &value, const SHInstanceData &data, std::vector *expInfo = nullptr, + bool resolveContextVariables = true); SHTypeInfo cloneTypeInfo(const SHTypeInfo &other); uint64_t deriveTypeHash(const SHVar &value); @@ -189,8 +191,9 @@ uint64_t deriveTypeHash(const SHTypeInfo &value); struct TypeInfo { TypeInfo() {} - TypeInfo(const SHVar &var, const SHInstanceData &data, std::vector *expInfo = nullptr) { - _info = deriveTypeInfo(var, data, expInfo); + TypeInfo(const SHVar &var, const SHInstanceData &data, std::vector *expInfo = nullptr, + bool resolveContextVariables = true) { + _info = deriveTypeInfo(var, data, expInfo, resolveContextVariables); } TypeInfo(const SHTypeInfo &info) { _info = cloneTypeInfo(info); } @@ -1513,6 +1516,7 @@ inline std::optional findExposedVariable(const SHExposedTypes // Collects all ContextVar references inline void collectRequiredVariables(const SHExposedTypesInfo &exposed, ExposedInfo &out, const SHVar &var) { using namespace std::literals; + switch (var.valueType) { case SHType::ContextVar: { auto sv = SHSTRVIEW(var); @@ -1538,6 +1542,25 @@ inline void collectRequiredVariables(const SHExposedTypesInfo &exposed, ExposedI } } +inline bool collectRequiredVariables(const SHExposedTypesInfo &exposed, ExposedInfo &out, const SHVar &var, + SHTypesInfo validTypes, const char *debugTag) { + SHInstanceData data{.shared = exposed}; + std::vector expInfo; + TypeInfo ti(var, data, &expInfo, false); + for (auto &type : validTypes) { + if (TypeMatcher{.isParameter = true, .relaxEmptyTableCheck = true, .relaxEmptySeqCheck = expInfo.empty(), .checkVarTypes = true}.match(ti, type)) { + for (auto &it : expInfo) { + out.push_back(it); + } + return true; + } + } + auto msg = fmt::format("No matching variable found for parameter {}, was: {}, expected any of {}", debugTag, (SHTypeInfo &)ti, + validTypes); + SHLOG_ERROR("{}", msg); + throw ComposeError(msg); +} + template inline void collectAllRequiredVariables(const SHExposedTypesInfo &exposed, ExposedInfo &out, TArgs &&...args) { (collectRequiredVariables(exposed, out, std::forward(args)), ...); diff --git a/shards/core/params.hpp b/shards/core/params.hpp index f99c62e17d..be64f1b566 100644 --- a/shards/core/params.hpp +++ b/shards/core/params.hpp @@ -4,6 +4,7 @@ #include "stddef.h" #include "foundation.hpp" #include "self_macro.h" +#include "exposed_type_utils.hpp" #include #include @@ -27,7 +28,8 @@ struct IterableParam { void (*setParam)(void *varPtr, SHVar var){}; SHVar (*getParam)(void *varPtr){}; - void (*collectRequirements)(const SHExposedTypesInfo &exposed, ExposedInfo &out, void *varPtr){}; + void (*collectRequirements)(const shards::IterableParam ¶m, const SHExposedTypesInfo &exposed, ExposedInfo &out, + void *varPtr){}; void (*warmup)(void *varPtr, SHContext *ctx){}; void (*cleanup)(void *varPtr, SHContext *ctx){}; @@ -39,12 +41,28 @@ struct IterableParam { template static IterableParam createWithVarInterface(void *(*resolveParamInShard)(void *), const ParameterInfo *paramInfo) { - IterableParam result{.resolveParamInShard = resolveParamInShard, - .paramInfo = paramInfo, - .setParam = [](void *varPtr, SHVar var) { *((T *)varPtr) = var; }, - .getParam = [](void *varPtr) -> SHVar { return *((T *)varPtr); }, - .collectRequirements = [](const SHExposedTypesInfo &exposed, ExposedInfo &out, - void *varPtr) { collectRequiredVariables(exposed, out, *((T *)varPtr)); }}; + + IterableParam result{ + .resolveParamInShard = resolveParamInShard, + .paramInfo = paramInfo, + .setParam = [](void *varPtr, SHVar var) { *((T *)varPtr) = var; }, + .getParam = [](void *varPtr) -> SHVar { return *((T *)varPtr); }, + .collectRequirements = + [](const shards::IterableParam ¶m, const SHExposedTypesInfo &exposed, ExposedInfo &out, void *varPtr) { + collectRequiredVariables(exposed, out, *((T *)varPtr), SHTypesInfo(param.paramInfo->_types), + param.paramInfo->_name); + }}; + + bool canPossiblyHaveContextVariables = false; + for (auto &type : paramInfo->_types._types) { + if (hasContextVariables(type)) { + canPossiblyHaveContextVariables = true; + break; + } + } + if (!canPossiblyHaveContextVariables) { + result.collectRequirements = nullptr; + } if constexpr (has_warmup::value) { result.warmup = [](void *varPtr, SHContext *ctx) { ((T *)varPtr)->warmup(ctx); }; @@ -111,13 +129,16 @@ struct IterableParam { // PARAM_COMPOSE_REQUIRED_VARIABLES(data); // return outputTypes().elements[0]; // } -#define PARAM_COMPOSE_REQUIRED_VARIABLES(__data) \ - { \ - size_t numParams; \ - const shards::IterableParam *params = getIterableParams(numParams); \ - _requiredVariables.clear(); \ - for (size_t i = 0; i < numParams; i++) \ - params[i].collectRequirements(__data.shared, _requiredVariables, params[i].resolveParamInShard(this)); \ +#define PARAM_COMPOSE_REQUIRED_VARIABLES(__data) \ + { \ + size_t numParams; \ + const shards::IterableParam *params = getIterableParams(numParams); \ + _requiredVariables.clear(); \ + for (size_t i = 0; i < numParams; i++) { \ + if (params[i].collectRequirements) { \ + params[i].collectRequirements(params[i], __data.shared, _requiredVariables, params[i].resolveParamInShard(this)); \ + } \ + } \ } // Implements setParam()/getParam() diff --git a/shards/core/runtime.cpp b/shards/core/runtime.cpp index 8db5c42267..6ae661e9c1 100644 --- a/shards/core/runtime.cpp +++ b/shards/core/runtime.cpp @@ -2,6 +2,7 @@ /* Copyright © 2019 Fragcolor Pte. Ltd. */ #include "runtime.hpp" +#include "type_matcher.hpp" #include #include "core/foundation.hpp" #include "foundation.hpp" @@ -742,162 +743,8 @@ SHWireState activateShards2(Shards shards, SHContext *context, const SHVar &wire bool matchTypes(const SHTypeInfo &inputType, const SHTypeInfo &receiverType, bool isParameter, bool strict, bool relaxEmptySeqCheck) { - if (receiverType.basicType == SHType::Any) - return true; - - if (inputType.basicType != receiverType.basicType) { - // Fail if basic type differs - return false; - } - - switch (inputType.basicType) { - case SHType::Object: { - if (inputType.object.vendorId != receiverType.object.vendorId || inputType.object.typeId != receiverType.object.typeId) { - return false; - } - break; - } - case SHType::Enum: { - // special case: any enum - if (receiverType.enumeration.vendorId == 0 && receiverType.enumeration.typeId == 0) - return true; - // otherwise, exact match - if (inputType.enumeration.vendorId != receiverType.enumeration.vendorId || - inputType.enumeration.typeId != receiverType.enumeration.typeId) { - return false; - } - break; - } - case SHType::Seq: { - if (strict) { - if (inputType.seqTypes.len > 0 && receiverType.seqTypes.len > 0) { - // all input types must be in receiver, receiver can have more ofc - for (uint32_t i = 0; i < inputType.seqTypes.len; i++) { - for (uint32_t j = 0; j < receiverType.seqTypes.len; j++) { - if (receiverType.seqTypes.elements[j].basicType == SHType::Any || - matchTypes(inputType.seqTypes.elements[i], receiverType.seqTypes.elements[j], isParameter, strict, - relaxEmptySeqCheck)) - goto matched; - } - return false; - matched: - continue; - } - } else if (inputType.seqTypes.len == 0 && receiverType.seqTypes.len > 0 && !relaxEmptySeqCheck) { - // Empty input sequence type indicates [ Any ], receiver type needs to explicitly contain Any to match - // but if input is a parameter such as `[]` we can let it pass, this is also used in channels! - for (uint32_t j = 0; j < receiverType.seqTypes.len; j++) { - if (receiverType.seqTypes.elements[j].basicType == SHType::Any) - return true; - } - return false; - } else if ((!relaxEmptySeqCheck && inputType.seqTypes.len == 0) || receiverType.seqTypes.len == 0) { - return false; - } - // if a fixed size is requested make sure it fits at least enough elements - if (receiverType.fixedSize != 0 && receiverType.fixedSize > inputType.fixedSize) { - return false; - } - } - break; - } - case SHType::Table: { - if (strict) { - // Table is a complicated one - // We use it as many things.. one of it as structured data - // So we have many possible cases: - // 1. a receiver table with just type info is flexible, accepts only those - // types but the keys are open to anything, if no types are available, it - // accepts any type - // 2. a receiver table with type info and key info is strict, means that - // input has to match 1:1, an exception is done if the last key is empty - // as in - // "" on the receiver side, in such case any input is allowed (types are - // still checked) - const auto numInputTypes = inputType.table.types.len; - const auto numReceiverTypes = receiverType.table.types.len; - const auto numInputKeys = inputType.table.keys.len; - const auto numReceiverKeys = receiverType.table.keys.len; - if (numReceiverKeys == 0) { - // case 1, consumer is not strict, match types if avail - // ignore input keys information - if (numInputTypes == 0) { - // assume this as an Any - if (numReceiverTypes == 0) - return true; // both Any - auto matched = false; - SHTypeInfo anyType{SHType::Any}; - for (uint32_t y = 0; y < numReceiverTypes; y++) { - auto btype = receiverType.table.types.elements[y]; - if (matchTypes(anyType, btype, isParameter, strict, relaxEmptySeqCheck)) { - matched = true; - break; - } - } - if (!matched) { - return false; - } - } else { - if (isParameter || numReceiverTypes != 0) { - // receiver doesn't accept anything, match further - for (uint32_t i = 0; i < numInputTypes; i++) { - // Go thru all exposed types and make sure we get a positive match - // with the consumer - auto atype = inputType.table.types.elements[i]; - auto matched = false; - for (uint32_t y = 0; y < numReceiverTypes; y++) { - auto btype = receiverType.table.types.elements[y]; - if (matchTypes(atype, btype, isParameter, strict, relaxEmptySeqCheck)) { - matched = true; - break; - } - } - if (!matched) { - return false; - } - } - } - } - } else { - if (!isParameter && numInputKeys == 0 && numInputTypes == 0) - return true; // update case {} >= .edit-me {"x" 10} > .edit-me - - // Last element being empty ("") indicates that keys not in the type can match - // in that case they will be matched against the last type element at the same position - const auto lastElementEmpty = receiverType.table.keys.elements[numReceiverKeys - 1].valueType == SHType::None; - if (!lastElementEmpty && (numInputKeys != numReceiverKeys || numInputKeys != numInputTypes)) { - // we need a 1:1 match in this case, fail early - return false; - } - - auto missingMatches = numInputKeys; - for (uint32_t i = 0; i < numInputKeys; i++) { - auto inputEntryType = inputType.table.types.elements[i]; - auto inputEntryKey = inputType.table.keys.elements[i]; - for (uint32_t y = 0; y < numReceiverKeys; y++) { - auto receiverEntryType = receiverType.table.types.elements[y]; - auto receiverEntryKey = receiverType.table.keys.elements[y]; - // Either match the expected key's type or compare against the last type (if it's key is "") - if (inputEntryKey == receiverEntryKey || (lastElementEmpty && y == (numReceiverKeys - 1))) { - if (matchTypes(inputEntryType, receiverEntryType, isParameter, strict, relaxEmptySeqCheck)) { - missingMatches--; - y = numReceiverKeys; // break - } else - return false; // fail quick in this case - } - } - } - - if (missingMatches) - return false; - } - } - break; - } - default: - return true; - } - return true; + return TypeMatcher{.isParameter = isParameter, .strict = strict, .relaxEmptySeqCheck = relaxEmptySeqCheck}.match(inputType, + receiverType); } struct ValidationContext { @@ -1367,7 +1214,8 @@ void freeDerivedInfo(SHTypeInfo info) { }; } -SHTypeInfo deriveTypeInfo(const SHVar &value, const SHInstanceData &data, std::vector *expInfo) { +SHTypeInfo deriveTypeInfo(const SHVar &value, const SHInstanceData &data, std::vector *expInfo, + bool resolveContextVariables) { // We need to guess a valid SHTypeInfo for this var in order to validate // Build a SHTypeInfo for the var // this is not complete at all, missing Array and SHType::ContextVar for example @@ -1388,7 +1236,7 @@ SHTypeInfo deriveTypeInfo(const SHVar &value, const SHInstanceData &data, std::v case SHType::Seq: { std::unordered_set types; for (uint32_t i = 0; i < value.payload.seqValue.len; i++) { - auto derived = deriveTypeInfo(value.payload.seqValue.elements[i], data, expInfo); + auto derived = deriveTypeInfo(value.payload.seqValue.elements[i], data, expInfo, resolveContextVariables); if (!types.count(derived)) { shards::arrayPush(varType.seqTypes, derived); types.insert(derived); @@ -1404,7 +1252,7 @@ SHTypeInfo deriveTypeInfo(const SHVar &value, const SHInstanceData &data, std::v SHVar k; SHVar v; while (t.api->tableNext(t, &tit, &k, &v)) { - auto derived = deriveTypeInfo(v, data, expInfo); + auto derived = deriveTypeInfo(v, data, expInfo, resolveContextVariables); shards::arrayPush(varType.table.types, derived); auto idx = varType.table.keys.len; shards::arrayResize(varType.table.keys, idx + 1); @@ -1417,7 +1265,7 @@ SHTypeInfo deriveTypeInfo(const SHVar &value, const SHInstanceData &data, std::v s.api->setGetIterator(s, &sit); SHVar v; while (s.api->setNext(s, &sit, &v)) { - auto derived = deriveTypeInfo(v, data, expInfo); + auto derived = deriveTypeInfo(v, data, expInfo, resolveContextVariables); shards::arrayPush(varType.setTypes, derived); } } break; @@ -1429,7 +1277,12 @@ SHTypeInfo deriveTypeInfo(const SHVar &value, const SHInstanceData &data, std::v std::string_view name(info.name); if (name == sv) { expInfo->push_back(SHExposedTypeInfo{.name = info.name, .exposedType = info.exposedType}); - return cloneTypeInfo(info.exposedType); + if (resolveContextVariables) { + return cloneTypeInfo(info.exposedType); + } else { + shards::arrayPush(varType.contextVarTypes, cloneTypeInfo(info.exposedType)); + return varType; + } } } SHLOG_ERROR("Could not find variable {} when deriving type info", varName); @@ -1677,8 +1530,8 @@ bool validateSetParam(Shard *shard, int index, const SHVar &value, SHValidationC for (uint32_t i = 0; param.valueTypes.len > i; i++) { // This only does a quick check to see if the type is roughly correct // ContextVariable types will be checked in validateConnection based on requiredVariables - if (matchTypes(varType, param.valueTypes.elements[i], true, true, false)) { - return true; // we are good just exit + if (matchTypes(varType, param.valueTypes.elements[i], true, true, true)) { + return true; // we are good just exit } } diff --git a/shards/core/type_matcher.hpp b/shards/core/type_matcher.hpp new file mode 100644 index 0000000000..be881b4759 --- /dev/null +++ b/shards/core/type_matcher.hpp @@ -0,0 +1,197 @@ +#ifndef D21D6CFA_EF1C_4BC8_A578_131D78F4D38F +#define D21D6CFA_EF1C_4BC8_A578_131D78F4D38F + +#include + +namespace shards { +struct TypeMatcher { + bool isParameter = true; + bool strict = true; + bool relaxEmptyTableCheck = true; + bool relaxEmptySeqCheck = false; + bool checkVarTypes = false; + + bool match(const SHTypeInfo &inputType, const SHTypeInfo &receiverType) { + if (receiverType.basicType == SHType::Any) + return true; + + if (inputType.basicType != receiverType.basicType) { + // Fail if basic type differs + return false; + } + + switch (inputType.basicType) { + case SHType::Object: { + if (inputType.object.vendorId != receiverType.object.vendorId || inputType.object.typeId != receiverType.object.typeId) { + return false; + } + break; + } + case SHType::Enum: { + // special case: any enum + if (receiverType.enumeration.vendorId == 0 && receiverType.enumeration.typeId == 0) + return true; + // otherwise, exact match + if (inputType.enumeration.vendorId != receiverType.enumeration.vendorId || + inputType.enumeration.typeId != receiverType.enumeration.typeId) { + return false; + } + break; + } + case SHType::Seq: { + if (strict) { + if (inputType.seqTypes.len > 0 && receiverType.seqTypes.len > 0) { + // all input types must be in receiver, receiver can have more ofc + for (uint32_t i = 0; i < inputType.seqTypes.len; i++) { + for (uint32_t j = 0; j < receiverType.seqTypes.len; j++) { + if (receiverType.seqTypes.elements[j].basicType == SHType::Any || + match(inputType.seqTypes.elements[i], receiverType.seqTypes.elements[j])) + goto matched; + } + return false; + matched: + continue; + } + } else if (inputType.seqTypes.len == 0 && receiverType.seqTypes.len > 0 && !relaxEmptySeqCheck) { + // Empty input sequence type indicates [ Any ], receiver type needs to explicitly contain Any to match + // but if input is a parameter such as `[]` we can let it pass, this is also used in channels! + for (uint32_t j = 0; j < receiverType.seqTypes.len; j++) { + if (receiverType.seqTypes.elements[j].basicType == SHType::Any) + return true; + } + return false; + } else if ((!relaxEmptySeqCheck && inputType.seqTypes.len == 0) || receiverType.seqTypes.len == 0) { + return false; + } + // if a fixed size is requested make sure it fits at least enough elements + if (receiverType.fixedSize != 0 && receiverType.fixedSize > inputType.fixedSize) { + return false; + } + } + break; + } + case SHType::Table: { + if (strict) { + // Table is a complicated one + // We use it as many things.. one of it as structured data + // So we have many possible cases: + // 1. a receiver table with just type info is flexible, accepts only those + // types but the keys are open to anything, if no types are available, it + // accepts any type + // 2. a receiver table with type info and key info is strict, means that + // input has to match 1:1, an exception is done if the last key is empty + // as in + // "" on the receiver side, in such case any input is allowed (types are + // still checked) + const auto numInputTypes = inputType.table.types.len; + const auto numReceiverTypes = receiverType.table.types.len; + const auto numInputKeys = inputType.table.keys.len; + const auto numReceiverKeys = receiverType.table.keys.len; + + // When the input is and empty table {}, and the received has no key constraints + // pass + if (numReceiverKeys == 0 && numInputKeys == 0 && relaxEmptyTableCheck) { + return true; + } else if (numReceiverKeys == 0) { + // case 1, consumer is not strict, match types if avail + // ignore input keys information + if (numInputTypes == 0) { + // assume this as an Any + if (numReceiverTypes == 0) + return true; // both Any + auto matched = false; + SHTypeInfo anyType{SHType::Any}; + for (uint32_t y = 0; y < numReceiverTypes; y++) { + auto btype = receiverType.table.types.elements[y]; + if (match(anyType, btype)) { + matched = true; + break; + } + } + if (!matched) { + return false; + } + } else { + if (isParameter || numReceiverTypes != 0) { + // receiver doesn't accept anything, match further + for (uint32_t i = 0; i < numInputTypes; i++) { + // Go thru all exposed types and make sure we get a positive match + // with the consumer + auto atype = inputType.table.types.elements[i]; + auto matched = false; + for (uint32_t y = 0; y < numReceiverTypes; y++) { + auto btype = receiverType.table.types.elements[y]; + if (match(atype, btype)) { + matched = true; + break; + } + } + if (!matched) { + return false; + } + } + } + } + } else { + if (!isParameter && numInputKeys == 0 && numInputTypes == 0) + return true; // update case {} >= .edit-me {"x" 10} > .edit-me + + // Last element being empty ("") indicates that keys not in the type can match + // in that case they will be matched against the last type element at the same position + const auto lastElementEmpty = receiverType.table.keys.elements[numReceiverKeys - 1].valueType == SHType::None; + if (!lastElementEmpty && (numInputKeys != numReceiverKeys || numInputKeys != numInputTypes)) { + // we need a 1:1 match in this case, fail early + return false; + } + + auto missingMatches = numInputKeys; + for (uint32_t i = 0; i < numInputKeys; i++) { + auto inputEntryType = inputType.table.types.elements[i]; + auto inputEntryKey = inputType.table.keys.elements[i]; + for (uint32_t y = 0; y < numReceiverKeys; y++) { + auto receiverEntryType = receiverType.table.types.elements[y]; + auto receiverEntryKey = receiverType.table.keys.elements[y]; + // Either match the expected key's type or compare against the last type (if it's key is "") + if (inputEntryKey == receiverEntryKey || (lastElementEmpty && y == (numReceiverKeys - 1))) { + if (match(inputEntryType, receiverEntryType)) { + missingMatches--; + y = numReceiverKeys; // break + } else + return false; // fail quick in this case + } + } + } + + if (missingMatches) + return false; + } + } + break; + } + case SHType::ContextVar: { + if (!checkVarTypes) + break; + + for (auto &innerReceiverType : receiverType.contextVarTypes) { + bool matchAll = true; + for (auto &t : inputType.contextVarTypes) { + if (!match(t, innerReceiverType)) { + matchAll = false; + break; + } + } + if (matchAll) { + return true; + } + } + return false; + } + default: + return true; + } + return true; + } +}; +} // namespace shards + +#endif /* D21D6CFA_EF1C_4BC8_A578_131D78F4D38F */ diff --git a/shards/gfx/enums.cpp b/shards/gfx/enums.cpp index 12fcb285f2..01b32273b5 100644 --- a/shards/gfx/enums.cpp +++ b/shards/gfx/enums.cpp @@ -53,17 +53,17 @@ static const TextureFormatMap &getTextureFormatMap() { {WGPUTextureFormat_RGBA16Sint, {StorageType::Int16, 4, TextureSampleType::Int}}, {WGPUTextureFormat_RGBA16Float, {StorageType::Float16, 4, TextureSampleType::Float}}, // u32x1 - {WGPUTextureFormat_R32Float, {StorageType::UInt32, 1, TextureSampleType::UnfilterableFloat}}, - {WGPUTextureFormat_R32Uint, {StorageType::Int32, 1, TextureSampleType::Int}}, - {WGPUTextureFormat_R32Sint, {StorageType::Float32, 1, TextureSampleType::UInt}}, + {WGPUTextureFormat_R32Uint, {StorageType::UInt32, 1, TextureSampleType::UnfilterableFloat}}, + {WGPUTextureFormat_R32Sint, {StorageType::Int32, 1, TextureSampleType::Int}}, + {WGPUTextureFormat_R32Float, {StorageType::Float32, 1, TextureSampleType::UInt}}, // u32x2 - {WGPUTextureFormat_RG32Float, {StorageType::UInt32, 2, TextureSampleType::UnfilterableFloat}}, - {WGPUTextureFormat_RG32Uint, {StorageType::Int32, 2, TextureSampleType::Int}}, - {WGPUTextureFormat_RG32Sint, {StorageType::Float32, 2, TextureSampleType::UInt}}, + {WGPUTextureFormat_RG32Uint, {StorageType::UInt32, 2, TextureSampleType::UnfilterableFloat}}, + {WGPUTextureFormat_RG32Sint, {StorageType::Int32, 2, TextureSampleType::Int}}, + {WGPUTextureFormat_RG32Float, {StorageType::Float32, 2, TextureSampleType::UInt}}, // u32x4 - {WGPUTextureFormat_RGBA32Float, {StorageType::UInt32, 4, TextureSampleType::UnfilterableFloat}}, - {WGPUTextureFormat_RGBA32Uint, {StorageType::Int32, 4, TextureSampleType::Int}}, - {WGPUTextureFormat_RGBA32Sint, {StorageType::Float32, 4, TextureSampleType::UInt}}, + {WGPUTextureFormat_RGBA32Uint, {StorageType::UInt32, 4, TextureSampleType::UnfilterableFloat}}, + {WGPUTextureFormat_RGBA32Sint, {StorageType::Int32, 4, TextureSampleType::Int}}, + {WGPUTextureFormat_RGBA32Float, {StorageType::Float32, 4, TextureSampleType::UInt}}, // Depth(+stencil) formats {WGPUTextureFormat_Depth32Float, {StorageType::Invalid, 0, TextureSampleType::UnfilterableFloat, TextureFormatUsage::Depth}}, @@ -116,7 +116,6 @@ size_t getStorageTypeSize(const StorageType &type) { } } - bool isIntegerStorageType(const StorageType &type) { switch (type) { case StorageType::UInt8: @@ -136,7 +135,6 @@ bool isIntegerStorageType(const StorageType &type) { default: throw std::out_of_range(std::string(NAMEOF_TYPE(StorageType))); } - } size_t getIndexFormatSize(const IndexFormat &type) { diff --git a/shards/modules/core/linalg.cpp b/shards/modules/core/linalg.cpp index ce8504f2d8..28be80c7af 100644 --- a/shards/modules/core/linalg.cpp +++ b/shards/modules/core/linalg.cpp @@ -406,7 +406,7 @@ struct Project { PARAM_PARAMVAR(_screenSize, "ScreenSize", "The combined view-projection matrix to use", {CoreInfo::Float2Type, Type::VariableOf(CoreInfo::Float2Type)}); PARAM_PARAMVAR(_flipY, "FlipY", "Flip Y coordinate (on by default)", - {CoreInfo::BoolType, Type::VariableOf(CoreInfo::BoolVarType)}); + {CoreInfo::NoneType, CoreInfo::BoolType, Type::VariableOf(CoreInfo::BoolVarType)}); PARAM_IMPL(PARAM_IMPL_FOR(_mtx), PARAM_IMPL_FOR(_screenSize), PARAM_IMPL_FOR(_flipY)); PARAM_REQUIRED_VARIABLES(); @@ -450,7 +450,7 @@ struct Unproject { PARAM_PARAMVAR(_depthRange, "DepthRange", "The combined view-projection matrix to use", {CoreInfo::NoneType, CoreInfo::Float2Type, Type::VariableOf(CoreInfo::Float2Type)}); PARAM_PARAMVAR(_flipY, "FlipY", "Flip Y coordinate (on by default)", - {CoreInfo::BoolType, Type::VariableOf(CoreInfo::BoolVarType)}); + {CoreInfo::NoneType, CoreInfo::BoolType, Type::VariableOf(CoreInfo::BoolVarType)}); PARAM_IMPL(PARAM_IMPL_FOR(_mtx), PARAM_IMPL_FOR(_screenSize), PARAM_IMPL_FOR(_depthRange), PARAM_IMPL_FOR(_flipY)); PARAM_REQUIRED_VARIABLES(); diff --git a/shards/modules/gfx/feature.cpp b/shards/modules/gfx/feature.cpp index 447909a641..e7e88fb9b0 100644 --- a/shards/modules/gfx/feature.cpp +++ b/shards/modules/gfx/feature.cpp @@ -147,27 +147,27 @@ struct FeatureShard { // The Before/After parameters are optional and can be used to specify dependencies // Each dependency will make sure that entry point is evaluated before or after the named dependency // You can give each entry point a name for this purpose using the Name parameter - PARAM_PARAMVAR(_shaders, "Shaders", "A list of shader entry points", {ShaderEntryPointType}); + PARAM_PARAMVAR(_shaders, "Shaders", "A list of shader entry points", {CoreInfo::NoneType, ShaderEntryPointType}); // Any constant undefined variables used in the shader can be injected using this parameter PARAM_PARAMVAR(_composeWith, "ComposeWith", "Any table of values that need to be injected into this feature's shaders", - {CoreInfo::AnyTableType, CoreInfo::AnyVarTableType}); + {CoreInfo::NoneType, CoreInfo::AnyTableType, CoreInfo::AnyVarTableType}); // A table, any key used in the applyState function can be used here (you can also check shards\gfx\pipeline_states.def for a // list of states) States are applied in the order that the features are references, so features that are added after this one // can override this feature's state Any states not in this table will inherit the parent's values PARAM_PARAMVAR(_state, "State", "The table of render state flags to override", - {CoreInfo::AnyTableType, CoreInfo::AnyVarTableType}); + {CoreInfo::NoneType, CoreInfo::AnyTableType, CoreInfo::AnyVarTableType}); // [(-> ...)]/(-> ...)/[]/ // Any variables used in the callback will be copied during this shard's activation // The output should be a single parameter table PARAM_VAR(_viewGenerators, "ViewGenerators", "A collection of callbacks that will be run to generate per-view shader parameters during rendering", - {IntoWires::RunnableTypes}); + {IntoWires::RunnableTypes, {CoreInfo::NoneType}}); // [(-> ...)]/(-> ...)/[]/ // Any variables used in the callback will be copied during this shard's activation // The output should be a sequence of parameter tables (each with the same type) PARAM_VAR(_drawableGenerators, "DrawableGenerators", "A collection of callbacks that will be run to generate per-drawable shader parameters during rendering", - {IntoWires::RunnableTypes}); + {IntoWires::RunnableTypes, {CoreInfo::NoneType}}); // Table of shader parameters, can be defined using any of the formats below: // : {:Type :Dimension } // : {:Default } (type will be derived from value) diff --git a/shards/modules/gfx/gizmos/shapes.cpp b/shards/modules/gfx/gizmos/shapes.cpp index e63bad9a75..25f4f94441 100644 --- a/shards/modules/gfx/gizmos/shapes.cpp +++ b/shards/modules/gfx/gizmos/shapes.cpp @@ -32,7 +32,7 @@ struct LineShard : public Base { PARAM_PARAMVAR(_a, "A", "Starting position of the line", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); PARAM_PARAMVAR(_b, "B", "Ending position of the line", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); - PARAM_PARAMVAR(_color, "Color", "Linear color of the line", {CoreInfo::Float4Type, Type::VariableOf(CoreInfo::Float4Type)}); + PARAM_PARAMVAR(_color, "Color", "Linear color of the line", {CoreInfo::NoneType, CoreInfo::Float4Type, Type::VariableOf(CoreInfo::Float4Type)}); PARAM_VAR(_thickness, "Thickness", "Width of the line in screen space", {CoreInfo::NoneType, CoreInfo::IntType, CoreInfo::FloatType}); PARAM_IMPL(PARAM_IMPL_FOR(_a), PARAM_IMPL_FOR(_b), PARAM_IMPL_FOR(_color), PARAM_IMPL_FOR(_thickness)); @@ -76,8 +76,8 @@ struct CircleShard : public Base { PARAM_PARAMVAR(_center, "Center", "Center of the circle", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); PARAM_PARAMVAR(_xBase, "XBase", "X direction of the plane the circle is on", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); PARAM_PARAMVAR(_yBase, "YBase", "Y direction of the plane the circle is on", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); - PARAM_PARAMVAR(_radius, "Radius", "Radius", {CoreInfo::FloatType, CoreInfo::FloatVarType}); - PARAM_PARAMVAR(_color, "Color", "Linear color of the circle", {CoreInfo::Float4Type, CoreInfo::Float4VarType}); + PARAM_PARAMVAR(_radius, "Radius", "Radius", {CoreInfo::NoneType, CoreInfo::FloatType, CoreInfo::FloatVarType}); + PARAM_PARAMVAR(_color, "Color", "Linear color of the circle", {CoreInfo::NoneType, CoreInfo::Float4Type, CoreInfo::Float4VarType}); PARAM_VAR(_thickness, "Thickness", "Width of the circle in screen space", {CoreInfo::NoneType, CoreInfo::IntType, CoreInfo::FloatType}); PARAM_IMPL(PARAM_IMPL_FOR(_center), PARAM_IMPL_FOR(_xBase), PARAM_IMPL_FOR(_yBase), PARAM_IMPL_FOR(_radius), @@ -130,8 +130,8 @@ struct RectShard : public Base { {CoreInfo::Float3Type, CoreInfo::Float3VarType}); PARAM_PARAMVAR(_yBase, "YBase", "Y direction of the plane the rectangle is on", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); - PARAM_PARAMVAR(_size, "Size", "Size of the rectange", {CoreInfo::Float2Type, CoreInfo::Float2VarType}); - PARAM_PARAMVAR(_color, "Color", "Rectanglear color of the rectangle", {CoreInfo::Float4Type, CoreInfo::Float4VarType}); + PARAM_PARAMVAR(_size, "Size", "Size of the rectange", {CoreInfo::NoneType, CoreInfo::Float2Type, CoreInfo::Float2VarType}); + PARAM_PARAMVAR(_color, "Color", "Rectanglear color of the rectangle", {CoreInfo::NoneType, CoreInfo::Float4Type, CoreInfo::Float4VarType}); PARAM_VAR(_thickness, "Thickness", "Width of the rectangle in screen space", {CoreInfo::NoneType, CoreInfo::IntType, CoreInfo::FloatType}); PARAM_IMPL(PARAM_IMPL_FOR(_center), PARAM_IMPL_FOR(_xBase), PARAM_IMPL_FOR(_yBase), PARAM_IMPL_FOR(_size), @@ -180,10 +180,10 @@ struct BoxShard : public Base { static SHOptionalString help() { return SHCCSTR("Draws a box in 3d space"); } PARAM_PARAMVAR(_center, "Center", "Center of the box", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); - PARAM_PARAMVAR(_size, "Size", "Size of the box", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); + PARAM_PARAMVAR(_size, "Size", "Size of the box", {CoreInfo::NoneType, CoreInfo::Float3Type, CoreInfo::Float3VarType}); PARAM_PARAMVAR(_transform, "Transform", "Transform applied to the box", - {CoreInfo::Float4x4Type, Type::VariableOf(CoreInfo::Float4x4Type)}); - PARAM_PARAMVAR(_color, "Color", "Boxar color of the box", {CoreInfo::Float4Type, CoreInfo::Float4VarType}); + {CoreInfo::NoneType, CoreInfo::Float4x4Type, Type::VariableOf(CoreInfo::Float4x4Type)}); + PARAM_PARAMVAR(_color, "Color", "Boxar color of the box", {CoreInfo::NoneType, CoreInfo::Float4Type, CoreInfo::Float4VarType}); PARAM_VAR(_thickness, "Thickness", "Width of the box in screen space", {CoreInfo::NoneType, CoreInfo::IntType, CoreInfo::FloatType}); PARAM_IMPL(PARAM_IMPL_FOR(_center), PARAM_IMPL_FOR(_size), PARAM_IMPL_FOR(_transform), PARAM_IMPL_FOR(_color), @@ -230,7 +230,7 @@ struct PointShard : public Base { static SHOptionalString help() { return SHCCSTR("Draws a point in 3d space"); } PARAM_PARAMVAR(_center, "Center", "Center of the point", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); - PARAM_PARAMVAR(_color, "Color", "Pointar color of the point", {CoreInfo::Float4Type, CoreInfo::Float4VarType}); + PARAM_PARAMVAR(_color, "Color", "Pointar color of the point", {CoreInfo::NoneType, CoreInfo::Float4Type, CoreInfo::Float4VarType}); PARAM_VAR(_thickness, "Thickness", "Size of the point in screen space", {CoreInfo::NoneType, CoreInfo::IntType, CoreInfo::FloatType}); PARAM_IMPL(PARAM_IMPL_FOR(_center), PARAM_IMPL_FOR(_color), PARAM_IMPL_FOR(_thickness)); @@ -274,9 +274,9 @@ struct SolidRectShard : public Base { {CoreInfo::Float3Type, CoreInfo::Float3VarType}); PARAM_PARAMVAR(_yBase, "YBase", "Y direction of the plane the rectangle is on", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); - PARAM_PARAMVAR(_size, "Size", "Size of the rectange", {CoreInfo::Float2Type, CoreInfo::Float2VarType}); - PARAM_PARAMVAR(_color, "Color", "Rectanglear color of the rectangle", {CoreInfo::Float4Type, CoreInfo::Float4VarType}); - PARAM_PARAMVAR(_culling, "Culling", "Back-face culling of the rectangle", {CoreInfo::BoolType, CoreInfo::BoolVarType}); + PARAM_PARAMVAR(_size, "Size", "Size of the rectange", {CoreInfo::NoneType, CoreInfo::Float2Type, CoreInfo::Float2VarType}); + PARAM_PARAMVAR(_color, "Color", "Rectanglear color of the rectangle", {CoreInfo::NoneType, CoreInfo::Float4Type, CoreInfo::Float4VarType}); + PARAM_PARAMVAR(_culling, "Culling", "Back-face culling of the rectangle", {CoreInfo::NoneType, CoreInfo::BoolType, CoreInfo::BoolVarType}); PARAM_IMPL(PARAM_IMPL_FOR(_center), PARAM_IMPL_FOR(_xBase), PARAM_IMPL_FOR(_yBase), PARAM_IMPL_FOR(_size), PARAM_IMPL_FOR(_color), PARAM_IMPL_FOR(_culling)); @@ -328,11 +328,11 @@ struct DiscShard : public Base { PARAM_PARAMVAR(_xBase, "XBase", "X direction of the plane the disc is on", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); PARAM_PARAMVAR(_yBase, "YBase", "Y direction of the plane the disc is on", {CoreInfo::Float3Type, CoreInfo::Float3VarType}) PARAM_PARAMVAR(_outerRadius, "OuterRadius", "Radius of the outer circle of the disc", - {CoreInfo::FloatType, CoreInfo::FloatVarType}); + {CoreInfo::NoneType, CoreInfo::FloatType, CoreInfo::FloatVarType}); PARAM_PARAMVAR(_innerRadius, "InnerRadius", "Radius of the inner circle of the disc", - {CoreInfo::FloatType, CoreInfo::FloatVarType}); - PARAM_PARAMVAR(_color, "Color", "Linear color of the disc", {CoreInfo::Float4Type, CoreInfo::Float4VarType}); - PARAM_PARAMVAR(_culling, "Culling", "Back-face culling of the disc", {CoreInfo::BoolType, CoreInfo::BoolVarType}); + {CoreInfo::NoneType, CoreInfo::FloatType, CoreInfo::FloatVarType}); + PARAM_PARAMVAR(_color, "Color", "Linear color of the disc", {CoreInfo::NoneType, CoreInfo::Float4Type, CoreInfo::Float4VarType}); + PARAM_PARAMVAR(_culling, "Culling", "Back-face culling of the disc", {CoreInfo::NoneType, CoreInfo::BoolType, CoreInfo::BoolVarType}); PARAM_IMPL(PARAM_IMPL_FOR(_center), PARAM_IMPL_FOR(_xBase), PARAM_IMPL_FOR(_yBase), PARAM_IMPL_FOR(_outerRadius), PARAM_IMPL_FOR(_innerRadius), PARAM_IMPL_FOR(_color), PARAM_IMPL_FOR(_culling)); @@ -393,8 +393,8 @@ struct GridShard : public Base { PARAM_PARAMVAR(_yBase, "YBase", "Y direction of the grid", {CoreInfo::Float3Type, CoreInfo::Float3VarType}) PARAM_VAR(_thickness, "Thickness", "Width of the line in screen space", {CoreInfo::NoneType, CoreInfo::IntType, CoreInfo::FloatType}); - PARAM_PARAMVAR(_stepSize, "StepSize", "Step size of the grid lines", {CoreInfo::FloatType, CoreInfo::FloatVarType}); - PARAM_PARAMVAR(_size, "Size", "Number of grid lines", {CoreInfo::IntType, CoreInfo::IntVarType}); + PARAM_PARAMVAR(_stepSize, "StepSize", "Step size of the grid lines", {CoreInfo::NoneType, CoreInfo::FloatType, CoreInfo::FloatVarType}); + PARAM_PARAMVAR(_size, "Size", "Number of grid lines", {CoreInfo::NoneType, CoreInfo::IntType, CoreInfo::IntVarType}); PARAM_PARAMVAR(_color, "Color", "Linear color of the grid lines", {CoreInfo::NoneType, CoreInfo::Float4Type, CoreInfo::Float4VarType}); PARAM_IMPL(PARAM_IMPL_FOR(_center), PARAM_IMPL_FOR(_xBase), PARAM_IMPL_FOR(_yBase), PARAM_IMPL_FOR(_thickness), @@ -469,7 +469,7 @@ struct RefSpaceGridOverlayShard : public Base { PARAM_PARAMVAR(_yBase, "YBase", "Y direction of the plane the disc is on", {CoreInfo::Float3Type, CoreInfo::Float3VarType}); PARAM_VAR(_thickness, "Thickness", "Width of the line in screen space", {CoreInfo::NoneType, CoreInfo::IntType, CoreInfo::FloatType}); - PARAM_PARAMVAR(_stepSize, "StepSize", "Step size of the grid lines", {CoreInfo::FloatType, CoreInfo::FloatVarType}); + PARAM_PARAMVAR(_stepSize, "StepSize", "Step size of the grid lines", {CoreInfo::NoneType, CoreInfo::FloatType, CoreInfo::FloatVarType}); PARAM_PARAMVAR(_color, "Color", "Linear color of the grid lines", {CoreInfo::NoneType, CoreInfo::Float4Type, CoreInfo::Float4VarType}); PARAM_IMPL(PARAM_IMPL_FOR(_center), PARAM_IMPL_FOR(_xBase), PARAM_IMPL_FOR(_yBase), PARAM_IMPL_FOR(_thickness), diff --git a/shards/modules/gfx/mesh.cpp b/shards/modules/gfx/mesh.cpp index 0a12a38c1e..15c724ec04 100644 --- a/shards/modules/gfx/mesh.cpp +++ b/shards/modules/gfx/mesh.cpp @@ -10,7 +10,7 @@ namespace gfx { struct MeshShard { static inline Type VertexAttributeSeqType = Type::SeqOf(CoreInfo::StringType); static inline shards::Types VerticesSeqTypes{ - {CoreInfo::FloatType, CoreInfo::Float2Type, CoreInfo::Float3Type, CoreInfo::Float4Type, CoreInfo::ColorType}}; + {CoreInfo::Float2Type, CoreInfo::Float3Type, CoreInfo::Float4Type, CoreInfo::ColorType}}; static inline Type VerticesSeq = Type::SeqOf(VerticesSeqTypes); static inline shards::Types IndicesSeqTypes{{CoreInfo::IntType}}; static inline Type IndicesSeq = Type::SeqOf(IndicesSeqTypes); diff --git a/shards/modules/gfx/steps.cpp b/shards/modules/gfx/steps.cpp index e349b55ded..628cb0de96 100644 --- a/shards/modules/gfx/steps.cpp +++ b/shards/modules/gfx/steps.cpp @@ -220,7 +220,7 @@ struct DrawablePassShard { return outputTypes().elements[0]; } - void cleanup(SHContext* context) { + void cleanup(SHContext *context) { if (_step) { Types::PipelineStepObjectVar.Release(_step); _step = nullptr; @@ -281,12 +281,12 @@ struct EffectPassShard { PARAM_EXT(ParamVar, _outputs, Types::OutputsParameterInfo); PARAM_EXT(ParamVar, _outputScale, Types::OutputScaleParameterInfo); - PARAM_PARAMVAR(_inputs, "Inputs", "", {CoreInfo::StringSeqType, CoreInfo::StringVarSeqType}); - PARAM_PARAMVAR(_entryPoint, "EntryPoint", "", {CoreInfo::ShardRefSeqType, CoreInfo::ShardRefVarSeqType}); + PARAM_PARAMVAR(_inputs, "Inputs", "", {CoreInfo::NoneType, CoreInfo::StringSeqType, CoreInfo::StringVarSeqType}); + PARAM_PARAMVAR(_entryPoint, "EntryPoint", "", {CoreInfo::NoneType, CoreInfo::ShardRefSeqType, CoreInfo::ShardRefVarSeqType}); PARAM_EXT(ParamVar, _params, Types::ParamsParameterInfo); PARAM_EXT(ParamVar, _features, Types::FeaturesParameterInfo); PARAM_PARAMVAR(_composeWith, "ComposeWith", "Any table of values that need to be injected into this feature's shaders", - {CoreInfo::AnyTableType, CoreInfo::AnyVarTableType}); + {CoreInfo::NoneType, CoreInfo::AnyTableType, CoreInfo::AnyVarTableType}); PARAM_IMPL(PARAM_IMPL_FOR(_outputs), PARAM_IMPL_FOR(_outputScale), PARAM_IMPL_FOR(_inputs), PARAM_IMPL_FOR(_entryPoint), PARAM_IMPL_FOR(_params), PARAM_IMPL_FOR(_features), PARAM_IMPL_FOR(_composeWith)); @@ -302,7 +302,7 @@ struct EffectPassShard { return outputTypes().elements[0]; } - void cleanup(SHContext* context) { + void cleanup(SHContext *context) { if (_step) { Types::PipelineStepObjectVar.Release(_step); _step = nullptr; diff --git a/shards/modules/gfx/view.cpp b/shards/modules/gfx/view.cpp index 52e31276db..da990df248 100644 --- a/shards/modules/gfx/view.cpp +++ b/shards/modules/gfx/view.cpp @@ -158,10 +158,11 @@ struct RenderIntoShard { PARAM(OwnedVar, _textures, "Textures", "The textures to render into to create.", {AttachmentTable}); PARAM(ShardsVar, _contents, "Contents", "The shards that will render into the given textures.", {CoreInfo::Shards}); PARAM_PARAMVAR(_referenceSize, "Size", "The reference size. This will control the size of the render targets.", - {CoreInfo::Int2Type, CoreInfo::Int2VarType}); + {CoreInfo::NoneType, CoreInfo::Int2Type, CoreInfo::Int2VarType}); PARAM_VAR(_matchOutputSize, "MatchOutputSize", - "When true, the texture rendered into is automatically resized to match the output size.", {CoreInfo::BoolType}); - PARAM_PARAMVAR(_viewport, "Viewport", "The viewport.", {CoreInfo::Int4Type, CoreInfo::Int4VarType}); + "When true, the texture rendered into is automatically resized to match the output size.", + {CoreInfo::NoneType, CoreInfo::BoolType}); + PARAM_PARAMVAR(_viewport, "Viewport", "The viewport.", {CoreInfo::NoneType, CoreInfo::Int4Type, CoreInfo::Int4VarType}); PARAM_PARAMVAR(_windowRegion, "WindowRegion", "Sets the window region for input handling.", {CoreInfo::NoneType, CoreInfo::Float4Type, CoreInfo::Float4VarType}); PARAM_IMPL(PARAM_IMPL_FOR(_textures), PARAM_IMPL_FOR(_contents), PARAM_IMPL_FOR(_referenceSize), @@ -400,7 +401,7 @@ struct ViewRangeShard { PARAM_REQUIRED_VARIABLES(); SHTypeInfo compose(SHInstanceData &data) { PARAM_COMPOSE_REQUIRED_VARIABLES(data); - return CoreInfo::Float4x4Type; + return outputTypes().elements[0]; } void warmup(SHContext *context) { PARAM_WARMUP(context); } void cleanup(SHContext *context) { PARAM_CLEANUP(context); } diff --git a/shards/shards.natvis b/shards/shards.natvis index 5fdc40ad91..c0030b8df4 100644 --- a/shards/shards.natvis +++ b/shards/shards.natvis @@ -20,6 +20,7 @@ [...] {{...}} Any + &{payload.stringValue} (Var) Forward @@ -27,7 +28,7 @@ payload.seqValue.len payload.seqValue.elements - payload.tableValue.opaque->m_flat_tree.m_data.m_seq + payload.tableValue.opaque->m_flat_tree.m_data.m_seq @@ -81,6 +82,17 @@ + + {len} types + + + Forward + 1 + len + elements + + + {($T1*)(*variable).payload.objectValue} diff --git a/shards/tests/.gitignore b/shards/tests/.gitignore new file mode 100644 index 0000000000..0b4278daad --- /dev/null +++ b/shards/tests/.gitignore @@ -0,0 +1,7 @@ +tag_ignore/ +tag_ok/ +tag_err/ +*.png +*.wav +*.db +*.txt \ No newline at end of file diff --git a/shards/tests/gfx-gltf-anim-benchmark.shs b/shards/tests/gfx-gltf-anim-benchmark.shs index 23a1ef221a..a3f162e7dd 100644 --- a/shards/tests/gfx-gltf-anim-benchmark.shs +++ b/shards/tests/gfx-gltf-anim-benchmark.shs @@ -12,13 +12,14 @@ position | Math.Translation | GFX.glTF(Copy: gltf-template AnimationController: { - {Once({ + = input + Once({ ForEach({Take(0) >> animation-names}) animation-names | RandomFloat(5.0) = animation-offset }) - animation-names | Take(animation-index) >= animation-name} | - Take(animation-name) = animation + animation-names | Take(animation-index) >= animation-name + Get(input animation-name) = animation Animation.Timer(animation Rate: 1.3 Offset: animation-offset Action: { diff --git a/shards/tests/tag_ignore/audio.shs b/shards/tests/tag_ignore/audio.shs new file mode 100644 index 0000000000..a3658c6d69 --- /dev/null +++ b/shards/tests/tag_ignore/audio.shs @@ -0,0 +1,222 @@ +[debug] [2023-12-04 16:52:31.563] [T-24100] [runtime.cpp::2884] Adding dll path: A:\Projects\shards2\build\clang-x86_64-pc-windows-msvc\Debug\shards.exe\shards +[debug] [2023-12-04 16:52:31.563] [T-24100] [runtime.cpp::2890] Adding dll path: A:\Projects\shards2\shards +[debug] [2023-12-04 16:52:31.563] [T-24100] [runtime.cpp::2895] Hardware concurrency: 12 +[debug] [2023-12-04 16:52:31.563] [T-24100] [runtime.cpp::204] Registering shards +[info] [2023-12-04 16:52:31.566] [T-24100] [runtime.cpp::3211] Evaluating file: shards/tests/audio.shs +[info] [2023-12-04 16:52:31.576] [T-24100] [runtime.cpp::3211] Trying include "\\\\?\\A:\\Projects\\shards2\\shards\\tests\\hello2.shs" +[info] [2023-12-04 16:52:31.576] [T-24100] [runtime.cpp::3211] Including file "\\\\?\\A:\\Projects\\shards2\\shards\\tests\\hello2.shs" +[trace] [2023-12-04 16:52:31.598] [T-24100] [runtime.cpp::3216] Adding deferred wire play-files +[trace] [2023-12-04 16:52:31.598] [T-24100] [foundation.hpp::435] Creating wire: play-files +[trace] [2023-12-04 16:52:31.598] [T-24100] [foundation.hpp::389] play-files wire addRef - use_count: 2 +[trace] [2023-12-04 16:52:31.598] [T-24100] [runtime.cpp::3216] Finalizing wire play-files +[warning] [2023-12-04 16:52:31.598] [T-24100] [runtime.cpp::264] Experimental shard used: Audio.ReadFile +[trace] [2023-12-04 16:52:31.598] [T-24100] [foundation.hpp::376] play-files wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:52:31.598] [T-24100] [runtime.hpp::514] Pre-composing wire play-files +[trace] [2023-12-04 16:52:31.598] [T-24100] [runtime.hpp::549] Wire play-files Pre-composing +[trace] [2023-12-04 16:52:31.598] [T-24100] [runtime.hpp::564] Scheduling wire play-files +[trace] [2023-12-04 16:52:31.598] [T-24100] [runtime.hpp::604] Wire play-files skipped compose +[debug] [2023-12-04 16:52:31.599] [T-24100] [runtime.cpp::1779] Wire play-files rolling +[trace] [2023-12-04 16:52:31.599] [T-24100] [runtime.cpp::2758] Running warmup on wire: play-files +[trace] [2023-12-04 16:52:31.599] [T-24100] [runtime.cpp::545] Creating a variable, wire: play-files name: Audio.Device +[trace] [2023-12-04 16:52:31.602] [T-24100] [runtime.cpp::2797] Ran warmup on wire: play-files +[trace] [2023-12-04 16:52:31.602] [T-24100] [runtime.hpp::624] Wire play-files scheduled +[debug] [2023-12-04 16:52:31.602] [T-24100] [runtime.cpp::1824] Wire play-files starting +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.603] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.604] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.605] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.605] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.605] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.605] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.605] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.605] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.605] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.605] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.605] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.605] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[debug] [2023-12-04 16:52:31.605] [T-24100] [runtime.cpp::1848] Wire play-files stopped +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.cpp::2805] Running cleanup on wire: play-files users count: 0 +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.cpp::567] Destroying a variable (0 ref count), type: None +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.cpp::2849] Ran cleanup on wire: play-files +[debug] [2023-12-04 16:52:31.605] [T-24100] [runtime.cpp::1915] Wire play-files ended +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.hpp::396] stopping wire: play-files, has-coro: true, state: Ended +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.cpp::3216] Mesh is empty, exiting +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.cpp::3216] Mesh is done, terminating, without errors: true +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.hpp::514] Pre-composing wire play-files +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.hpp::549] Wire play-files Pre-composing +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.hpp::564] Scheduling wire play-files +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.hpp::604] Wire play-files skipped compose +[debug] [2023-12-04 16:52:31.605] [T-24100] [runtime.cpp::1779] Wire play-files rolling +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.cpp::2758] Running warmup on wire: play-files +[trace] [2023-12-04 16:52:31.605] [T-24100] [runtime.cpp::545] Creating a variable, wire: play-files name: Audio.Device +[trace] [2023-12-04 16:52:31.607] [T-24100] [runtime.cpp::2797] Ran warmup on wire: play-files +[trace] [2023-12-04 16:52:31.607] [T-24100] [runtime.hpp::624] Wire play-files scheduled +[debug] [2023-12-04 16:52:31.607] [T-24100] [runtime.cpp::1824] Wire play-files starting +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.608] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.609] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.610] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.610] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.610] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.610] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.610] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.610] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.610] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.610] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[info] [2023-12-04 16:52:31.610] [T-24100] [logging.cpp::71] [play-files] Audio SampleRate: 44100 Samples: 1024 Channels: 2 +[debug] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::1848] Wire play-files stopped +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::2805] Running cleanup on wire: play-files users count: 0 +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::567] Destroying a variable (0 ref count), type: None +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::2849] Ran cleanup on wire: play-files +[debug] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::1915] Wire play-files ended +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.hpp::396] stopping wire: play-files, has-coro: true, state: Ended +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::3216] Mesh is empty, exiting +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::3216] Mesh is done, terminating, without errors: true +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::3216] Adding deferred wire play-file-fft +[trace] [2023-12-04 16:52:31.610] [T-24100] [foundation.hpp::435] Creating wire: play-file-fft +[trace] [2023-12-04 16:52:31.610] [T-24100] [foundation.hpp::389] play-file-fft wire addRef - use_count: 2 +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::3216] Finalizing wire play-file-fft +[warning] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::264] Experimental shard used: Audio.ReadFile +[warning] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::264] Experimental shard used: DSP.FFT +[warning] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::264] Experimental shard used: DSP.IFFT +[warning] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::264] Experimental shard used: Audio.WriteFile +[warning] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::264] Experimental shard used: DSP.IFFT +[warning] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::264] Experimental shard used: DSP.FFT +[warning] [2023-12-04 16:52:31.610] [T-24100] [runtime.cpp::264] Experimental shard used: DSP.IFFT +[trace] [2023-12-04 16:52:31.610] [T-24100] [foundation.hpp::376] play-file-fft wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.hpp::514] Pre-composing wire play-file-fft +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.hpp::549] Wire play-file-fft Pre-composing +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.hpp::564] Scheduling wire play-file-fft +[trace] [2023-12-04 16:52:31.610] [T-24100] [runtime.hpp::604] Wire play-file-fft skipped compose +[debug] [2023-12-04 16:52:31.611] [T-24100] [runtime.cpp::1779] Wire play-file-fft rolling +[trace] [2023-12-04 16:52:31.611] [T-24100] [runtime.cpp::2758] Running warmup on wire: play-file-fft +[trace] [2023-12-04 16:52:31.611] [T-24100] [runtime.cpp::545] Creating a variable, wire: play-file-fft name: Audio.Device +[trace] [2023-12-04 16:52:31.612] [T-24100] [runtime.cpp::545] Creating a variable, wire: play-file-fft name: freq-domain +[trace] [2023-12-04 16:52:31.613] [T-24100] [runtime.cpp::2797] Ran warmup on wire: play-file-fft +[trace] [2023-12-04 16:52:31.613] [T-24100] [runtime.hpp::624] Wire play-file-fft scheduled +[debug] [2023-12-04 16:52:31.613] [T-24100] [runtime.cpp::1824] Wire play-file-fft starting +[trace] [2023-12-04 16:52:31.616] [T-24100] [dsp.cpp::210] IFFT alloc window 1024 +[trace] [2023-12-04 16:52:31.616] [T-24100] [dsp.cpp::213] IFFT alloc window 513 +[trace] [2023-12-04 16:52:31.617] [T-24100] [dsp.cpp::210] IFFT alloc window 1024 +[info] [2023-12-04 16:52:31.617] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.621] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.624] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.627] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.630] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.632] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.635] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.638] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.641] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.644] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.649] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.652] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.653] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.653] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.654] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.657] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.660] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.663] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.666] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.669] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.673] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.676] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.677] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.680] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.683] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.684] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.686] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.690] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.693] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.696] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.699] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.700] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.700] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.704] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.707] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.708] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.711] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.712] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.712] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.715] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.718] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.719] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.722] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[info] [2023-12-04 16:52:31.725] [T-24100] [logging.cpp::71] [play-file-fft] Image Width: 32 Height: 32 Channels: 1 +[debug] [2023-12-04 16:52:31.725] [T-24100] [runtime.cpp::1848] Wire play-file-fft stopped +[trace] [2023-12-04 16:52:31.725] [T-24100] [runtime.cpp::2805] Running cleanup on wire: play-file-fft users count: 0 +[trace] [2023-12-04 16:52:31.725] [T-24100] [runtime.cpp::567] Destroying a variable (0 ref count), type: None +[trace] [2023-12-04 16:52:31.725] [T-24100] [runtime.cpp::567] Destroying a variable (0 ref count), type: None +[trace] [2023-12-04 16:52:31.725] [T-24100] [runtime.cpp::2849] Ran cleanup on wire: play-file-fft +[debug] [2023-12-04 16:52:31.725] [T-24100] [runtime.cpp::1915] Wire play-file-fft ended +[trace] [2023-12-04 16:52:31.725] [T-24100] [runtime.hpp::396] stopping wire: play-file-fft, has-coro: true, state: Ended +[trace] [2023-12-04 16:52:31.725] [T-24100] [runtime.cpp::3216] Mesh is empty, exiting +[trace] [2023-12-04 16:52:31.725] [T-24100] [runtime.cpp::3216] Mesh is done, terminating, without errors: true +[trace] [2023-12-04 16:52:31.725] [T-24100] [foundation.hpp::376] play-file-fft wire deleteRef - use_count: 1 +[trace] [2023-12-04 16:52:31.726] [T-24100] [foundation.hpp::338] Destroying wire play-file-fft +[trace] [2023-12-04 16:52:31.726] [T-24100] [foundation.hpp::376] play-files wire deleteRef - use_count: 1 +[trace] [2023-12-04 16:52:31.726] [T-24100] [foundation.hpp::338] Destroying wire play-files +[info] [2023-12-04 16:52:31.727] [T-24100] [runtime.cpp::3211] Error: ShardsError { message: "Undefined function or definition Identifier { name: RcStrWrapper(\"test-device\"), namespaces: [] }", loc: LineInfo { line: 31, column: 3 } } +[error] [2023-12-04 16:52:31.727] [T-24100] [runtime.cpp::3216] Error: Failed to evaluate file diff --git a/shards/tests/tag_ignore/continuations.shs b/shards/tests/tag_ignore/continuations.shs new file mode 100644 index 0000000000..dfd52912d4 --- /dev/null +++ b/shards/tests/tag_ignore/continuations.shs @@ -0,0 +1,451 @@ +[debug] [2023-12-04 16:44:13.447] [T-176] [runtime.cpp::2884] Adding dll path: A:\Projects\shards2\build\clang-x86_64-pc-windows-msvc\Debug\shards.exe\shards +[debug] [2023-12-04 16:44:13.448] [T-176] [runtime.cpp::2890] Adding dll path: A:\Projects\shards2\shards +[debug] [2023-12-04 16:44:13.448] [T-176] [runtime.cpp::2895] Hardware concurrency: 12 +[debug] [2023-12-04 16:44:13.448] [T-176] [runtime.cpp::204] Registering shards +[info] [2023-12-04 16:44:13.450] [T-176] [runtime.cpp::3211] Evaluating file: shards/tests/continuations.shs +[trace] [2023-12-04 16:44:13.454] [T-176] [runtime.cpp::3216] Adding deferred wire d1 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::435] Creating wire: d1 +[trace] [2023-12-04 16:44:13.454] [T-176] [runtime.cpp::3216] Adding deferred wire d2 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::435] Creating wire: d2 +[trace] [2023-12-04 16:44:13.454] [T-176] [runtime.cpp::3216] Adding deferred wire main +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::435] Creating wire: main +[trace] [2023-12-04 16:44:13.454] [T-176] [runtime.cpp::3216] Adding deferred wire root +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::435] Creating wire: root +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] main wire addRef - use_count: 2 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] d2 wire addRef - use_count: 2 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] root wire addRef - use_count: 2 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] d1 wire addRef - use_count: 2 +[trace] [2023-12-04 16:44:13.454] [T-176] [runtime.cpp::3216] Finalizing wire main +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] d1 wire addRef - use_count: 3 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] d1 wire addRef - use_count: 4 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::376] d1 wire deleteRef - use_count: 4 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::376] main wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:44:13.454] [T-176] [runtime.cpp::3216] Finalizing wire d2 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] d1 wire addRef - use_count: 4 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] d1 wire addRef - use_count: 5 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::376] d1 wire deleteRef - use_count: 5 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::376] d2 wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:44:13.454] [T-176] [runtime.cpp::3216] Finalizing wire root +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] main wire addRef - use_count: 2 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] main wire addRef - use_count: 3 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::376] main wire deleteRef - use_count: 3 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::376] root wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:44:13.454] [T-176] [runtime.cpp::3216] Finalizing wire d1 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] d2 wire addRef - use_count: 2 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] d2 wire addRef - use_count: 3 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::376] d2 wire deleteRef - use_count: 3 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] main wire addRef - use_count: 3 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::389] main wire addRef - use_count: 4 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::376] main wire deleteRef - use_count: 4 +[trace] [2023-12-04 16:44:13.454] [T-176] [foundation.hpp::376] d1 wire deleteRef - use_count: 4 +[trace] [2023-12-04 16:44:13.454] [T-176] [runtime.hpp::514] Pre-composing wire root +[trace] [2023-12-04 16:44:13.454] [T-176] [wires.cpp::136] WireBase::compose, source: root composing: main inputType: None +[trace] [2023-12-04 16:44:13.454] [T-176] [wires.cpp::148] Pre-Marking as composed: main ptr: 0x2673c486900 +[trace] [2023-12-04 16:44:13.455] [T-176] [wires.cpp::175] Running main compose, pure: false +[trace] [2023-12-04 16:44:13.455] [T-176] [wires.cpp::136] WireBase::compose, source: main composing: d1 inputType: None +[trace] [2023-12-04 16:44:13.455] [T-176] [wires.cpp::143] Pre-Marking as composed: d1 ptr: 0x2673c484f90 +[trace] [2023-12-04 16:44:13.455] [T-176] [wires.cpp::175] Running d1 compose, pure: false +[trace] [2023-12-04 16:44:13.455] [T-176] [wires.cpp::136] WireBase::compose, source: d1 composing: d2 inputType: None +[trace] [2023-12-04 16:44:13.455] [T-176] [wires.cpp::143] Pre-Marking as composed: d2 ptr: 0x2673c485440 +[trace] [2023-12-04 16:44:13.455] [T-176] [wires.cpp::175] Running d2 compose, pure: false +[trace] [2023-12-04 16:44:13.455] [T-176] [wires.cpp::200] Wire d2 composed +[trace] [2023-12-04 16:44:13.455] [T-176] [wires.cpp::200] Wire d1 composed +[trace] [2023-12-04 16:44:13.455] [T-176] [wires.cpp::200] Wire main composed +[trace] [2023-12-04 16:44:13.455] [T-176] [runtime.hpp::549] Wire root Pre-composing +[trace] [2023-12-04 16:44:13.455] [T-176] [runtime.hpp::564] Scheduling wire root +[trace] [2023-12-04 16:44:13.455] [T-176] [runtime.hpp::604] Wire root skipped compose +[debug] [2023-12-04 16:44:13.456] [T-176] [runtime.cpp::1779] Wire root rolling +[trace] [2023-12-04 16:44:13.456] [T-176] [runtime.cpp::2758] Running warmup on wire: root +[trace] [2023-12-04 16:44:13.456] [T-176] [runtime.cpp::2797] Ran warmup on wire: root +[trace] [2023-12-04 16:44:13.456] [T-176] [runtime.hpp::624] Wire root scheduled +[debug] [2023-12-04 16:44:13.456] [T-176] [runtime.cpp::1824] Wire root starting +[info] [2023-12-04 16:44:13.456] [T-176] [logging.cpp::147] [root] Root started +[debug] [2023-12-04 16:44:13.456] [T-176] [runtime.cpp::1779] Wire main rolling +[trace] [2023-12-04 16:44:13.456] [T-176] [runtime.cpp::2758] Running warmup on wire: main +[trace] [2023-12-04 16:44:13.456] [T-176] [runtime.cpp::2797] Ran warmup on wire: main +[debug] [2023-12-04 16:44:13.456] [T-176] [runtime.cpp::1824] Wire main starting +[info] [2023-12-04 16:44:13.456] [T-176] [logging.cpp::147] [main] Main started +[debug] [2023-12-04 16:44:13.457] [T-176] [runtime.cpp::1779] Wire d1 rolling +[trace] [2023-12-04 16:44:13.457] [T-176] [runtime.cpp::2758] Running warmup on wire: d1 +[trace] [2023-12-04 16:44:13.457] [T-176] [runtime.cpp::2797] Ran warmup on wire: d1 +[info] [2023-12-04 16:44:13.457] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:13.559] [T-176] [logging.cpp::147] [root] Root started +[debug] [2023-12-04 16:44:13.559] [T-176] [runtime.cpp::1824] Wire d1 starting +[info] [2023-12-04 16:44:13.559] [T-176] [logging.cpp::147] [d1] D1 started +[debug] [2023-12-04 16:44:13.560] [T-176] [runtime.cpp::1779] Wire d2 rolling +[trace] [2023-12-04 16:44:13.560] [T-176] [runtime.cpp::2758] Running warmup on wire: d2 +[trace] [2023-12-04 16:44:13.560] [T-176] [runtime.cpp::2797] Ran warmup on wire: d2 +[info] [2023-12-04 16:44:13.560] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:13.670] [T-176] [logging.cpp::147] [root] Root started +[debug] [2023-12-04 16:44:13.670] [T-176] [runtime.cpp::1824] Wire d2 starting +[info] [2023-12-04 16:44:13.670] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:13.670] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:13.765] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:13.765] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:13.765] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:13.858] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:13.858] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:13.858] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:13.968] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:13.968] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:13.968] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:14.061] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:14.061] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:14.171] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:14.171] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:14.171] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:14.266] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:14.266] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:14.266] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:14.360] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:14.360] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:14.360] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:14.470] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:14.470] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:14.470] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:14.565] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:14.565] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:14.565] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:14.659] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:14.659] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:14.659] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:14.769] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:14.769] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:14.864] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:14.864] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:14.864] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:14.956] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:14.957] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:14.957] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:15.066] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:15.066] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:15.066] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:15.161] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:15.161] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:15.161] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:15.269] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:15.269] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:15.269] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:15.364] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:15.364] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:15.364] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:15.458] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:15.458] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:15.568] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:15.568] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:15.568] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:15.661] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:15.661] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:15.661] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:15.771] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:15.771] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:15.771] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:15.867] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:15.867] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:15.867] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:15.960] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:15.960] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:15.960] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:16.068] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:16.068] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:16.068] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:16.162] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:16.162] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:16.271] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:16.271] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:16.271] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:16.364] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:16.364] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:16.364] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:16.457] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:16.457] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:16.457] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:16.566] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:16.566] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:16.566] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:16.661] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:16.661] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:16.661] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:16.770] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:16.770] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:16.770] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:16.864] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:16.864] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:16.956] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:16.956] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:16.956] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:17.066] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:17.066] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:17.066] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:17.159] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:17.159] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:17.159] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:17.270] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:17.270] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:17.270] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:17.362] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:17.362] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:17.362] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:17.456] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:17.456] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:17.456] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:17.566] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:17.566] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:17.659] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:17.659] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:17.659] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:17.768] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:17.768] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:17.768] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:17.861] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:17.861] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:17.861] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:17.971] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:17.971] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:17.971] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:18.064] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:18.064] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:18.064] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:18.158] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:18.158] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:18.158] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:18.266] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:18.266] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:18.360] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:18.360] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:18.360] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:18.470] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:18.470] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:18.471] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:18.563] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:18.563] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:18.563] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:18.657] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:18.657] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:18.657] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:18.767] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:18.767] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:18.767] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:18.861] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:18.862] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:18.862] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:18.970] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:18.970] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:19.062] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:19.062] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:19.062] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:19.157] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:19.157] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:19.157] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:19.266] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:19.266] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:19.266] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:19.359] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:19.359] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:19.359] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:19.468] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:19.468] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:19.468] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:19.560] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:19.560] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:19.560] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:19.669] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:19.669] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:19.764] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:19.764] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:19.764] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:19.858] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:19.858] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:19.858] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:19.968] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:19.968] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:19.968] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:20.062] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:20.062] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:20.062] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:20.159] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:20.159] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:20.159] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:20.268] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:20.268] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:20.268] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:20.361] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:20.361] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:20.457] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:20.457] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:20.457] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:20.566] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:20.566] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:20.566] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:20.659] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:20.659] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:20.659] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:20.767] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:20.768] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:20.768] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:20.862] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:20.862] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:20.862] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:20.970] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:20.970] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:20.970] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:21.064] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:21.064] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:21.158] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:21.158] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:21.158] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:21.269] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:21.269] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:21.269] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:21.362] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:21.362] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:21.362] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:21.456] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:21.456] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:21.456] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:21.565] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:21.565] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:21.565] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:21.659] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:21.659] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:21.659] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:21.767] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:21.767] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:21.867] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:21.868] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:21.868] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:21.957] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:21.957] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:21.957] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:22.067] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:22.067] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:22.067] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:22.161] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:22.161] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:22.161] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:22.257] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:22.257] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:22.257] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:22.367] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:22.367] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:22.367] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:22.463] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:22.463] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:22.556] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:22.556] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:22.556] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:22.667] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:22.667] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:22.667] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:22.759] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:22.760] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:22.760] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:22.868] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:22.877] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:22.877] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:22.962] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:22.962] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:22.962] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:23.071] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:23.071] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:23.071] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:23.166] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:23.166] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:23.259] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:23.259] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:23.259] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:23.369] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:23.369] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:23.369] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:23.462] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:23.462] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:23.462] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:23.570] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:23.570] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:23.570] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:23.664] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:23.664] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:23.664] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:23.758] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:23.758] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:23.758] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:23.867] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:23.868] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:23.962] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:23.963] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:23.963] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:24.057] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:24.057] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:24.057] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:24.168] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:24.168] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:24.168] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:24.262] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:24.262] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:24.262] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:24.370] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:24.370] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:24.370] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:24.466] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:24.466] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:24.466] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:24.558] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:24.558] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:24.667] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:24.667] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:24.667] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:24.760] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:24.760] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:24.760] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:24.870] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:24.870] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:24.870] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:24.964] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:24.964] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:24.964] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:25.057] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:25.057] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:25.057] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:25.167] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:25.167] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:25.167] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:25.260] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:25.260] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:25.370] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:25.370] [T-176] [logging.cpp::147] [d1] D1 started +[info] [2023-12-04 16:44:25.370] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:25.464] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:25.464] [T-176] [logging.cpp::147] [d2] D2 returned +[info] [2023-12-04 16:44:25.464] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:25.557] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:25.557] [T-176] [logging.cpp::147] [d2] D2 started +[info] [2023-12-04 16:44:25.557] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:25.666] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:25.666] [T-176] [logging.cpp::147] [d1] D1 returned +[info] [2023-12-04 16:44:25.666] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:25.759] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:25.759] [T-176] [logging.cpp::147] [main] Main returned +[info] [2023-12-04 16:44:25.759] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:25.867] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:25.867] [T-176] [logging.cpp::147] [main] Main started +[info] [2023-12-04 16:44:25.867] [T-176] [logging.cpp::147] [root] Root returned +[info] [2023-12-04 16:44:25.960] [T-176] [logging.cpp::147] [root] Root started +[info] [2023-12-04 16:44:25.961] [T-176] [logging.cpp::147] [root] Root returned +[trace] [2023-12-04 16:44:26.069] [T-176] [runtime.hpp::396] stopping wire: root, has-coro: true, state: IterationEnded +[debug] [2023-12-04 16:44:26.069] [T-176] [runtime.cpp::1871] Wire root aborted on resume +[trace] [2023-12-04 16:44:26.069] [T-176] [runtime.cpp::2805] Running cleanup on wire: root users count: 0 +[trace] [2023-12-04 16:44:26.069] [T-176] [runtime.hpp::396] stopping wire: main, has-coro: true, state: Iterating +[debug] [2023-12-04 16:44:26.069] [T-176] [runtime.cpp::1848] Wire main stopped +[trace] [2023-12-04 16:44:26.069] [T-176] [runtime.cpp::2805] Running cleanup on wire: main users count: 0 +[trace] [2023-12-04 16:44:26.069] [T-176] [runtime.cpp::2849] Ran cleanup on wire: main +[debug] [2023-12-04 16:44:26.069] [T-176] [runtime.cpp::1915] Wire main ended +[trace] [2023-12-04 16:44:26.069] [T-176] [runtime.cpp::2849] Ran cleanup on wire: root +[debug] [2023-12-04 16:44:26.069] [T-176] [runtime.cpp::1915] Wire root ended +[trace] [2023-12-04 16:44:26.069] [T-176] [foundation.hpp::376] main wire deleteRef - use_count: 5 +[trace] [2023-12-04 16:44:26.070] [T-176] [foundation.hpp::376] d2 wire deleteRef - use_count: 3 +[trace] [2023-12-04 16:44:26.070] [T-176] [foundation.hpp::376] root wire deleteRef - use_count: 1 +[trace] [2023-12-04 16:44:26.070] [T-176] [foundation.hpp::376] main wire deleteRef - use_count: 3 +[trace] [2023-12-04 16:44:26.070] [T-176] [foundation.hpp::338] Destroying wire root +[trace] [2023-12-04 16:44:26.070] [T-176] [foundation.hpp::376] d1 wire deleteRef - use_count: 5 +[info] [2023-12-04 16:44:26.070] [T-176] [runtime.cpp::3211] Error: ShardsError { message: "Operation cancelled", loc: LineInfo { line: 0, column: 0 } } +[error] [2023-12-04 16:44:26.070] [T-176] [runtime.cpp::3216] Error: Failed to evaluate file diff --git a/shards/tests/tag_ignore/crash.shs b/shards/tests/tag_ignore/crash.shs new file mode 100644 index 0000000000..00e3017bef --- /dev/null +++ b/shards/tests/tag_ignore/crash.shs @@ -0,0 +1,20 @@ +[debug] [2023-12-04 16:56:40.270] [T-820] [runtime.cpp::2884] Adding dll path: A:\Projects\shards2\build\clang-x86_64-pc-windows-msvc\Debug\shards.exe\shards +[debug] [2023-12-04 16:56:40.270] [T-820] [runtime.cpp::2890] Adding dll path: A:\Projects\shards2\shards +[debug] [2023-12-04 16:56:40.270] [T-820] [runtime.cpp::2895] Hardware concurrency: 12 +[debug] [2023-12-04 16:56:40.270] [T-820] [runtime.cpp::204] Registering shards +[info] [2023-12-04 16:56:40.272] [T-820] [runtime.cpp::3211] Evaluating file: shards/tests/crash.shs +[trace] [2023-12-04 16:56:40.273] [T-820] [runtime.cpp::3216] Adding deferred wire crash +[trace] [2023-12-04 16:56:40.273] [T-820] [foundation.hpp::435] Creating wire: crash +[trace] [2023-12-04 16:56:40.273] [T-820] [foundation.hpp::389] crash wire addRef - use_count: 2 +[trace] [2023-12-04 16:56:40.273] [T-820] [runtime.cpp::3216] Finalizing wire crash +[trace] [2023-12-04 16:56:40.274] [T-820] [foundation.hpp::376] crash wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:56:40.274] [T-820] [runtime.hpp::514] Pre-composing wire crash +[trace] [2023-12-04 16:56:40.274] [T-820] [runtime.hpp::549] Wire crash Pre-composing +[trace] [2023-12-04 16:56:40.274] [T-820] [runtime.hpp::564] Scheduling wire crash +[trace] [2023-12-04 16:56:40.274] [T-820] [runtime.hpp::604] Wire crash skipped compose +[debug] [2023-12-04 16:56:40.274] [T-820] [runtime.cpp::1779] Wire crash rolling +[trace] [2023-12-04 16:56:40.274] [T-820] [runtime.cpp::2758] Running warmup on wire: crash +[trace] [2023-12-04 16:56:40.274] [T-820] [runtime.cpp::2797] Ran warmup on wire: crash +[trace] [2023-12-04 16:56:40.274] [T-820] [runtime.hpp::624] Wire crash scheduled +[debug] [2023-12-04 16:56:40.274] [T-820] [runtime.cpp::1824] Wire crash starting +[error] [2023-12-04 16:56:40.274] [T-820] [assert.cpp::62] Failed assertion Is, input: 10 expected: 1 diff --git a/shards/tests/tag_ignore/fixme-gfx-ui-rt.shs b/shards/tests/tag_ignore/fixme-gfx-ui-rt.shs new file mode 100644 index 0000000000..931d63bf2e --- /dev/null +++ b/shards/tests/tag_ignore/fixme-gfx-ui-rt.shs @@ -0,0 +1,119 @@ +[debug] [2023-12-04 16:44:51.656] [T-6860] [runtime.cpp::2884] Adding dll path: A:\Projects\shards2\build\clang-x86_64-pc-windows-msvc\Debug\shards.exe\shards +[debug] [2023-12-04 16:44:51.657] [T-6860] [runtime.cpp::2890] Adding dll path: A:\Projects\shards2\shards +[debug] [2023-12-04 16:44:51.657] [T-6860] [runtime.cpp::2895] Hardware concurrency: 12 +[debug] [2023-12-04 16:44:51.657] [T-6860] [runtime.cpp::204] Registering shards +[info] [2023-12-04 16:44:51.659] [T-6860] [runtime.cpp::3211] Evaluating file: shards/tests/fixme-gfx-ui-rt.shs +[trace] [2023-12-04 16:44:51.743] [T-6860] [runtime.cpp::3216] Adding deferred wire inner-0 +[trace] [2023-12-04 16:44:51.743] [T-6860] [foundation.hpp::435] Creating wire: inner-0 +[trace] [2023-12-04 16:44:51.744] [T-6860] [runtime.cpp::3216] Adding deferred wire inner-1 +[trace] [2023-12-04 16:44:51.744] [T-6860] [foundation.hpp::435] Creating wire: inner-1 +[trace] [2023-12-04 16:44:51.744] [T-6860] [runtime.cpp::3216] Adding deferred wire test-wire +[trace] [2023-12-04 16:44:51.744] [T-6860] [foundation.hpp::435] Creating wire: test-wire +[trace] [2023-12-04 16:44:51.744] [T-6860] [foundation.hpp::389] test-wire wire addRef - use_count: 2 +[trace] [2023-12-04 16:44:51.744] [T-6860] [foundation.hpp::389] inner-0 wire addRef - use_count: 2 +[trace] [2023-12-04 16:44:51.744] [T-6860] [foundation.hpp::389] inner-1 wire addRef - use_count: 2 +[trace] [2023-12-04 16:44:51.744] [T-6860] [runtime.cpp::3216] Finalizing wire test-wire +[trace] [2023-12-04 16:44:51.745] [T-6860] [foundation.hpp::376] test-wire wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:44:51.745] [T-6860] [runtime.cpp::3216] Finalizing wire inner-0 +[trace] [2023-12-04 16:44:51.745] [T-6860] [foundation.hpp::435] Creating wire: eval-ephemeral +[trace] [2023-12-04 16:44:51.745] [T-6860] [runtime.cpp::3308] createMesh 0x2bf03ac78d0 +[trace] [2023-12-04 16:44:51.745] [T-6860] [runtime.hpp::514] Pre-composing wire eval-ephemeral +[trace] [2023-12-04 16:44:51.745] [T-6860] [runtime.hpp::549] Wire eval-ephemeral Pre-composing +[trace] [2023-12-04 16:44:51.745] [T-6860] [runtime.hpp::564] Scheduling wire eval-ephemeral +[trace] [2023-12-04 16:44:51.745] [T-6860] [runtime.hpp::604] Wire eval-ephemeral skipped compose +[debug] [2023-12-04 16:44:51.746] [T-6860] [runtime.cpp::1779] Wire eval-ephemeral rolling +[trace] [2023-12-04 16:44:51.746] [T-6860] [runtime.cpp::2758] Running warmup on wire: eval-ephemeral +[trace] [2023-12-04 16:44:51.746] [T-6860] [runtime.cpp::2797] Ran warmup on wire: eval-ephemeral +[trace] [2023-12-04 16:44:51.746] [T-6860] [runtime.hpp::624] Wire eval-ephemeral scheduled +[debug] [2023-12-04 16:44:51.746] [T-6860] [runtime.cpp::1824] Wire eval-ephemeral starting +[trace] [2023-12-04 16:44:51.746] [T-6860] [runtime.cpp::2805] Running cleanup on wire: eval-ephemeral users count: 0 +[trace] [2023-12-04 16:44:51.746] [T-6860] [runtime.cpp::2849] Ran cleanup on wire: eval-ephemeral +[debug] [2023-12-04 16:44:51.746] [T-6860] [runtime.cpp::1915] Wire eval-ephemeral ended +[trace] [2023-12-04 16:44:51.746] [T-6860] [runtime.hpp::396] stopping wire: eval-ephemeral, has-coro: true, state: Ended +[trace] [2023-12-04 16:44:51.746] [T-6860] [runtime.cpp::3320] destroyMesh 0x2bf03ac78d0 +[trace] [2023-12-04 16:44:51.746] [T-6860] [foundation.hpp::376] eval-ephemeral wire deleteRef - use_count: 1 +[trace] [2023-12-04 16:44:51.746] [T-6860] [foundation.hpp::338] Destroying wire eval-ephemeral +[trace] [2023-12-04 16:44:51.746] [T-6860] [foundation.hpp::376] inner-0 wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:44:51.746] [T-6860] [runtime.cpp::3216] Finalizing wire inner-1 +[trace] [2023-12-04 16:44:51.747] [T-6860] [foundation.hpp::435] Creating wire: eval-ephemeral +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.cpp::3308] createMesh 0x2bf03ae1590 +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.hpp::514] Pre-composing wire eval-ephemeral +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.hpp::549] Wire eval-ephemeral Pre-composing +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.hpp::564] Scheduling wire eval-ephemeral +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.hpp::604] Wire eval-ephemeral skipped compose +[debug] [2023-12-04 16:44:51.747] [T-6860] [runtime.cpp::1779] Wire eval-ephemeral rolling +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.cpp::2758] Running warmup on wire: eval-ephemeral +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.cpp::2797] Ran warmup on wire: eval-ephemeral +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.hpp::624] Wire eval-ephemeral scheduled +[debug] [2023-12-04 16:44:51.747] [T-6860] [runtime.cpp::1824] Wire eval-ephemeral starting +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.cpp::2805] Running cleanup on wire: eval-ephemeral users count: 0 +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.cpp::2849] Ran cleanup on wire: eval-ephemeral +[debug] [2023-12-04 16:44:51.747] [T-6860] [runtime.cpp::1915] Wire eval-ephemeral ended +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.hpp::396] stopping wire: eval-ephemeral, has-coro: true, state: Ended +[trace] [2023-12-04 16:44:51.747] [T-6860] [runtime.cpp::3320] destroyMesh 0x2bf03ae1590 +[trace] [2023-12-04 16:44:51.747] [T-6860] [foundation.hpp::376] eval-ephemeral wire deleteRef - use_count: 1 +[trace] [2023-12-04 16:44:51.747] [T-6860] [foundation.hpp::338] Destroying wire eval-ephemeral +[trace] [2023-12-04 16:44:51.748] [T-6860] [foundation.hpp::376] inner-1 wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:44:51.748] [T-6860] [runtime.hpp::514] Pre-composing wire test-wire +[trace] [2023-12-04 16:44:51.748] [T-6860] [foundation.hpp::435] Creating wire: detached Main +[trace] [2023-12-04 16:44:51.749] [T-6860] [runtime.hpp::549] Wire test-wire Pre-composing +[trace] [2023-12-04 16:44:51.749] [T-6860] [runtime.hpp::564] Scheduling wire test-wire +[trace] [2023-12-04 16:44:51.749] [T-6860] [runtime.hpp::604] Wire test-wire skipped compose +[debug] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::1779] Wire test-wire rolling +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::2758] Running warmup on wire: test-wire +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::545] Creating a variable, wire: test-wire name: ui-draw-queue +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::545] Creating a variable, wire: test-wire name: render-steps +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::545] Creating a variable, wire: test-wire name: GFX.Window +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::545] Creating a variable, wire: test-wire name: window-ctx +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::545] Creating a variable, wire: test-wire name: GFX.Context +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::545] Creating a variable, wire: test-wire name: GFX.RendererContext +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::545] Creating a variable, wire: test-wire name: rt-0 +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::545] Creating a variable, wire: test-wire name: rt-1 +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::2797] Ran warmup on wire: test-wire +[trace] [2023-12-04 16:44:51.750] [T-6860] [runtime.hpp::624] Wire test-wire scheduled +[debug] [2023-12-04 16:44:51.750] [T-6860] [runtime.cpp::1824] Wire test-wire starting +[debug] [2023-12-04 16:44:51.750] [T-6860] [window.cpp::174] Creating window +[trace] [2023-12-04 16:44:51.986] [T-6860] [runtime.hpp::564] Scheduling wire detached Main +[trace] [2023-12-04 16:44:51.986] [T-6860] [runtime.hpp::604] Wire detached Main skipped compose +[debug] [2023-12-04 16:44:51.986] [T-6860] [runtime.cpp::1779] Wire detached Main rolling +[trace] [2023-12-04 16:44:51.986] [T-6860] [runtime.cpp::2758] Running warmup on wire: detached Main +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: UI.Contexts +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: UI.Parents +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: rt-region +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: minzohzJR1Yri1XITrO +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: min-xzohzJR1Yri1XITrO +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: min-yzohzJR1Yri1XITrO +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: sizezohzJR1Yri1XITrO +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: size-xzohzJR1Yri1XITrO +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: tbEj4dabkqQ9pvkl4 +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: size-yzohzJR1Yri1XITrO +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: max-xzohzJR1Yri1XITrO +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: max-yzohzJR1Yri1XITrO +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: text +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: mini9GRjV1N03bjPE6l +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: min-xi9GRjV1N03bjPE6l +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: min-yi9GRjV1N03bjPE6l +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: sizei9GRjV1N03bjPE6l +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: size-xi9GRjV1N03bjPE6l +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: tYDLauE2DANEWa_f8 +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: size-yi9GRjV1N03bjPE6l +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: max-xi9GRjV1N03bjPE6l +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::545] Creating a variable, wire: detached Main name: max-yi9GRjV1N03bjPE6l +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::534] Referencing a parent node variable, wire: detached Main name: Shards.InputContext +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::534] Referencing a parent node variable, wire: detached Main name: Shards.InputContext +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.cpp::2797] Ran warmup on wire: detached Main +[trace] [2023-12-04 16:44:51.987] [T-6860] [runtime.hpp::624] Wire detached Main scheduled +[debug] [2023-12-04 16:44:51.991] [T-6860] [runtime.cpp::1824] Wire detached Main starting +[error] [2023-12-04 16:45:18.165] [T-6860] [runtime.cpp::699] Shard activation error, failed shard: GFX.MainWindow, error: MainWindow Quit Requested, line: 119, column: 3 +[debug] [2023-12-04 16:45:18.165] [T-6860] [runtime.cpp::1842] Wire test-wire failed +[debug] [2023-12-04 16:45:18.165] [T-6860] [runtime.cpp::1885] Wire test-wire failed with error MainWindow Quit Requested +[trace] [2023-12-04 16:45:18.165] [T-6860] [runtime.cpp::2805] Running cleanup on wire: test-wire users count: 0 +[trace] [2023-12-04 16:45:18.165] [T-6860] [runtime.cpp::567] Destroying a variable (0 ref count), type: Object +[trace] [2023-12-04 16:45:18.165] [T-6860] [runtime.cpp::567] Destroying a variable (0 ref count), type: Object +[trace] [2023-12-04 16:45:18.165] [T-6860] [runtime.cpp::567] Destroying a variable (0 ref count), type: Object +[trace] [2023-12-04 16:45:18.165] [T-6860] [runtime.cpp::567] Destroying a variable (0 ref count), type: Object +[trace] [2023-12-04 16:45:18.168] [T-6860] [runtime.cpp::567] Destroying a variable (0 ref count), type: Object +[debug] [2023-12-04 16:45:18.168] [T-6860] [window.cpp::222] Destroying window +[trace] [2023-12-04 16:45:18.178] [T-6860] [runtime.hpp::396] stopping wire: test-wire, has-coro: true, state: Failed +[warning] [2023-12-04 16:45:18.179] [T-6860] [runtime.cpp::2820] Shard cleanup boost forced unwind, failed shard: GFX.MainWindow +Assertion failed: scheduled.count(flow.wire->shared_from_this()) == 0 && "Wire still in scheduled!", file A:\Projects\shards2\shards\gfx\..\core/./runtime.hpp, line 671 diff --git a/shards/tests/tag_ignore/http.shs b/shards/tests/tag_ignore/http.shs new file mode 100644 index 0000000000..29a14a8b20 --- /dev/null +++ b/shards/tests/tag_ignore/http.shs @@ -0,0 +1,40 @@ +[debug] [2023-12-04 16:59:19.004] [T-26220] [runtime.cpp::2884] Adding dll path: A:\Projects\shards2\build\clang-x86_64-pc-windows-msvc\Debug\shards.exe\shards +[debug] [2023-12-04 16:59:19.004] [T-26220] [runtime.cpp::2890] Adding dll path: A:\Projects\shards2\shards +[debug] [2023-12-04 16:59:19.004] [T-26220] [runtime.cpp::2895] Hardware concurrency: 12 +[debug] [2023-12-04 16:59:19.004] [T-26220] [runtime.cpp::204] Registering shards +[info] [2023-12-04 16:59:19.006] [T-26220] [runtime.cpp::3211] Evaluating file: shards/tests/http.shs +[trace] [2023-12-04 16:59:19.014] [T-26220] [runtime.cpp::3216] Adding deferred wire test +[trace] [2023-12-04 16:59:19.014] [T-26220] [foundation.hpp::435] Creating wire: test +[trace] [2023-12-04 16:59:19.014] [T-26220] [foundation.hpp::389] test wire addRef - use_count: 2 +[trace] [2023-12-04 16:59:19.014] [T-26220] [runtime.cpp::3216] Finalizing wire test +[trace] [2023-12-04 16:59:19.014] [T-26220] [foundation.hpp::376] test wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:59:19.014] [T-26220] [runtime.hpp::514] Pre-composing wire test +[trace] [2023-12-04 16:59:19.015] [T-26220] [runtime.hpp::549] Wire test Pre-composing +[trace] [2023-12-04 16:59:19.015] [T-26220] [runtime.hpp::564] Scheduling wire test +[trace] [2023-12-04 16:59:19.015] [T-26220] [runtime.hpp::604] Wire test skipped compose +[debug] [2023-12-04 16:59:19.015] [T-26220] [runtime.cpp::1779] Wire test rolling +[trace] [2023-12-04 16:59:19.015] [T-26220] [runtime.cpp::2758] Running warmup on wire: test +[trace] [2023-12-04 16:59:19.015] [T-26220] [runtime.cpp::545] Creating a variable, wire: test name: params +[trace] [2023-12-04 16:59:19.016] [T-26220] [runtime.cpp::545] Creating a variable, wire: test name: json +[trace] [2023-12-04 16:59:19.016] [T-26220] [runtime.cpp::2797] Ran warmup on wire: test +[trace] [2023-12-04 16:59:19.016] [T-26220] [runtime.hpp::624] Wire test scheduled +[debug] [2023-12-04 16:59:19.016] [T-26220] [runtime.cpp::1824] Wire test starting +[info] [2023-12-04 16:59:19.016] [T-26220] [logging.cpp::71] [test] Hello%20world%2C%20this%20is%20an%20escaping%20test%20%2F%2F%2F%2F +[info] [2023-12-04 16:59:19.016] [T-26220] [logging.cpp::71] [test] Hello world, this is an escaping test //// +[info] [2023-12-04 16:59:19.130] [T-26220] [logging.cpp::71] [test] Fragcolor and contributors +[info] [2023-12-04 16:59:20.141] [T-9064] [runtime.cpp::3211] Failure details: error sending request for url (https://httpstat.us/200?sleep=5000): operation timed out +[debug] [2023-12-04 16:59:20.141] [T-9064] [runtime.cpp::3216] activate_blocking failure detected +[debug] [2023-12-04 16:59:20.141] [T-9064] [runtime.cpp::3216] activate_blocking failure: Failed to send the request +[error] [2023-12-04 16:59:20.219] [T-26220] [runtime.cpp::699] Shard activation error, failed shard: Http.Get, error: Failed to send the request, line: 27, column: 5 +[warning] [2023-12-04 16:59:20.219] [T-26220] [flow.hpp::443] Maybe shard Ignored an error: Failed to send the request +[trace] [2023-12-04 16:59:23.116] [T-26220] [runtime.hpp::396] stopping wire: test, has-coro: true, state: Iterating +[debug] [2023-12-04 16:59:25.659] [T-26220] [runtime.cpp::1848] Wire test stopped +[trace] [2023-12-04 16:59:25.659] [T-26220] [runtime.cpp::2805] Running cleanup on wire: test users count: 0 +[trace] [2023-12-04 16:59:25.660] [T-26220] [runtime.cpp::567] Destroying a variable (0 ref count), type: None +[trace] [2023-12-04 16:59:25.660] [T-26220] [runtime.cpp::567] Destroying a variable (0 ref count), type: Table +[trace] [2023-12-04 16:59:25.660] [T-26220] [runtime.cpp::2849] Ran cleanup on wire: test +[debug] [2023-12-04 16:59:25.661] [T-26220] [runtime.cpp::1915] Wire test ended +[trace] [2023-12-04 16:59:25.661] [T-26220] [foundation.hpp::376] test wire deleteRef - use_count: 1 +[trace] [2023-12-04 16:59:25.661] [T-26220] [foundation.hpp::338] Destroying wire test +[info] [2023-12-04 16:59:25.661] [T-26220] [runtime.cpp::3211] Error: ShardsError { message: "Operation cancelled", loc: LineInfo { line: 0, column: 0 } } +[error] [2023-12-04 16:59:25.661] [T-26220] [runtime.cpp::3216] Error: Failed to evaluate file diff --git a/shards/tests/tag_ignore/idle.shs b/shards/tests/tag_ignore/idle.shs new file mode 100644 index 0000000000..94add4f305 --- /dev/null +++ b/shards/tests/tag_ignore/idle.shs @@ -0,0 +1,109 @@ +[debug] [2023-12-04 16:59:04.346] [T-25428] [runtime.cpp::2884] Adding dll path: A:\Projects\shards2\build\clang-x86_64-pc-windows-msvc\Debug\shards.exe\shards +[debug] [2023-12-04 16:59:04.347] [T-25428] [runtime.cpp::2890] Adding dll path: A:\Projects\shards2\shards +[debug] [2023-12-04 16:59:04.347] [T-25428] [runtime.cpp::2895] Hardware concurrency: 12 +[debug] [2023-12-04 16:59:04.347] [T-25428] [runtime.cpp::204] Registering shards +[info] [2023-12-04 16:59:04.349] [T-25428] [runtime.cpp::3211] Evaluating file: shards/tests/idle.shs +[trace] [2023-12-04 16:59:04.350] [T-25428] [runtime.cpp::3216] Adding deferred wire detect +[trace] [2023-12-04 16:59:04.350] [T-25428] [foundation.hpp::435] Creating wire: detect +[trace] [2023-12-04 16:59:04.350] [T-25428] [foundation.hpp::389] detect wire addRef - use_count: 2 +[trace] [2023-12-04 16:59:04.359] [T-25428] [runtime.cpp::3216] Finalizing wire detect +[trace] [2023-12-04 16:59:04.359] [T-25428] [foundation.hpp::376] detect wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:59:04.359] [T-25428] [runtime.hpp::514] Pre-composing wire detect +[trace] [2023-12-04 16:59:04.359] [T-25428] [runtime.hpp::549] Wire detect Pre-composing +[trace] [2023-12-04 16:59:04.359] [T-25428] [runtime.hpp::564] Scheduling wire detect +[trace] [2023-12-04 16:59:04.359] [T-25428] [runtime.hpp::604] Wire detect skipped compose +[debug] [2023-12-04 16:59:04.359] [T-25428] [runtime.cpp::1779] Wire detect rolling +[trace] [2023-12-04 16:59:04.359] [T-25428] [runtime.cpp::2758] Running warmup on wire: detect +[trace] [2023-12-04 16:59:04.359] [T-25428] [runtime.cpp::2797] Ran warmup on wire: detect +[trace] [2023-12-04 16:59:04.359] [T-25428] [runtime.hpp::624] Wire detect scheduled +[debug] [2023-12-04 16:59:04.359] [T-25428] [runtime.cpp::1824] Wire detect starting +[info] [2023-12-04 16:59:04.360] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:04.463] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:04.571] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:04.664] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:04.759] [T-25428] [logging.cpp::71] [detect] 0.063 +[info] [2023-12-04 16:59:04.870] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:04.962] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:05.071] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:05.165] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:05.274] [T-25428] [logging.cpp::71] [detect] 0.015 +[info] [2023-12-04 16:59:05.367] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:05.462] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:05.572] [T-25428] [logging.cpp::71] [detect] 0.047 +[info] [2023-12-04 16:59:05.666] [T-25428] [logging.cpp::71] [detect] 0.031 +[info] [2023-12-04 16:59:05.762] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:05.872] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:05.967] [T-25428] [logging.cpp::71] [detect] 0.032 +[info] [2023-12-04 16:59:06.060] [T-25428] [logging.cpp::71] [detect] 0.031 +[info] [2023-12-04 16:59:06.171] [T-25428] [logging.cpp::71] [detect] 0.032 +[info] [2023-12-04 16:59:06.264] [T-25428] [logging.cpp::71] [detect] 0.015 +[info] [2023-12-04 16:59:06.359] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:06.470] [T-25428] [logging.cpp::71] [detect] 0.047 +[info] [2023-12-04 16:59:06.565] [T-25428] [logging.cpp::71] [detect] 0.14 +[info] [2023-12-04 16:59:06.675] [T-25428] [logging.cpp::71] [detect] 0.25 +[info] [2023-12-04 16:59:06.771] [T-25428] [logging.cpp::71] [detect] 0.046 +[info] [2023-12-04 16:59:06.867] [T-25428] [logging.cpp::71] [detect] 0.094 +[info] [2023-12-04 16:59:06.961] [T-25428] [logging.cpp::71] [detect] 0.188 +[info] [2023-12-04 16:59:07.070] [T-25428] [logging.cpp::71] [detect] 0.297 +[info] [2023-12-04 16:59:07.163] [T-25428] [logging.cpp::71] [detect] 0.391 +[info] [2023-12-04 16:59:07.274] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:07.366] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:07.460] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:07.569] [T-25428] [logging.cpp::71] [detect] 0.062 +[info] [2023-12-04 16:59:07.662] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:07.772] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:07.866] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:07.960] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:08.068] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:08.164] [T-25428] [logging.cpp::71] [detect] 0.062 +[info] [2023-12-04 16:59:08.275] [T-25428] [logging.cpp::71] [detect] 0.078 +[info] [2023-12-04 16:59:08.368] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:08.463] [T-25428] [logging.cpp::71] [detect] 0.031 +[info] [2023-12-04 16:59:08.572] [T-25428] [logging.cpp::71] [detect] 0.062 +[info] [2023-12-04 16:59:08.666] [T-25428] [logging.cpp::71] [detect] 0.062 +[info] [2023-12-04 16:59:08.761] [T-25428] [logging.cpp::71] [detect] 0.156 +[info] [2023-12-04 16:59:08.870] [T-25428] [logging.cpp::71] [detect] 0.265 +[info] [2023-12-04 16:59:08.964] [T-25428] [logging.cpp::71] [detect] 0.359 +[info] [2023-12-04 16:59:09.073] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:09.167] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:09.262] [T-25428] [logging.cpp::71] [detect] 0.094 +[info] [2023-12-04 16:59:09.372] [T-25428] [logging.cpp::71] [detect] 0.203 +[info] [2023-12-04 16:59:09.467] [T-25428] [logging.cpp::71] [detect] 0.313 +[info] [2023-12-04 16:59:09.562] [T-25428] [logging.cpp::71] [detect] 0.015 +[info] [2023-12-04 16:59:09.671] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:09.766] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:09.862] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:09.972] [T-25428] [logging.cpp::71] [detect] 0.11 +[info] [2023-12-04 16:59:10.066] [T-25428] [logging.cpp::71] [detect] 0.203 +[info] [2023-12-04 16:59:10.160] [T-25428] [logging.cpp::71] [detect] 0.297 +[info] [2023-12-04 16:59:10.268] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:10.361] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:10.472] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:10.565] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:10.674] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:10.768] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:10.862] [T-25428] [logging.cpp::71] [detect] 0.015 +[info] [2023-12-04 16:59:10.974] [T-25428] [logging.cpp::71] [detect] 0.094 +[info] [2023-12-04 16:59:11.069] [T-25428] [logging.cpp::71] [detect] 0.187 +[info] [2023-12-04 16:59:11.165] [T-25428] [logging.cpp::71] [detect] 0.281 +[info] [2023-12-04 16:59:11.274] [T-25428] [logging.cpp::71] [detect] 0.39 +[info] [2023-12-04 16:59:11.369] [T-25428] [logging.cpp::71] [detect] 0.484 +[info] [2023-12-04 16:59:11.464] [T-25428] [logging.cpp::71] [detect] 0.578 +[info] [2023-12-04 16:59:11.574] [T-25428] [logging.cpp::71] [detect] 0.687 +[info] [2023-12-04 16:59:11.670] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:11.765] [T-25428] [logging.cpp::71] [detect] 0 +[info] [2023-12-04 16:59:11.874] [T-25428] [logging.cpp::71] [detect] 0.11 +[info] [2023-12-04 16:59:11.968] [T-25428] [logging.cpp::71] [detect] 0.204 +[info] [2023-12-04 16:59:12.061] [T-25428] [logging.cpp::71] [detect] 0.015 +[info] [2023-12-04 16:59:12.172] [T-25428] [logging.cpp::71] [detect] 0.032 +[info] [2023-12-04 16:59:12.265] [T-25428] [logging.cpp::71] [detect] 0.125 +[info] [2023-12-04 16:59:12.360] [T-25428] [logging.cpp::71] [detect] 0.047 +[trace] [2023-12-04 16:59:12.469] [T-25428] [runtime.hpp::396] stopping wire: detect, has-coro: true, state: IterationEnded +[debug] [2023-12-04 16:59:12.469] [T-25428] [runtime.cpp::1871] Wire detect aborted on resume +[trace] [2023-12-04 16:59:12.470] [T-25428] [runtime.cpp::2805] Running cleanup on wire: detect users count: 0 +[trace] [2023-12-04 16:59:12.470] [T-25428] [runtime.cpp::2849] Ran cleanup on wire: detect +[debug] [2023-12-04 16:59:12.470] [T-25428] [runtime.cpp::1915] Wire detect ended +[trace] [2023-12-04 16:59:12.470] [T-25428] [foundation.hpp::376] detect wire deleteRef - use_count: 1 +[trace] [2023-12-04 16:59:12.470] [T-25428] [foundation.hpp::338] Destroying wire detect +[info] [2023-12-04 16:59:12.470] [T-25428] [runtime.cpp::3211] Error: ShardsError { message: "Operation cancelled", loc: LineInfo { line: 0, column: 0 } } +[error] [2023-12-04 16:59:12.470] [T-25428] [runtime.cpp::3216] Error: Failed to evaluate file diff --git a/shards/tests/tag_ignore/notify.shs b/shards/tests/tag_ignore/notify.shs new file mode 100644 index 0000000000..ae8acca600 --- /dev/null +++ b/shards/tests/tag_ignore/notify.shs @@ -0,0 +1,423 @@ +[debug] [2023-12-04 16:59:41.268] [T-21308] [runtime.cpp::2884] Adding dll path: A:\Projects\shards2\build\clang-x86_64-pc-windows-msvc\Debug\shards.exe\shards +[debug] [2023-12-04 16:59:41.268] [T-21308] [runtime.cpp::2890] Adding dll path: A:\Projects\shards2\shards +[debug] [2023-12-04 16:59:41.268] [T-21308] [runtime.cpp::2895] Hardware concurrency: 12 +[debug] [2023-12-04 16:59:41.268] [T-21308] [runtime.cpp::204] Registering shards +[info] [2023-12-04 16:59:41.270] [T-21308] [runtime.cpp::3211] Evaluating file: shards/tests/notify.shs +[trace] [2023-12-04 16:59:41.271] [T-21308] [runtime.cpp::3216] Adding deferred wire watch +[trace] [2023-12-04 16:59:41.271] [T-21308] [foundation.hpp::435] Creating wire: watch +[trace] [2023-12-04 16:59:41.271] [T-21308] [foundation.hpp::389] watch wire addRef - use_count: 2 +[trace] [2023-12-04 16:59:41.271] [T-21308] [runtime.cpp::3216] Finalizing wire watch +[trace] [2023-12-04 16:59:41.271] [T-21308] [foundation.hpp::376] watch wire deleteRef - use_count: 2 +[trace] [2023-12-04 16:59:41.271] [T-21308] [runtime.hpp::514] Pre-composing wire watch +[trace] [2023-12-04 16:59:41.271] [T-21308] [runtime.hpp::549] Wire watch Pre-composing +[trace] [2023-12-04 16:59:41.271] [T-21308] [runtime.hpp::564] Scheduling wire watch +[trace] [2023-12-04 16:59:41.271] [T-21308] [runtime.hpp::604] Wire watch skipped compose +[debug] [2023-12-04 16:59:41.272] [T-21308] [runtime.cpp::1779] Wire watch rolling +[trace] [2023-12-04 16:59:41.272] [T-21308] [runtime.cpp::2758] Running warmup on wire: watch +[trace] [2023-12-04 16:59:41.272] [T-21308] [runtime.cpp::2797] Ran warmup on wire: watch +[trace] [2023-12-04 16:59:41.272] [T-21308] [runtime.hpp::624] Wire watch scheduled +[debug] [2023-12-04 16:59:41.272] [T-21308] [runtime.cpp::1824] Wire watch starting +[debug] [2023-12-04 16:59:41.272] [T-21308] [runtime.cpp::3216] Watching path: "\\\\?\\A:\\Projects\\shards2\\shards\\tests" +[info] [2023-12-04 16:59:41.272] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:42.382] [T-21308] [logging.cpp::71] [watch] [{\\?\A:\Projects\shards2\shards\tests\tag_err: Modify}] +[info] [2023-12-04 16:59:43.583] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:44.778] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:45.977] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:47.077] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:48.280] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:49.377] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:50.581] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:51.777] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:52.873] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:54.078] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:55.175] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:56.281] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:57.380] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:58.576] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 16:59:59.671] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:00.785] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:01.975] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:03.074] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:04.174] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:05.287] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:06.381] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:07.478] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:08.575] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:09.681] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:10.874] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:11.976] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:13.075] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:14.177] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:15.275] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:16.375] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:17.475] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:18.575] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:19.680] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:20.882] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:21.976] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:23.085] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:24.285] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:25.475] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:26.586] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:27.785] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:28.986] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:30.080] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:31.281] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:32.484] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:33.674] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:34.877] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:35.976] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:37.072] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:38.172] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:39.275] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:40.375] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:41.576] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:42.674] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:43.781] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:44.976] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:46.180] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:47.273] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:48.372] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:49.481] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:50.576] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:51.784] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:52.979] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:54.076] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:55.182] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:56.386] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:57.572] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:58.774] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:00:59.976] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:01.087] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:02.280] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:03.480] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:04.580] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:05.782] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:06.984] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:08.078] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:09.173] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:10.285] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:11.482] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:12.575] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:13.778] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:14.979] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:16.180] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:17.380] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:18.584] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:19.779] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:20.981] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:22.076] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:23.178] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:24.277] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:25.479] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:26.577] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:27.678] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:28.778] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:29.880] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:31.081] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:32.177] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:33.275] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:34.476] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:35.584] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:36.683] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:37.879] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:38.976] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:40.178] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:41.378] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:42.473] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:43.586] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:44.777] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:45.874] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:46.984] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:48.172] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:49.286] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:50.485] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:51.675] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:52.786] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:53.880] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:54.973] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:56.085] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:57.273] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:58.388] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:01:59.575] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:00.672] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:01.780] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:02.982] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:04.077] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:05.279] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:06.378] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:07.476] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:08.572] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:09.679] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:10.780] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:11.878] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:12.978] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:14.179] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:15.377] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:16.477] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:17.681] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:18.775] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:19.875] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:20.974] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:22.085] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:23.272] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:24.379] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:25.583] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:26.777] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:27.876] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:28.984] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:30.172] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:31.278] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:32.376] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:33.476] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:34.576] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:35.778] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:36.979] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:38.180] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:39.279] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:40.373] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:41.484] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:42.677] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:43.775] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:44.875] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:45.977] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:47.080] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:48.177] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:49.380] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:50.478] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:51.576] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:52.674] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:53.874] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:55.073] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:56.187] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:57.374] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:58.487] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:02:59.678] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:00.879] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:01.978] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:03.076] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:04.173] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:05.383] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:06.586] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:07.783] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:08.984] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:10.185] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:11.373] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:12.573] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:13.675] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:14.877] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:15.976] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:17.178] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:18.272] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:19.378] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:20.478] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:21.576] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:22.674] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:23.772] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:24.880] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:25.976] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:27.184] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:28.377] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:29.473] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:30.584] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:31.784] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:32.971] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:34.086] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:35.272] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:36.383] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:37.576] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:38.777] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:39.878] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:41.081] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:42.178] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:43.272] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:44.383] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:45.477] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:46.679] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:47.878] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:49.079] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:50.179] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:51.379] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:52.475] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:53.574] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:54.673] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:55.877] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:57.077] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:58.173] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:03:59.285] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:00.472] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:01.584] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:02.678] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:03.775] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:04.876] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:05.972] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:07.075] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:08.279] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:09.381] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:10.478] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:11.586] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:12.778] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:13.881] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:15.080] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:16.280] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:17.374] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:18.578] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:19.677] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:20.776] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:21.887] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:23.080] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:24.180] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:25.379] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:26.478] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:27.680] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:28.775] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:29.979] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:31.180] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:32.281] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:33.483] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:34.677] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:35.774] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:36.977] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:38.074] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:39.187] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:40.376] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:41.486] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:42.681] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:43.780] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:44.978] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:46.080] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:47.178] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:48.278] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:49.373] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:50.486] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:51.676] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:52.880] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:53.979] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:55.180] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:56.281] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:57.477] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:58.574] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:04:59.672] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:00.875] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:01.975] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:03.072] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:04.173] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:05.272] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:06.384] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:07.479] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:08.572] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:09.686] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:10.875] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:12.077] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:13.173] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:14.278] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:15.378] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:16.481] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:17.578] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:18.677] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:19.787] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:20.978] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:22.075] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:23.186] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:24.379] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:25.475] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:26.574] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:27.675] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:28.877] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:29.982] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:31.077] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:32.174] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:33.376] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:34.478] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:35.580] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:36.781] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:37.984] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:39.175] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:40.273] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:41.385] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:42.580] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:43.776] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:44.887] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:46.085] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:47.272] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:48.381] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:49.581] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:50.678] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:51.774] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:52.975] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:54.072] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:55.173] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:56.280] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:57.376] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:58.576] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:05:59.674] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:00.773] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:01.877] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:03.079] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:04.175] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:05.286] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:06.475] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:07.584] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:08.778] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:09.975] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:11.078] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:12.282] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:13.486] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:14.673] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:15.784] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:16.879] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:17.974] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:19.072] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:20.182] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:21.382] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:22.480] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:23.675] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:24.786] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:25.981] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:27.078] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:28.178] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:29.382] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:30.479] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:31.576] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:32.677] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:33.776] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:34.873] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:35.986] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:37.179] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:38.277] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:39.481] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:40.680] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:41.881] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:42.979] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:44.075] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:45.185] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:46.374] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:47.473] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:48.580] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:49.678] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:50.881] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:51.977] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:53.077] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:54.172] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:55.283] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:56.478] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:57.575] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:58.687] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:06:59.887] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:07:01.082] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:07:02.277] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:07:03.475] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:07:04.679] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:07:05.879] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:07:06.977] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:07:08.074] [T-21308] [logging.cpp::71] [watch] [] +[info] [2023-12-04 17:07:09.176] [T-21308] [logging.cpp::71] [watch] [] +[trace] [2023-12-04 17:07:09.980] [T-21308] [runtime.hpp::396] stopping wire: watch, has-coro: true, state: Iterating +[debug] [2023-12-04 17:07:09.980] [T-21308] [runtime.cpp::1848] Wire watch stopped +[trace] [2023-12-04 17:07:09.980] [T-21308] [runtime.cpp::2805] Running cleanup on wire: watch users count: 0 +[trace] [2023-12-04 17:07:09.980] [T-21308] [runtime.cpp::2849] Ran cleanup on wire: watch +[debug] [2023-12-04 17:07:09.980] [T-21308] [runtime.cpp::1915] Wire watch ended +[trace] [2023-12-04 17:07:09.980] [T-21308] [foundation.hpp::376] watch wire deleteRef - use_count: 1 +[trace] [2023-12-04 17:07:09.982] [T-21308] [foundation.hpp::338] Destroying wire watch +[info] [2023-12-04 17:07:09.983] [T-21308] [runtime.cpp::3211] Error: ShardsError { message: "Operation cancelled", loc: LineInfo { line: 0, column: 0 } } +[error] [2023-12-04 17:07:09.983] [T-21308] [runtime.cpp::3216] Error: Failed to evaluate file diff --git a/shards/tests/tag_ignore/onnx.shs b/shards/tests/tag_ignore/onnx.shs new file mode 100644 index 0000000000..45eef0dc16 --- /dev/null +++ b/shards/tests/tag_ignore/onnx.shs @@ -0,0 +1,61 @@ +[debug] [2023-12-04 17:23:16.393] [T-2260] [runtime.cpp::2891] Adding dll path: A:\Projects\shards2\build\clang-x86_64-pc-windows-msvc\Debug\shards.exe\shards +[debug] [2023-12-04 17:23:16.393] [T-2260] [runtime.cpp::2897] Adding dll path: A:\Projects\shards2\shards +[debug] [2023-12-04 17:23:16.393] [T-2260] [runtime.cpp::2902] Hardware concurrency: 12 +[debug] [2023-12-04 17:23:16.393] [T-2260] [runtime.cpp::204] Registering shards +[info] [2023-12-04 17:23:16.395] [T-2260] [runtime.cpp::3218] Evaluating file: shards/tests/onnx.shs +[trace] [2023-12-04 17:23:16.397] [T-2260] [runtime.cpp::3223] Adding deferred wire onnx-test +[trace] [2023-12-04 17:23:16.397] [T-2260] [foundation.hpp::435] Creating wire: onnx-test +[trace] [2023-12-04 17:23:16.397] [T-2260] [foundation.hpp::389] onnx-test wire addRef - use_count: 2 +[trace] [2023-12-04 17:23:16.397] [T-2260] [runtime.cpp::3223] Finalizing wire onnx-test +[trace] [2023-12-04 17:23:16.397] [T-2260] [foundation.hpp::376] onnx-test wire deleteRef - use_count: 2 +[trace] [2023-12-04 17:23:16.397] [T-2260] [runtime.hpp::514] Pre-composing wire onnx-test +[trace] [2023-12-04 17:23:16.397] [T-2260] [runtime.hpp::549] Wire onnx-test Pre-composing +[trace] [2023-12-04 17:23:16.397] [T-2260] [runtime.hpp::564] Scheduling wire onnx-test +[trace] [2023-12-04 17:23:16.397] [T-2260] [runtime.hpp::604] Wire onnx-test skipped compose +[debug] [2023-12-04 17:23:16.398] [T-2260] [runtime.cpp::1786] Wire onnx-test rolling +[trace] [2023-12-04 17:23:16.398] [T-2260] [runtime.cpp::2765] Running warmup on wire: onnx-test +[trace] [2023-12-04 17:23:16.398] [T-2260] [runtime.cpp::545] Creating a variable, wire: onnx-test name: image +[trace] [2023-12-04 17:23:16.398] [T-2260] [runtime.cpp::545] Creating a variable, wire: onnx-test name: model +[trace] [2023-12-04 17:23:16.398] [T-2260] [runtime.cpp::545] Creating a variable, wire: onnx-test name: tRpcbQ10hMs3Z2MZM +[trace] [2023-12-04 17:23:16.398] [T-2260] [runtime.cpp::2804] Ran warmup on wire: onnx-test +[trace] [2023-12-04 17:23:16.398] [T-2260] [runtime.hpp::624] Wire onnx-test scheduled +[debug] [2023-12-04 17:23:16.398] [T-2260] [runtime.cpp::1831] Wire onnx-test starting +[info] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::3218] Error: Opening "mobilenetv2-7.onnx" +[error] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::699] Shard activation error, failed shard: ONNX.Load, error: Failed to load model from given input path, line: 6, column: 3 +[debug] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::1849] Wire onnx-test failed +[debug] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::1892] Wire onnx-test failed with error Failed to load model from given input path +[trace] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::2812] Running cleanup on wire: onnx-test users count: 0 +[trace] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::567] Destroying a variable (0 ref count), type: None +[trace] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::567] Destroying a variable (0 ref count), type: None +[trace] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::567] Destroying a variable (0 ref count), type: None +[trace] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::2856] Ran cleanup on wire: onnx-test +[debug] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::1922] Wire onnx-test ended +[trace] [2023-12-04 17:23:16.406] [T-2260] [runtime.hpp::396] stopping wire: onnx-test, has-coro: true, state: Failed +[trace] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::3223] Mesh is empty, exiting +[trace] [2023-12-04 17:23:16.406] [T-2260] [runtime.cpp::3223] Mesh is done, terminating, without errors: false +[trace] [2023-12-04 17:23:16.406] [T-2260] [foundation.hpp::435] Creating wire: root +[trace] [2023-12-04 17:23:16.406] [T-2260] [foundation.hpp::376] onnx-test wire deleteRef - use_count: 1 +[trace] [2023-12-04 17:23:16.407] [T-2260] [foundation.hpp::338] Destroying wire onnx-test +[trace] [2023-12-04 17:23:16.407] [T-2260] [runtime.cpp::3315] createMesh 0x28a0218e2f0 +[trace] [2023-12-04 17:23:16.407] [T-2260] [runtime.hpp::514] Pre-composing wire root +[trace] [2023-12-04 17:23:16.407] [T-2260] [runtime.hpp::549] Wire root Pre-composing +[trace] [2023-12-04 17:23:16.407] [T-2260] [runtime.hpp::564] Scheduling wire root +[trace] [2023-12-04 17:23:16.407] [T-2260] [runtime.hpp::604] Wire root skipped compose +[debug] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::1786] Wire root rolling +[trace] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::2765] Running warmup on wire: root +[trace] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::2804] Ran warmup on wire: root +[trace] [2023-12-04 17:23:16.408] [T-2260] [runtime.hpp::624] Wire root scheduled +[debug] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::1831] Wire root starting +[error] [2023-12-04 17:23:16.408] [T-2260] [assert.cpp::62] Failed assertion Is, input: false expected: true +[error] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::699] Shard activation error, failed shard: Assert.Is, error: Assert failed - Is, line: 11, column: 14 +[debug] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::1849] Wire root failed +[debug] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::1892] Wire root failed with error Assert failed - Is +[trace] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::2812] Running cleanup on wire: root users count: 0 +[trace] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::2856] Ran cleanup on wire: root +[debug] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::1922] Wire root ended +[trace] [2023-12-04 17:23:16.408] [T-2260] [runtime.hpp::396] stopping wire: root, has-coro: true, state: Failed +[info] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::3218] Failed: Assert failed - Is +[trace] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::3327] destroyMesh 0x28a0218e2f0 +[trace] [2023-12-04 17:23:16.408] [T-2260] [foundation.hpp::376] root wire deleteRef - use_count: 1 +[trace] [2023-12-04 17:23:16.408] [T-2260] [foundation.hpp::338] Destroying wire root +[error] [2023-12-04 17:23:16.408] [T-2260] [runtime.cpp::3223] Error: Failed to execute file diff --git a/shards/tests/tag_ignore/test-proc-macro.shs b/shards/tests/tag_ignore/test-proc-macro.shs new file mode 100644 index 0000000000..ca919ec526 --- /dev/null +++ b/shards/tests/tag_ignore/test-proc-macro.shs @@ -0,0 +1,15 @@ +[debug] [2023-12-04 17:07:40.889] [T-4072] [runtime.cpp::2884] Adding dll path: A:\Projects\shards2\build\clang-x86_64-pc-windows-msvc\Debug\shards.exe\shards +[debug] [2023-12-04 17:07:40.889] [T-4072] [runtime.cpp::2890] Adding dll path: A:\Projects\shards2\shards +[debug] [2023-12-04 17:07:40.889] [T-4072] [runtime.cpp::2895] Hardware concurrency: 12 +[debug] [2023-12-04 17:07:40.889] [T-4072] [runtime.cpp::204] Registering shards +[info] [2023-12-04 17:07:40.891] [T-4072] [runtime.cpp::3211] Evaluating file: shards/tests/test-proc-macro.shs +[trace] [2023-12-04 17:07:40.938] [T-4072] [runtime.cpp::3216] Adding deferred wire test-wire +[trace] [2023-12-04 17:07:40.938] [T-4072] [foundation.hpp::435] Creating wire: test-wire +[trace] [2023-12-04 17:07:40.939] [T-4072] [foundation.hpp::389] test-wire wire addRef - use_count: 2 +[trace] [2023-12-04 17:07:40.939] [T-4072] [runtime.cpp::3216] Finalizing wire test-wire +[error] [2023-12-04 17:07:40.939] [T-4072] [runtime.cpp::3216] Fatal error: Parameter Contents not accepting this kind of variable: &Any (valid types: None Shard [Shard]), line: 59, column: 5 shard: UI +[trace] [2023-12-04 17:07:40.940] [T-4072] [foundation.hpp::376] test-wire wire deleteRef - use_count: 2 +[trace] [2023-12-04 17:07:40.940] [T-4072] [foundation.hpp::376] test-wire wire deleteRef - use_count: 1 +[trace] [2023-12-04 17:07:40.940] [T-4072] [foundation.hpp::338] Destroying wire test-wire +[info] [2023-12-04 17:07:40.940] [T-4072] [runtime.cpp::3211] Error: ShardsError { message: "Failed to set parameter (3), error: Set parameter validation failed", loc: LineInfo { line: 59, column: 5 } } +[error] [2023-12-04 17:07:40.940] [T-4072] [runtime.cpp::3216] Error: Failed to evaluate file diff --git a/shards/tests/test-once-every.shs b/shards/tests/test-once-every.shs index 3b7e8ef9c0..309b15a778 100644 --- a/shards/tests/test-once-every.shs +++ b/shards/tests/test-once-every.shs @@ -1,13 +1,13 @@ @define(cube-layout ["position" "color"]) @define(cube {"Vertices": [ - (-1.0 1.0 1.0) @color(0x000000) - ( 1.0 1.0 1.0) @color(0x0000ff) - (-1.0 -1.0 1.0) @color(0x00ff00) - ( 1.0 -1.0 1.0) @color(0x00ffff) - (-1.0 1.0 -1.0) @color(0xff0000) - ( 1.0 1.0 -1.0) @color(0xff00ff) - (-1.0 -1.0 -1.0) @color(0xffff00) - ( 1.0 -1.0 -1.0) @color(0xffffff) + @f3(-1.0 1.0 1.0) @color(0x000000) + @f3( 1.0 1.0 1.0) @color(0x0000ff) + @f3(-1.0 -1.0 1.0) @color(0x00ff00) + @f3( 1.0 -1.0 1.0) @color(0x00ffff) + @f3(-1.0 1.0 -1.0) @color(0xff0000) + @f3( 1.0 1.0 -1.0) @color(0xff00ff) + @f3(-1.0 -1.0 -1.0) @color(0xffff00) + @f3( 1.0 -1.0 -1.0) @color(0xffffff) ] "Indices": [ 0 1 2 1 3 2 @@ -89,4 +89,4 @@ @mesh(root) @schedule(root test-wire) -@run(root) | Assert.Is(true) +@run(root Iterations: 100) | Assert.Is(true) diff --git a/shards/tests/ui-style.shs b/shards/tests/ui-style.shs index 325d182007..f4ef569251 100644 --- a/shards/tests/ui-style.shs +++ b/shards/tests/ui-style.shs @@ -1,6 +1,6 @@ -@define(no-stroke { Color: @color(0 0 0 0) Width: 0.0 }) -@define(stroke-2 { Color: @color(255 255 255) Width: 2.0 }) -@define(stroke-4 { Color: @color(255 200 255) Width: 4.0 }) +@define(no-stroke {Color: @color(0 0 0 0) Width: 0.0}) +@define(stroke-2 {Color: @color(255 255 255) Width: 2.0}) +@define(stroke-4 {Color: @color(255 200 255) Width: 4.0}) @wire(main { Once({ @@ -10,12 +10,11 @@ GFX.MainWindow(Title: "SDL Window" Width: 1280 Height: 720 Contents: { UI({ UI.Window(Contents: { - UI.Style(AnimationTime: 0.5) - UI.VisualsStyle( + UI.Style(AnimationTime: 0.5 OverrideTextColor: @color(255 100 100) Selection: { - BGFill: @color(0 255 205 255) - Stroke: @stroke-2 + BGFill: @color(0 255 205 255) + Stroke: @stroke-2 } ) UI.WidgetStyle( @@ -58,4 +57,4 @@ @mesh(root) @schedule(root main) -@run(root FPS: 60) +@run(root FPS: 60 Iterations: 100) \ No newline at end of file