- EVENGINE_ENABLE_STRICT_WARNINGS option: MSVC /W4 /WX, GCC/Clang -Wall -Wextra -Werror, with documented noise suppressions and -isystem/-external:I for third-party headers; enabled on the Windows/Linux debug CI jobs. - Fix warnings across engine, modules and tests exposed by the gate, including real bugs (incomplete-type deletes, Timespan microsecond overflow, overload hiding, enum switch gaps, dead code). - Add Linux ASan+UBSan job, example smoke step, python-tools test job, ruff config (scripts+tools), weekly Linux coverage job and a CodeQL workflow.
37 lines
708 B
C++
37 lines
708 B
C++
#include "zeroerr/assert.h"
|
|
#include "zeroerr/unittest.h"
|
|
|
|
#include <cassert>
|
|
#include <iostream>
|
|
#include <simplesquirrel/simplesquirrel.hpp>
|
|
|
|
#include "window/Window.h"
|
|
#include "filesystem/Filesystem.h"
|
|
#include "mouse/Mouse.h"
|
|
|
|
#define UnitSciptTest(name, content) \
|
|
class name : public ScriptTest { \
|
|
public: \
|
|
name() : ScriptTest(content) {} \
|
|
}
|
|
|
|
using namespace eve;
|
|
|
|
class ScriptTest {
|
|
public:
|
|
ScriptTest(const char* script)
|
|
: script(script), vm(2048, ssq::Libs::ALL) {
|
|
expose(vm);
|
|
ssq::Script s = vm.compileSource(script);
|
|
vm.run(s);
|
|
}
|
|
|
|
protected:
|
|
static void expose(ssq::VM& vm) {
|
|
ModuleManager::expose(vm);
|
|
}
|
|
|
|
const char* script;
|
|
ssq::VM vm;
|
|
};
|