Best Python code snippet using tempest_python
test_nocloud.py
Source:test_nocloud.py
...10 self.tmp = self.makeDir()11 self.paths = helpers.Paths({'cloud_dir': self.tmp})12 self.cmdline = "root=TESTCMDLINE"13 self.unapply = []14 self.apply_patches([(util, 'get_cmdline', self._getcmdline)])15 super(TestNoCloudDataSource, self).setUp()16 def tearDown(self):17 apply_patches([i for i in reversed(self.unapply)])18 super(TestNoCloudDataSource, self).tearDown()19 def apply_patches(self, patches):20 ret = apply_patches(patches)21 self.unapply += ret22 def _getcmdline(self):23 return self.cmdline24 def test_nocloud_seed_dir(self):25 md = {'instance-id': 'IID', 'dsmode': 'local'}26 ud = "USER_DATA_HERE"27 populate_dir(os.path.join(self.paths.seed_dir, "nocloud"),28 {'user-data': ud, 'meta-data': yaml.safe_dump(md)})29 sys_cfg = {30 'datasource': {'NoCloud': {'fs_label': None}}31 }32 ds = DataSourceNoCloud.DataSourceNoCloud33 dsrc = ds(sys_cfg=sys_cfg, distro=None, paths=self.paths)34 ret = dsrc.get_data()35 self.assertEqual(dsrc.userdata_raw, ud)36 self.assertEqual(dsrc.metadata, md)37 self.assertTrue(ret)38 def test_fs_label(self):39 #find_devs_with should not be called ff fs_label is None40 ds = DataSourceNoCloud.DataSourceNoCloud41 class PsuedoException(Exception):42 pass43 def my_find_devs_with(*args, **kwargs):44 _f = (args, kwargs)45 raise PsuedoException46 self.apply_patches([(util, 'find_devs_with', my_find_devs_with)])47 # by default, NoCloud should search for filesystems by label48 sys_cfg = {'datasource': {'NoCloud': {}}}49 dsrc = ds(sys_cfg=sys_cfg, distro=None, paths=self.paths)50 self.assertRaises(PsuedoException, dsrc.get_data)51 # but disabling searching should just end up with None found52 sys_cfg = {'datasource': {'NoCloud': {'fs_label': None}}}53 dsrc = ds(sys_cfg=sys_cfg, distro=None, paths=self.paths)54 ret = dsrc.get_data()55 self.assertFalse(ret)56 def test_no_datasource_expected(self):57 #no source should be found if no cmdline, config, and fs_label=None58 sys_cfg = {'datasource': {'NoCloud': {'fs_label': None}}}59 ds = DataSourceNoCloud.DataSourceNoCloud60 dsrc = ds(sys_cfg=sys_cfg, distro=None, paths=self.paths)61 self.assertFalse(dsrc.get_data())62 def test_seed_in_config(self):63 ds = DataSourceNoCloud.DataSourceNoCloud64 data = {65 'fs_label': None,66 'meta-data': {'instance-id': 'IID'},67 'user-data': "USER_DATA_RAW",68 }69 sys_cfg = {'datasource': {'NoCloud': data}}70 dsrc = ds(sys_cfg=sys_cfg, distro=None, paths=self.paths)71 ret = dsrc.get_data()72 self.assertEqual(dsrc.userdata_raw, "USER_DATA_RAW")73 self.assertEqual(dsrc.metadata.get('instance-id'), 'IID')74 self.assertTrue(ret)75 def test_nocloud_seed_with_vendordata(self):76 md = {'instance-id': 'IID', 'dsmode': 'local'}77 ud = "USER_DATA_HERE"78 vd = "THIS IS MY VENDOR_DATA"79 populate_dir(os.path.join(self.paths.seed_dir, "nocloud"),80 {'user-data': ud, 'meta-data': yaml.safe_dump(md),81 'vendor-data': vd})82 sys_cfg = {83 'datasource': {'NoCloud': {'fs_label': None}}84 }85 ds = DataSourceNoCloud.DataSourceNoCloud86 dsrc = ds(sys_cfg=sys_cfg, distro=None, paths=self.paths)87 ret = dsrc.get_data()88 self.assertEqual(dsrc.userdata_raw, ud)89 self.assertEqual(dsrc.metadata, md)90 self.assertEqual(dsrc.vendordata, vd)91 self.assertTrue(ret)92 def test_nocloud_no_vendordata(self):93 populate_dir(os.path.join(self.paths.seed_dir, "nocloud"),94 {'user-data': "ud", 'meta-data': "instance-id: IID\n"})95 sys_cfg = {'datasource': {'NoCloud': {'fs_label': None}}}96 ds = DataSourceNoCloud.DataSourceNoCloud97 dsrc = ds(sys_cfg=sys_cfg, distro=None, paths=self.paths)98 ret = dsrc.get_data()99 self.assertEqual(dsrc.userdata_raw, "ud")100 self.assertFalse(dsrc.vendordata)101 self.assertTrue(ret)102class TestParseCommandLineData(MockerTestCase):103 def test_parse_cmdline_data_valid(self):104 ds_id = "ds=nocloud"105 pairs = (106 ("root=/dev/sda1 %(ds_id)s", {}),107 ("%(ds_id)s; root=/dev/foo", {}),108 ("%(ds_id)s", {}),109 ("%(ds_id)s;", {}),110 ("%(ds_id)s;s=SEED", {'seedfrom': 'SEED'}),111 ("%(ds_id)s;seedfrom=SEED;local-hostname=xhost",112 {'seedfrom': 'SEED', 'local-hostname': 'xhost'}),113 ("%(ds_id)s;h=xhost",114 {'local-hostname': 'xhost'}),115 ("%(ds_id)s;h=xhost;i=IID",116 {'local-hostname': 'xhost', 'instance-id': 'IID'}),117 )118 for (fmt, expected) in pairs:119 fill = {}120 cmdline = fmt % {'ds_id': ds_id}121 ret = DataSourceNoCloud.parse_cmdline_data(ds_id=ds_id, fill=fill,122 cmdline=cmdline)123 self.assertEqual(expected, fill)124 self.assertTrue(ret)125 def test_parse_cmdline_data_none(self):126 ds_id = "ds=foo"127 cmdlines = (128 "root=/dev/sda1 ro",129 "console=/dev/ttyS0 root=/dev/foo",130 "",131 "ds=foocloud",132 "ds=foo-net",133 "ds=nocloud;s=SEED",134 )135 for cmdline in cmdlines:136 fill = {}137 ret = DataSourceNoCloud.parse_cmdline_data(ds_id=ds_id, fill=fill,138 cmdline=cmdline)139 self.assertEqual(fill, {})140 self.assertFalse(ret)141def apply_patches(patches):142 ret = []143 for (ref, name, replace) in patches:144 if replace is None:145 continue146 orig = getattr(ref, name)147 setattr(ref, name, replace)148 ret.append((ref, name, orig))149 return ret...
set_flags.py
Source:set_flags.py
...52 line = line.replace('LDFLAGS_FOR_BENCH_SUITE', ldflags)53 output += line54 with open('modified.diff', 'w') as f:55 f.write(output)56def apply_patches(bench):57 bench_dir = os.path.join(config.android_home, config.bench_dict[bench])58 bench_diff = 'modified.diff'59 flags_patch = os.path.join(60 os.path.dirname(os.path.realpath(__file__)), bench_diff)61 try:62 subprocess.check_call(['git', '-C', bench_dir, 'apply', flags_patch])63 except subprocess.CalledProcessError:64 raise OSError('Patch for adding flags for %s does not succeed.' % bench)65def replace_flags_in_dir(bench, cflags, ldflags):66 bench_mk = os.path.join(config.android_home, config.bench_dict[bench],67 'Android.mk')68 if not cflags:69 cflags = ''70 if not ldflags:71 ldflags = ''72 output = ''73 with open(bench_mk) as f:74 for line in f:75 line = line.replace('$(CFLAGS_FOR_BENCH_SUITE)', cflags)76 line = line.replace('$(LDFLAGS_FOR_BENCH_SUITE)', ldflags)77 output += line78 with open(bench_mk, 'w') as f:79 f.write(output)80def add_flags_Panorama(cflags, ldflags):81 backup_file('Panorama', 'mk')82 replace_flags_in_dir('Panorama', cflags, ldflags)83def add_flags_Synthmark(cflags, ldflags):84 backup_file('Synthmark', 'mk')85 replace_flags_in_dir('Synthmark', cflags, ldflags)86def add_flags_Skia(cflags, ldflags):87 backup_file('Skia', 'bp')88 replace_flags('Skia', config.android_type, 'bp', cflags, ldflags)89 apply_patches('Skia')90def add_flags_Binder(cflags, ldflags):91 backup_file('Binder', 'bp')92 replace_flags('Binder', config.android_type, 'bp', cflags, ldflags)93 apply_patches('Binder')94def add_flags_Hwui(cflags, ldflags):95 backup_file('Hwui', 'bp')96 replace_flags('Hwui', config.android_type, 'bp', cflags, ldflags)97 apply_patches('Hwui')98def add_flags_Dex2oat(cflags, ldflags):99 backup_file('Dex2oat', 'bp')100 replace_flags('Dex2oat', config.android_type, 'bp', cflags, ldflags)...
hash_patch.py
Source:hash_patch.py
...12 def add_hash_candidate(self, mut):13 if mut.addr in self.blacklisted or mut.addr in self.patched:14 return15 self.patched.add(mut.addr)16 self.apply_patches()17 def blacklist_hash_candidate(self, addr):18 self.blacklisted.add(addr)19 if addr in self.patched:20 self.patched.remove(addr)21 self.apply_patches()22 def apply_patches(self):23 with open("/tmp/redqueen_whitelist", "w") as w:24 with open("/tmp/rq_patches", "w") as f:25 for addr in self.patched:26 hexaddr = hex(addr).rstrip("L").lstrip("0x")27 if hexaddr:28 w.write(hexaddr + "\n")...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!