Ensures that the Lua stack maintains its original height upon exit. More...
#include <test_utils.hpp>
| Public Member Functions | |
| stack_balance_checker (lutok::state &state_, const bool with_sentinel_=true) | |
| Constructs a new stack balance checker. | |
| ~stack_balance_checker (void) | |
| Destructor for the object. | |
| Private Attributes | |
| lutok::state & | _state | 
| The Lua state. | |
| bool | _with_sentinel | 
| Whether to install a sentinel on the stack for balance enforcement. | |
| unsigned int | _old_count | 
| The height of the stack on creation. | |
Ensures that the Lua stack maintains its original height upon exit.
Use an instance of this class to check that a piece of code does not have side-effects on the Lua stack.
To be used within a test case only.
| 
 | inline | 
Constructs a new stack balance checker.
| state_ | The Lua state to validate. | 
| with_sentinel_ | If true, insert a sentinel item into the stack and validate upon exit that the item is still there. This is an attempt to ensure that already-existing items are not removed from the stack by the code under test. | 
| 
 | inline | 
Destructor for the object.
If the stack height does not match the height when the instance was created, this fails the test case.
 1.8.1.1
 1.8.1.1