I have a module A who looks like the following:
import unittest2
def check_function():
    # performs actions and returns True or False
    return smth
CHECK = check_function()
class A(unittest2.TestCase):
    @unittest2.skipIf(CHECK, "skip message 1")
    def test_1(self):
        # test check
    @unittest2.skipIf(CHECK, "skip message 2")
    def test_2(self):
        # test check
Module A is being imported by another module, called B. When is the global variable CHECK initialized? At import? At class instantiation?
I need to have the CHECK variable set each time class A is called. How can I achieve this?
EDIT: I have tried the following (which might be what I am looking for), but CHECK is not set at all inside setUpClass (it stays False, no matter what check_function() returns).
import unittest2
def check_function():
    # performs actions and returns True or False
    return smth
CHECK = False
class A(unittest2.TestCase):
    global CHECK
    @classmethod
    def setUpClass(cls):
        CHECK = check_function()
    @unittest2.skipIf(CHECK, "skip message 1")
    def test_1(self):
        # test check
    @unittest2.skipIf(CHECK, "skip message 2")
    def test_2(self):
        # test check
Any ideas of how to set CHECK once, each time the test is invoked?
EDIT: check_function() is certainly called once, but I don't understand why unittest2.skipIf does not "see" the value set in setUpClass, and sticks to the False value set at declaration?
SOLUTION:
The final skeletopn of the code looks like this:
import unittest2
def check_function():
    # performs checks and returns True or False
    return smth
class A(unittest2.TestCase):
    CHECK = check_function()
    @unittest2.skipIf(CHECK, "skip message 1")
    def test_1(self):
        # do tests
        self.assertTrue(True)
    @unittest2.skipIf(CHECK, "skip message 1")
    def test_2(self):
        # do tests
        self.assertTrue(True)
 
     
     
    