mirror of
https://github.com/nmap/nmap.git
synced 2025-12-07 13:11:28 +00:00
Add unittest.testing() to make test building conditional
This commit is contained in:
@@ -655,6 +655,11 @@ hex_to_bin = function( hex )
|
||||
|
||||
end
|
||||
|
||||
--Ignore the rest if we are not testing.
|
||||
if not unittest.testing() then
|
||||
return _ENV
|
||||
end
|
||||
|
||||
test_suite = unittest.TestSuite:new()
|
||||
test_suite:add_test(unittest.is_true(isPrivate("192.168.123.123")), "192.168.123.123 is private")
|
||||
test_suite:add_test(unittest.is_false(isPrivate("1.1.1.1")), "1.1.1.1 is not private")
|
||||
|
||||
@@ -920,6 +920,10 @@ function calculate_signature(mac_key, data)
|
||||
end
|
||||
end
|
||||
|
||||
if not unittest.testing() then
|
||||
return _ENV
|
||||
end
|
||||
|
||||
test_suite = unittest.TestSuite:new()
|
||||
test_suite:add_test(unittest.equal(
|
||||
stdnse.tohex(select(-1, lm_create_hash("passphrase"))),
|
||||
|
||||
@@ -396,6 +396,10 @@ function utf8to16(from)
|
||||
return table.concat(buf)
|
||||
end
|
||||
|
||||
if not unittest.testing() then
|
||||
return _ENV
|
||||
end
|
||||
|
||||
test_suite = unittest.TestSuite:new()
|
||||
test_suite:add_test(function()
|
||||
local pos, cp = utf8_dec("\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E")
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
--
|
||||
-- The library is driven by the unittest NSE script.
|
||||
--
|
||||
-- @args unittest.run Run tests. Causes <code>unittest.testing()</code> to
|
||||
-- return true.
|
||||
--
|
||||
-- @copyright Same as Nmap--See http://nmap.org/book/man-legal.html
|
||||
|
||||
local stdnse = require "stdnse"
|
||||
@@ -136,11 +139,22 @@ local libs = {
|
||||
"xmpp",
|
||||
}
|
||||
|
||||
local am_testing = stdnse.get_script_args('unittest.run')
|
||||
---Check whether tests are being run
|
||||
--
|
||||
-- Libraries can use this function to avoid the overhead of creating tests if
|
||||
-- the user hasn't chosen to run them.
|
||||
-- @return true if unittests are being run, false otherwise.
|
||||
function testing()
|
||||
return am_testing
|
||||
end
|
||||
|
||||
---
|
||||
-- Run tests provided by NSE libraries
|
||||
-- @param to_test A list (table) of libraries to test. If none is provided, all
|
||||
-- libraries are tested.
|
||||
run_tests = function(to_test)
|
||||
am_testing = true
|
||||
if to_test == nil then
|
||||
to_test = libs
|
||||
end
|
||||
@@ -354,6 +368,11 @@ expected_failure = function(test)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
if not testing() then
|
||||
return _ENV
|
||||
end
|
||||
|
||||
-- Self test
|
||||
test_suite = TestSuite:new()
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ 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
|
||||
@@ -24,7 +23,7 @@ license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
|
||||
categories = {"safe"}
|
||||
|
||||
|
||||
prerule = function() return stdnse.get_script_args("unittest.run") end
|
||||
prerule = unittest.testing
|
||||
|
||||
action = function()
|
||||
local libs = stdnse.get_script_args("unittest.tests")
|
||||
|
||||
Reference in New Issue
Block a user