TestSymbolDatabase: Clean up code using ASSERT

This commit is contained in:
Daniel Marjamäki 2019-09-16 11:12:25 +02:00
parent 6ad29fe70c
commit 5a5cecd4d5
1 changed files with 128 additions and 145 deletions

View File

@ -40,7 +40,8 @@ struct InternalError;
#define GET_SYMBOL_DB(code) \ #define GET_SYMBOL_DB(code) \
Tokenizer tokenizer(&settings1, this); \ Tokenizer tokenizer(&settings1, this); \
const SymbolDatabase *db = getSymbolDB_inner(tokenizer, code, "test.cpp"); const SymbolDatabase *db = getSymbolDB_inner(tokenizer, code, "test.cpp"); \
ASSERT(db);
#define GET_SYMBOL_DB_C(code) \ #define GET_SYMBOL_DB_C(code) \
Tokenizer tokenizer(&settings1, this); \ Tokenizer tokenizer(&settings1, this); \
@ -6795,196 +6796,178 @@ private:
const Token *autotok = Token::findsimplematch(tokenizer.tokens(), "auto v1"); const Token *autotok = Token::findsimplematch(tokenizer.tokens(), "auto v1");
// auto = int, v1 = int // auto = int, v1 = int
ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(0, autotok->valueType()->constness); ASSERT_EQUALS(0, autotok->valueType()->constness);
ASSERT_EQUALS(0, autotok->valueType()->pointer); ASSERT_EQUALS(0, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
}
vartok = Token::findsimplematch(autotok, "v1 ="); vartok = Token::findsimplematch(autotok, "v1 =");
ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(0, vartok->valueType()->constness); ASSERT_EQUALS(0, vartok->valueType()->constness);
ASSERT_EQUALS(0, vartok->valueType()->pointer); ASSERT_EQUALS(0, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type); ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type);
}
// auto = int, v2 = int // auto = int, v2 = int
autotok = Token::findsimplematch(autotok, "auto v2"); autotok = Token::findsimplematch(autotok, "auto v2");
ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(0, autotok->valueType()->constness); ASSERT_EQUALS(0, autotok->valueType()->constness);
ASSERT_EQUALS(0, autotok->valueType()->pointer); ASSERT_EQUALS(0, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
}
vartok = Token::findsimplematch(autotok, "v2 ="); vartok = Token::findsimplematch(autotok, "v2 =");
ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(0, vartok->valueType()->constness); ASSERT_EQUALS(0, vartok->valueType()->constness);
ASSERT_EQUALS(0, vartok->valueType()->pointer); ASSERT_EQUALS(0, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type); ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type);
}
// auto = const int *, v3 = const int * (const int[10]) // auto = const int *, v3 = const int * (const int[10])
autotok = Token::findsimplematch(autotok, "auto v3"); autotok = Token::findsimplematch(autotok, "auto v3");
ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(1, autotok->valueType()->constness); ASSERT_EQUALS(1, autotok->valueType()->constness);
ASSERT_EQUALS(1, autotok->valueType()->pointer); ASSERT_EQUALS(1, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
}
vartok = Token::findsimplematch(autotok, "v3 ="); vartok = Token::findsimplematch(autotok, "v3 =");
ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(1, vartok->valueType()->constness); ASSERT_EQUALS(1, vartok->valueType()->constness);
ASSERT_EQUALS(1, vartok->valueType()->pointer); ASSERT_EQUALS(1, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type); ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type);
}
// auto = int *, v4 = const int * (const int[10]) // auto = int *, v4 = const int * (const int[10])
autotok = Token::findsimplematch(autotok, "auto v4"); autotok = Token::findsimplematch(autotok, "auto v4");
ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { ASSERT(autotok->valueType());
TODO_ASSERT_EQUALS(0, 1, autotok->valueType()->constness); TODO_ASSERT_EQUALS(0, 1, autotok->valueType()->constness);
ASSERT_EQUALS(1, autotok->valueType()->pointer); ASSERT_EQUALS(1, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
}
vartok = Token::findsimplematch(autotok, "v4 ="); vartok = Token::findsimplematch(autotok, "v4 =");
ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(1, vartok->valueType()->constness); ASSERT_EQUALS(1, vartok->valueType()->constness);
ASSERT_EQUALS(1, vartok->valueType()->pointer); ASSERT_EQUALS(1, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type); ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type);
}
// auto = int, v5 = const int * (const int[10]) // auto = int, v5 = const int * (const int[10])
autotok = Token::findsimplematch(autotok, "auto * v5"); autotok = Token::findsimplematch(autotok, "auto * v5");
ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { ASSERT(autotok->valueType());
TODO_ASSERT_EQUALS(0, 1, autotok->valueType()->constness); TODO_ASSERT_EQUALS(0, 1, autotok->valueType()->constness);
ASSERT_EQUALS(0, autotok->valueType()->pointer); ASSERT_EQUALS(0, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
}
vartok = Token::findsimplematch(autotok, "v5 ="); vartok = Token::findsimplematch(autotok, "v5 =");
ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(1, vartok->valueType()->constness); ASSERT_EQUALS(1, vartok->valueType()->constness);
ASSERT_EQUALS(1, vartok->valueType()->pointer); ASSERT_EQUALS(1, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type); ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type);
}
// auto = int, v6 = int // auto = int, v6 = int
autotok = Token::findsimplematch(autotok, "auto v6"); autotok = Token::findsimplematch(autotok, "auto v6");
ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(0, autotok->valueType()->constness); ASSERT_EQUALS(0, autotok->valueType()->constness);
ASSERT_EQUALS(0, autotok->valueType()->pointer); ASSERT_EQUALS(0, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
}
vartok = Token::findsimplematch(autotok, "v6 ="); vartok = Token::findsimplematch(autotok, "v6 =");
ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(0, vartok->valueType()->constness); ASSERT_EQUALS(0, vartok->valueType()->constness);
ASSERT_EQUALS(0, vartok->valueType()->pointer); ASSERT_EQUALS(0, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type); ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type);
}
// auto = int, v7 = int // auto = int, v7 = int
autotok = Token::findsimplematch(autotok, "auto v7"); autotok = Token::findsimplematch(autotok, "auto v7");
ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(0, autotok->valueType()->constness); ASSERT_EQUALS(0, autotok->valueType()->constness);
ASSERT_EQUALS(0, autotok->valueType()->pointer); ASSERT_EQUALS(0, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
}
vartok = Token::findsimplematch(autotok, "v7 ="); vartok = Token::findsimplematch(autotok, "v7 =");
ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(0, vartok->valueType()->constness); ASSERT_EQUALS(0, vartok->valueType()->constness);
ASSERT_EQUALS(0, vartok->valueType()->pointer); ASSERT_EQUALS(0, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type); ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type);
}
// auto = const int *, v8 = const int * (const int[10]) // auto = const int *, v8 = const int * (const int[10])
autotok = Token::findsimplematch(autotok, "auto v8"); autotok = Token::findsimplematch(autotok, "auto v8");
ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(1, autotok->valueType()->constness); ASSERT_EQUALS(1, autotok->valueType()->constness);
ASSERT_EQUALS(1, autotok->valueType()->pointer); ASSERT_EQUALS(1, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
}
vartok = Token::findsimplematch(autotok, "v8 ="); vartok = Token::findsimplematch(autotok, "v8 =");
ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(1, vartok->valueType()->constness); ASSERT_EQUALS(1, vartok->valueType()->constness);
ASSERT_EQUALS(1, vartok->valueType()->pointer); ASSERT_EQUALS(1, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type); ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type);
}
// auto = int *, v9 = const int * (const int[10]) // auto = int *, v9 = const int * (const int[10])
autotok = Token::findsimplematch(autotok, "auto v9"); autotok = Token::findsimplematch(autotok, "auto v9");
ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { ASSERT(autotok->valueType());
TODO_ASSERT_EQUALS(0, 1, autotok->valueType()->constness); TODO_ASSERT_EQUALS(0, 1, autotok->valueType()->constness);
ASSERT_EQUALS(1, autotok->valueType()->pointer); ASSERT_EQUALS(1, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
}
vartok = Token::findsimplematch(autotok, "v9 ="); vartok = Token::findsimplematch(autotok, "v9 =");
ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(1, vartok->valueType()->constness); ASSERT_EQUALS(1, vartok->valueType()->constness);
ASSERT_EQUALS(1, vartok->valueType()->pointer); ASSERT_EQUALS(1, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type); ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type);
}
// auto = int, v10 = const int * (const int[10]) // auto = int, v10 = const int * (const int[10])
autotok = Token::findsimplematch(autotok, "auto * v10"); autotok = Token::findsimplematch(autotok, "auto * v10");
ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { ASSERT(autotok->valueType());
TODO_ASSERT_EQUALS(0, 1, autotok->valueType()->constness); TODO_ASSERT_EQUALS(0, 1, autotok->valueType()->constness);
ASSERT_EQUALS(0, autotok->valueType()->pointer); ASSERT_EQUALS(0, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
}
vartok = Token::findsimplematch(autotok, "v10 ="); vartok = Token::findsimplematch(autotok, "v10 =");
ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { ASSERT(autotok->valueType());
ASSERT_EQUALS(1, vartok->valueType()->constness); ASSERT_EQUALS(1, vartok->valueType()->constness);
ASSERT_EQUALS(1, vartok->valueType()->pointer); ASSERT_EQUALS(1, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type); ASSERT_EQUALS(ValueType::INT, vartok->valueType()->type);
}
// auto = int, v11 = int // auto = int, v11 = int
autotok = Token::findsimplematch(autotok, "auto v11"); autotok = Token::findsimplematch(autotok, "auto v11");
TODO_ASSERT(db && autotok && autotok->valueType()); ASSERT(autotok);
if (db && autotok && autotok->valueType()) { TODO_ASSERT(autotok->valueType());
if (autotok->valueType()) {
ASSERT_EQUALS(0, autotok->valueType()->constness); ASSERT_EQUALS(0, autotok->valueType()->constness);
ASSERT_EQUALS(0, autotok->valueType()->pointer); ASSERT_EQUALS(0, autotok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, autotok->valueType()->sign);
ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type); ASSERT_EQUALS(ValueType::INT, autotok->valueType()->type);
} }
vartok = autotok->next(); vartok = autotok->next();
TODO_ASSERT(db && vartok && vartok->valueType()); ASSERT(autotok);
if (db && vartok && vartok->valueType()) { TODO_ASSERT(autotok->valueType());
if (vartok->valueType()) {
ASSERT_EQUALS(0, vartok->valueType()->constness); ASSERT_EQUALS(0, vartok->valueType()->constness);
ASSERT_EQUALS(0, vartok->valueType()->pointer); ASSERT_EQUALS(0, vartok->valueType()->pointer);
ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign); ASSERT_EQUALS(ValueType::SIGNED, vartok->valueType()->sign);