Files
西风逍遥游 811eff1c3a ci(quality): warnings-as-errors gate, sanitizers, smoke, Python lint/tests
- 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.
2026-08-22 02:27:37 +08:00

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;
};