mirror of
https://github.com/nmap/nmap.git
synced 2025-12-25 17:09:02 +00:00
New unittest library and driver script for NSE testing
Please read the documentation. This is a way to add unit testing to NSE libraries (not scripts, yet). Please add tests to your libraries! Examples to come in further commits.
This commit is contained in:
42
scripts/unittest.nse
Normal file
42
scripts/unittest.nse
Normal file
@@ -0,0 +1,42 @@
|
||||
local stdnse = require "stdnse"
|
||||
local unittest = require "unittest"
|
||||
|
||||
description = [[
|
||||
Runs unit tests on all NSE libraries.
|
||||
]]
|
||||
|
||||
---
|
||||
-- @args unittest.run Run tests
|
||||
-- @args unittest.tests Run tests from only these libraries (defaults to all)
|
||||
--
|
||||
-- @usage
|
||||
-- nmap --script unittest --script-args unittest.run
|
||||
--
|
||||
-- @output
|
||||
-- Pre-scan script results:
|
||||
-- | unittest:
|
||||
-- |_ All tests passed
|
||||
|
||||
author = "Daniel Miller"
|
||||
|
||||
license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
|
||||
|
||||
categories = {}
|
||||
|
||||
|
||||
prerule = function() return stdnse.get_script_args("unittest.run") end
|
||||
|
||||
action = function()
|
||||
local libs = stdnse.get_script_args("unittest.tests")
|
||||
local result
|
||||
if libs then
|
||||
result = unittest.run_tests(libs)
|
||||
else
|
||||
result = unittest.run_tests()
|
||||
end
|
||||
if #result == 0 then
|
||||
return "All tests passed"
|
||||
else
|
||||
return result
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user