tests: avoid loading unnecessary plugins

This commit is contained in:
Benoit Pierre
2024-12-25 15:46:02 +01:00
committed by Frans de Jonge
parent cb2d67aac9
commit 646ed9a07f
21 changed files with 43 additions and 0 deletions

View File

@@ -28,6 +28,8 @@ files["spec/unit/*"].std = "+busted"
files["spec/unit/*"].globals = {
"match", -- can be removed once luacheck 0.24.0 or higher is used
"package",
"disable_plugins",
"load_plugin",
}
-- TODO: clean up and enforce max line width (631)

View File

@@ -1,6 +1,7 @@
describe("AutoSuspend", function()
setup(function()
require("commonrequire")
disable_plugins()
require("document/canvascontext"):init(require("device"))
end)

View File

@@ -7,6 +7,7 @@ describe("BatteryState plugin tests", function()
setup(function()
require("commonrequire")
disable_plugins()
require("document/canvascontext"):init(require("device"))
time = require("ui/time")
MockTime = require("mock_time")

View File

@@ -56,3 +56,22 @@ package.reload = function(name)
assert(package.unload(name))
return require(name)
end
function disable_plugins()
local PluginLoader = require("pluginloader")
PluginLoader.enabled_plugins = {}
PluginLoader.disabled_plugins = {}
PluginLoader.loaded_plugins = {}
end
function load_plugin(name)
local PluginLoader = require("pluginloader")
local t = PluginLoader:_discover()
for _, v in ipairs(t) do
if v.name == name then
PluginLoader:_load{v}
return
end
end
assert(false)
end

View File

@@ -31,6 +31,7 @@ describe("device module", function()
end
}
require("commonrequire")
disable_plugins()
ffi = require("ffi")
C = ffi.C
require("ffi/linux_input_h")

View File

@@ -4,6 +4,8 @@ describe("Exporter plugin module", function()
local DocumentRegistry, Screen
setup(function()
require("commonrequire")
disable_plugins()
load_plugin("exporter.koplugin")
local ReaderUI = require("apps/reader/readerui")
DocumentRegistry = require("document/documentregistry")
Screen = require("device").screen

View File

@@ -2,6 +2,7 @@ describe("FileManager module", function()
local DataStorage, FileManager, lfs, docsettings, UIManager, Screen, makePath, util
setup(function()
require("commonrequire")
disable_plugins()
require("document/canvascontext"):init(require("device"))
DataStorage = require("datastorage")
FileManager = require("apps/filemanager/filemanager")

View File

@@ -3,6 +3,7 @@ describe("Frontlight function in PowerD", function()
local param, test_when_on, test_when_off
setup(function()
require("commonrequire")
disable_plugins()
require("document/canvascontext"):init(require("device"))
PowerD = require("device/generic/powerd"):new{

View File

@@ -4,6 +4,7 @@ describe("ReaderBookmark module", function()
setup(function()
require("commonrequire")
disable_plugins()
DataStorage = require("datastorage")
DocSettings = require("docsettings")
DocumentRegistry = require("document/documentregistry")

View File

@@ -3,6 +3,8 @@ describe("Readerdictionary module", function()
setup(function()
require("commonrequire")
disable_plugins()
load_plugin("japanese.koplugin")
DataStorage = require("datastorage")
DocumentRegistry = require("document/documentregistry")
ReaderUI = require("apps/reader/readerui")

View File

@@ -10,6 +10,7 @@ describe("Readerfooter module", function()
setup(function()
require("commonrequire")
disable_plugins()
local Device = require("device")
-- Override powerd for running tests on devices with batteries.
Device.powerd.isChargingHW = function() return false end

View File

@@ -4,6 +4,7 @@ describe("Readerhighlight module", function()
setup(function()
require("commonrequire")
disable_plugins()
require("document/canvascontext"):init(require("device"))
DataStorage = require("datastorage")
DocumentRegistry = require("document/documentregistry")
@@ -12,6 +13,7 @@ describe("Readerhighlight module", function()
ReaderUI = require("apps/reader/readerui")
Screen = require("device").screen
UIManager = require("ui/uimanager")
load_plugin('japanese.koplugin')
sample_pdf = DataStorage:getDataDir() .. "/readerhighlight.pdf"
require("ffi/util").copyFile("spec/front/unit/data/sample.pdf", sample_pdf)
end)

View File

@@ -3,6 +3,7 @@ describe("ReaderLink module", function()
setup(function()
require("commonrequire")
disable_plugins()
require("document/canvascontext"):init(require("device"))
DocumentRegistry = require("document/documentregistry")
Event = require("ui/event")

View File

@@ -5,6 +5,7 @@ describe("Readerpaging module", function()
setup(function()
require("commonrequire")
disable_plugins()
UIManager = require("ui/uimanager")
stub(UIManager, "getNthTopWidget")
UIManager.getNthTopWidget.returns({})

View File

@@ -4,6 +4,7 @@ describe("Readerrolling module", function()
setup(function()
require("commonrequire")
disable_plugins()
UIManager = require("ui/uimanager")
stub(UIManager, "getNthTopWidget")
UIManager.getNthTopWidget.returns({})

View File

@@ -5,6 +5,7 @@ describe("Readersearch module", function()
setup(function()
require("commonrequire")
disable_plugins()
DocumentRegistry = require("document/documentregistry")
ReaderUI = require("apps/reader/readerui")
Screen = require("device").screen

View File

@@ -4,6 +4,7 @@ describe("Readertoc module", function()
setup(function()
require("commonrequire")
disable_plugins()
DocumentRegistry = require("document/documentregistry")
ReaderUI = require("apps/reader/readerui")
Screen = require("device").screen

View File

@@ -4,6 +4,7 @@ describe("Readerui module", function()
local readerui
setup(function()
require("commonrequire")
disable_plugins()
DocumentRegistry = require("document/documentregistry")
ReaderUI = require("apps/reader/readerui")
DocSettings = require("docsettings")

View File

@@ -3,6 +3,7 @@ describe("Readerview module", function()
setup(function()
require("commonrequire")
disable_plugins()
require("document/canvascontext"):init(require("device"))
DocumentRegistry = require("document/documentregistry")
Blitbuffer = require("ffi/blitbuffer")

View File

@@ -4,6 +4,7 @@ describe("ReaderScreenshot module", function()
local readerui
setup(function()
require("commonrequire")
disable_plugins()
DataStorage = require("datastorage")
DocumentRegistry = require("document/documentregistry")
ReaderUI = require("apps/reader/readerui")

View File

@@ -5,6 +5,7 @@ describe("WakeupMgr", function()
setup(function()
require("commonrequire")
disable_plugins()
RTC = require("ffi/rtc")
WakeupMgr = require("device/wakeupmgr"):new{}
-- We could theoretically test this by running the tests as root locally.