17db96d56Sopenharmony_ci"""Sanity-check tests for the "freeze" tool.""" 27db96d56Sopenharmony_ci 37db96d56Sopenharmony_ciimport sys 47db96d56Sopenharmony_ciimport textwrap 57db96d56Sopenharmony_ciimport unittest 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_cifrom test import support 87db96d56Sopenharmony_cifrom test.support import os_helper 97db96d56Sopenharmony_cifrom test.test_tools import imports_under_tool, skip_if_missing 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ciskip_if_missing('freeze') 127db96d56Sopenharmony_ciwith imports_under_tool('freeze', 'test'): 137db96d56Sopenharmony_ci import freeze as helper 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ci@support.requires_zlib() 167db96d56Sopenharmony_ci@unittest.skipIf(sys.platform.startswith('win'), 'not supported on Windows') 177db96d56Sopenharmony_ci@support.skip_if_buildbot('not all buildbots have enough space') 187db96d56Sopenharmony_ciclass TestFreeze(unittest.TestCase): 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci def test_freeze_simple_script(self): 217db96d56Sopenharmony_ci script = textwrap.dedent(""" 227db96d56Sopenharmony_ci import sys 237db96d56Sopenharmony_ci print('running...') 247db96d56Sopenharmony_ci sys.exit(0) 257db96d56Sopenharmony_ci """) 267db96d56Sopenharmony_ci with os_helper.temp_dir() as outdir: 277db96d56Sopenharmony_ci outdir, scriptfile, python = helper.prepare(script, outdir) 287db96d56Sopenharmony_ci executable = helper.freeze(python, scriptfile, outdir) 297db96d56Sopenharmony_ci text = helper.run(executable) 307db96d56Sopenharmony_ci self.assertEqual(text, 'running...') 31