2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-30 21:45:37 +00:00

[2428] Test and fix error handling in $INCLUDE

This commit is contained in:
Michal 'vorner' Vaner
2012-12-11 15:20:11 +01:00
parent 33fb59eeb6
commit 45e97b8527
2 changed files with 6 additions and 4 deletions

View File

@@ -81,9 +81,7 @@ public:
std::string error;
if (!lexer_.pushSource(filename.c_str(), &error)) {
if (initialized_) {
// $INCLUDE file
reportError(lexer_.getSourceName(), lexer_.getSourceLine(),
error);
isc_throw(InternalException, error.c_str());
} else {
// Top-level file
reportError("", 0, error);
@@ -116,7 +114,7 @@ public:
void doInclude() {
// First, get the filename to include
const MasterToken::StringRegion
filename(lexer_.getNextToken(MasterLexer::QSTRING).
filename(lexer_.getNextToken(MasterToken::QSTRING).
getStringRegion());
// TODO: Handle the case where there's Name after the

View File

@@ -282,6 +282,10 @@ struct ErrorCase {
// Check the unknown directive. The rest looks like ordinary RR,
// so we see the $ is actually special.
{ "$UNKNOWN 3600 IN A 192.0.2.1", "Unknown $ directive" },
{ "$INCLUDE", "Missing include path" },
{ "$INCLUDE /file/not/found", "Include file not found" },
{ "$INCLUDE /file/not/found and here goes bunch of garbage",
"Include file not found and garbage at the end of line" },
{ NULL, NULL }
};