Spaces:
Sleeping
Sleeping
File size: 1,426 Bytes
dc2106c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
// Copyright (c) ONNX Project Contributors
/*
* SPDX-License-Identifier: Apache-2.0
*/
#include <iostream>
#include "gtest/gtest.h"
#include "onnx/common/ir.h"
#include "onnx/common/ir_pb_converter.h"
#include "onnx/defs/printer.h"
namespace ONNX_NAMESPACE {
namespace Test {
static bool IsValidIdentifier(const std::string& name) {
if (name.empty()) {
return false;
}
if (!isalpha(name[0]) && name[0] != '_') {
return false;
}
for (size_t i = 1; i < name.size(); ++i) {
if (!isalnum(name[i]) && name[i] != '_') {
return false;
}
}
return true;
}
TEST(IR, ValidIdentifierTest) {
Graph* g = new Graph();
g->setName("test");
Value* x = g->addInput();
x->setUniqueName("x");
x->setElemType(ONNX_NAMESPACE::TensorProto_DataType_FLOAT);
x->setSizes({Dimension("M"), Dimension("N")});
Node* node1 = g->create(kNeg, 1);
node1->addInput(x);
g->appendNode(node1);
Value* temp1 = node1->outputs()[0];
Node* node2 = g->create(kNeg, 1);
node2->addInput(temp1);
g->appendNode(node2);
Value* y = node2->outputs()[0];
g->registerOutput(y);
ModelProto model;
ExportModelProto(&model, std::shared_ptr<Graph>(g));
for (auto& node : model.graph().node()) {
for (auto& name : node.output()) {
EXPECT_TRUE(IsValidIdentifier(name));
}
}
}
} // namespace Test
} // namespace ONNX_NAMESPACE
|