"python/ait_impl/samples/elementwise_common.py" did not exist on "516bbdcbcc1fac0e8b149e971c38481549ee56fe"
Commit 2d815c5d authored by Jesse Beder's avatar Jesse Beder
Browse files

Added extra parser tests for the core; in particular, one that asserts instead of throwing

parent d5130a41
#include "parsertests.h"
#include "handlermacros.h"
#include "yaml-cpp/yaml.h"
#include <iostream>
namespace Test
{
namespace Parser {
TEST BadDocStart()
{
try {
HANDLE("---{header: {id: 1");
} catch(const YAML::ParserException& e) {
YAML_ASSERT(true);
return true;
}
return " no exception caught";
}
}
namespace {
void RunParserTest(TEST (*test)(), const std::string& name, int& passed, int& total) {
TEST ret;
try {
ret = test();
} catch(const YAML::Exception& e) {
ret.ok = false;
ret.error = std::string(" Exception caught: ") + e.what();
}
if(!ret.ok) {
std::cout << "Spec test " << index << " failed: " << name << "\n";
std::cout << ret.error << "\n";
}
if(ret.ok)
passed++;
total++;
}
}
bool RunParserTests()
{
int passed = 0;
int total = 0;
RunParserTest(&Parser::BadDocStart, "Bad doc start", passed, total);
std::cout << "Parser tests: " << passed << "/" << total << " passed\n";
return passed == total;
}
}
#ifndef PARSERTESTS_H_62B23520_7C8E_11DE_8A39_0800200C9A66
#define PARSERTESTS_H_62B23520_7C8E_11DE_8A39_0800200C9A66
#if defined(_MSC_VER) || (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4
#pragma once
#endif
namespace Test {
bool RunParserTests();
}
#endif // PARSERTESTS_H_62B23520_7C8E_11DE_8A39_0800200C9A66
#include "tests.h" #include "tests.h"
#include "emittertests.h" #include "emittertests.h"
#include "parsertests.h"
#include "spectests.h" #include "spectests.h"
#include "yaml-cpp/yaml.h" #include "yaml-cpp/yaml.h"
#include <fstream> #include <fstream>
...@@ -17,6 +18,9 @@ namespace Test ...@@ -17,6 +18,9 @@ namespace Test
if(!RunSpecTests()) if(!RunSpecTests())
passed = false; passed = false;
if(!RunParserTests())
passed = false;
if(passed) if(passed)
std::cout << "All tests passed!\n"; std::cout << "All tests passed!\n";
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment