lkml.org 
[lkml]   [2021]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 354/663] kunit: tool: fix unit test cleanup handling
    Date
    From: Daniel Latypov <dlatypov@google.com>

    [ Upstream commit cfd607e43da4a20753744f134e201310262b827a ]

    * Stop leaking file objects.
    * Use self.addCleanup() to ensure we call cleanup functions even if
    setUp() fails.
    * use mock.patch.stopall instead of more error-prone manual approach

    Signed-off-by: Daniel Latypov <dlatypov@google.com>
    Reviewed-by: David Gow <davidgow@google.com>
    Tested-by: Brendan Higgins <brendanhiggins@google.com>
    Acked-by: Brendan Higgins <brendanhiggins@google.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/testing/kunit/kunit_tool_test.py | 14 ++++++--------
    1 file changed, 6 insertions(+), 8 deletions(-)

    diff --git a/tools/testing/kunit/kunit_tool_test.py b/tools/testing/kunit/kunit_tool_test.py
    index 497ab51bc1702..3fbe1acd531ae 100755
    --- a/tools/testing/kunit/kunit_tool_test.py
    +++ b/tools/testing/kunit/kunit_tool_test.py
    @@ -288,19 +288,17 @@ class StrContains(str):
    class KUnitMainTest(unittest.TestCase):
    def setUp(self):
    path = get_absolute_path('test_data/test_is_test_passed-all_passed.log')
    - file = open(path)
    - all_passed_log = file.readlines()
    - self.print_patch = mock.patch('builtins.print')
    - self.print_mock = self.print_patch.start()
    + with open(path) as file:
    + all_passed_log = file.readlines()
    +
    + self.print_mock = mock.patch('builtins.print').start()
    + self.addCleanup(mock.patch.stopall)
    +
    self.linux_source_mock = mock.Mock()
    self.linux_source_mock.build_reconfig = mock.Mock(return_value=True)
    self.linux_source_mock.build_um_kernel = mock.Mock(return_value=True)
    self.linux_source_mock.run_kernel = mock.Mock(return_value=all_passed_log)

    - def tearDown(self):
    - self.print_patch.stop()
    - pass
    -
    def test_config_passes_args_pass(self):
    kunit.main(['config', '--build_dir=.kunit'], self.linux_source_mock)
    assert self.linux_source_mock.build_reconfig.call_count == 1
    --
    2.27.0


    \
     
     \ /
      Last update: 2021-03-02 03:10    [W:3.142 / U:0.280 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site