From dbe9317aed79bb65f16e5cb680971760dbe5f6a6 Mon Sep 17 00:00:00 2001 From: daurnimator Date: Sun, 3 Sep 2017 21:13:09 +1000 Subject: Don't reset metamethods when reset is 0 Fixes issue where interposed methods were discarded if any more C modules were loaded Closes #104 --- regress/104-interposition-discarded.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 regress/104-interposition-discarded.lua (limited to 'regress') diff --git a/regress/104-interposition-discarded.lua b/regress/104-interposition-discarded.lua new file mode 100644 index 0000000..4261bcb --- /dev/null +++ b/regress/104-interposition-discarded.lua @@ -0,0 +1,12 @@ +#!/usr/bin/env lua + +require"regress".export".*" + +local ssl_context = require "openssl.ssl.context" + +local value = {} +ssl_context.interpose("foo", value) +check(ssl_context.new().foo == value, "interpose failed") + +require "openssl.ssl" -- Pick a module that doesn't get loaded by regress.lua +check(ssl_context.new().foo == value, "loading a module reset methods") -- cgit v1.2.3-59-g8ed1b