How to use kill method in Playwright Internal

Best JavaScript code snippet using playwright-internal

test_async_process.py

Source:test_async_process.py Github

copy

Full Screen

...164 return_value=pid),\165 mock.patch.object(self.proc, '_kill_process_and_wait'166 ) as mock_kill_process_and_wait,\167 mock.patch.object(self.proc, '_process'):168 self.proc._kill(signal.SIGKILL)169 self.assertIsNone(self.proc._kill_event)170 self.assertFalse(self.proc._is_running)171 self.assertIsNone(self.proc._pid)172 mock_kill_event.send.assert_called_once_with()173 if pid:174 mock_kill_process_and_wait.assert_called_once_with(175 pid, signal.SIGKILL, None)176 def _test__kill_process_and_wait(self, pid, expected,177 exception_message=None,178 kill_signal=signal.SIGKILL):179 self.proc.run_as_root = True180 if exception_message:181 exc = RuntimeError(exception_message)182 else:...

Full Screen

Full Screen

killBufferCommands.py

Source:killBufferCommands.py Github

copy

Full Screen

...57 return58 undoType = 'backward-kill-sentence'59 self.beginCommand(w, undoType=undoType)60 i2 = s.rfind('.', 0, i) + 161 self.kill(event, i2, i + 1, undoType=undoType)62 w.setInsertPoint(i2)63 self.endCommand(changed=True, setLabel=True)64 #@+node:ekr.20150514063305.413: *3* backwardKillWord & killWord65 @cmd('backward-kill-word')66 def backwardKillWord(self, event):67 """Kill the previous word."""68 c = self.c69 w = self.editWidget(event)70 if w:71 self.beginCommand(w, undoType='backward-kill-word')72 c.editCommands.backwardWord(event)73 self.killWordHelper(event)74 @cmd('kill-word')75 def killWord(self, event):76 """Kill the word containing the cursor."""77 w = self.editWidget(event)78 if w:79 self.beginCommand(w, undoType='kill-word')80 self.killWordHelper(event)81 def killWordHelper(self, event):82 c = self.c83 e = c.editCommands84 w = e.editWidget(event)85 if w:86 # self.killWs(event)87 e.extendToWord(event)88 i, j = w.getSelectionRange()89 self.kill(event, i, j, undoType=None)90 self.endCommand(changed=True, setLabel=True)91 #@+node:ekr.20150514063305.414: *3* clearKillRing92 @cmd('clear-kill-ring')93 def clearKillRing(self, event=None):94 """Clear the kill ring."""95 g.app.globalKillbuffer = []96 #@+node:ekr.20150514063305.415: *3* getClipboard97 def getClipboard(self):98 """Return the contents of the clipboard."""99 try:100 ctxt = g.app.gui.getTextFromClipboard()101 if not g.app.globalKillBuffer or ctxt != self.last_clipboard:102 self.last_clipboard = ctxt103 if not g.app.globalKillBuffer or g.app.globalKillBuffer[0] != ctxt:104 return ctxt105 except Exception:106 g.es_exception()107 return None108 #@+node:ekr.20150514063305.416: *3* class iterateKillBuffer109 class KillBufferIterClass:110 """Returns a list of positions in a subtree, possibly including the root of the subtree."""111 #@+others112 #@+node:ekr.20150514063305.417: *4* __init__ & __iter__ (iterateKillBuffer)113 def __init__(self, c):114 """Ctor for KillBufferIterClass class."""115 self.c = c116 self.index = 0 # The index of the next item to be returned.117 def __iter__(self):118 return self119 #@+node:ekr.20150514063305.418: *4* __next__120 def __next__(self):121 commands = self.c.killBufferCommands122 aList = g.app.globalKillBuffer # commands.killBuffer123 if not aList:124 self.index = 0125 return None126 if commands.reset is None:127 i = self.index128 else:129 i = commands.reset130 commands.reset = None131 if i < 0 or i >= len(aList): i = 0132 val = aList[i]133 self.index = i + 1134 return val135 #@-others136 def iterateKillBuffer(self):137 return self.KillBufferIterClass(self.c)138 #@+node:ekr.20150514063305.419: *3* kill (helper)139 def kill(self, event, frm, to, force=False, undoType=None):140 """A helper method for all kill commands."""141 w = self.editWidget(event)142 if not w: return143 # 2016/03/05: all kill commands kill selected text, if it exists.144 if not force:145 # Delete the selection range if it spans a line.146 i, j = w.getSelectionRange()147 s = w.get(i, j)148 if s.find('\n') > -1:149 frm, to = i, j150 s = w.get(frm, to)151 if undoType:152 self.beginCommand(w, undoType=undoType)153 self.addToKillBuffer(s)154 g.app.gui.replaceClipboardWith(s)155 w.delete(frm, to)156 w.setInsertPoint(frm)157 if undoType:158 self.endCommand(changed=True, setLabel=True)159 #@+node:ekr.20150514063305.420: *3* killToEndOfLine160 @cmd('kill-to-end-of-line')161 def killToEndOfLine(self, event):162 """Kill from the cursor to end of the line."""163 w = self.editWidget(event)164 if not w: return165 s = w.getAllText()166 ins = w.getInsertPoint()167 i, j = g.getLine(s, ins)168 if ins >= len(s) and g.match(s, j - 1, '\n'):169 # Kill the trailing newline of the body text.170 i = max(0, len(s) - 1)171 j = len(s)172 elif ins + 1 < j and s[ins : j - 1].strip() and g.match(s, j - 1, '\n'):173 # Kill the line, but not the newline.174 i, j = ins, j - 1175 elif g.match(s, j - 1, '\n'):176 i = ins # Kill the newline in the present line.177 else:178 i = j179 if i < j:180 self.kill(event, i, j, undoType='kill-line')181 #@+node:ekr.20150514063305.421: *3* KillLine182 @cmd('kill-line')183 def killLine(self, event):184 """Kill the line containing the cursor."""185 w = self.editWidget(event)186 if not w: return187 s = w.getAllText()188 ins = w.getInsertPoint()189 i, j = g.getLine(s, ins)190 if ins >= len(s) and g.match(s, j - 1, '\n'):191 # Kill the trailing newline of the body text.192 i = max(0, len(s) - 1)193 j = len(s)194 elif j > i + 1 and g.match(s, j - 1, '\n'):195 # Kill the line, but not the newline.196 j -= 1197 else:198 pass # Kill the newline in the present line.199 self.kill(event, i, j, undoType='kill-line')200 #@+node:ekr.20150514063305.422: *3* killRegion & killRegionSave & helper201 @cmd('kill-region')202 def killRegion(self, event):203 """Kill the text selection."""204 self.killRegionHelper(event, deleteFlag=True)205 @cmd('kill-region-save')206 def killRegionSave(self, event):207 """Add the selected text to the kill ring, but do not delete it."""208 self.killRegionHelper(event, deleteFlag=False)209 def killRegionHelper(self, event, deleteFlag):210 w = self.editWidget(event)211 if not w: return212 i, j = w.getSelectionRange()213 if i == j: return214 s = w.getSelectedText()215 if deleteFlag:216 self.beginCommand(w, undoType='kill-region')217 w.delete(i, j)218 self.endCommand(changed=True, setLabel=True)219 self.addToKillBuffer(s)220 g.app.gui.replaceClipboardWith(s)221 # self.removeRKeys(w)222 #@+node:ekr.20150514063305.423: *3* killSentence223 @cmd('kill-sentence')224 def killSentence(self, event):225 """Kill the sentence containing the cursor."""226 w = self.editWidget(event)227 if not w:228 return229 s = w.getAllText()230 ins = w.getInsertPoint()231 i = s.find('.', ins)232 if i == -1:233 return234 undoType = 'kill-sentence'235 self.beginCommand(w, undoType=undoType)236 i2 = s.rfind('.', 0, ins) + 1237 self.kill(event, i2, i + 1, undoType=undoType)238 w.setInsertPoint(i2)239 self.endCommand(changed=True, setLabel=True)240 #@+node:ekr.20150514063305.424: *3* killWs241 @cmd('kill-ws')242 def killWs(self, event, undoType='kill-ws'):243 """Kill whitespace."""244 ws = ''245 w = self.editWidget(event)246 if not w: return247 s = w.getAllText()248 i = j = ins = w.getInsertPoint()249 while i >= 0 and s[i] in (' ', '\t'):250 i -= 1251 if i < ins: i += 1...

Full Screen

Full Screen

async_process.py

Source:async_process.py Github

copy

Full Screen

...113 """114 kill_signal = kill_signal or getattr(signal, 'SIGKILL', signal.SIGTERM)115 if self._is_running:116 LOG.debug('Halting async process [%s].', self.cmd)117 self._kill(kill_signal, kill_timeout)118 else:119 raise AsyncProcessException(_('Process is not running.'))120 if block:121 common_utils.wait_until_true(lambda: not self.is_active())122 def _spawn(self):123 """Spawn a process and its watchers."""124 self._is_running = True125 self._pid = None126 self._kill_event = eventlet.event.Event()127 self._process, cmd = utils.create_process(self._cmd,128 run_as_root=self.run_as_root)129 self._watchers = []130 for reader in (self._read_stdout, self._read_stderr):131 # Pass the stop event directly to the greenthread to132 # ensure that assignment of a new event to the instance133 # attribute does not prevent the greenthread from using134 # the original event.135 watcher = eventlet.spawn(self._watch_process,136 reader,137 self._kill_event)138 self._watchers.append(watcher)139 @property140 def pid(self):141 if self._process:142 if not self._pid:143 self._pid = utils.get_root_helper_child_pid(144 self._process.pid,145 self.cmd_without_namespace,146 run_as_root=self.run_as_root)147 return self._pid148 def _kill(self, kill_signal, kill_timeout=None):149 """Kill the process and the associated watcher greenthreads."""150 pid = self.pid151 if pid:152 self._is_running = False153 self._pid = None154 self._kill_process_and_wait(pid, kill_signal, kill_timeout)155 # Halt the greenthreads if they weren't already.156 if self._kill_event:157 self._kill_event.send()158 self._kill_event = None159 def _kill_process_and_wait(self, pid, kill_signal, kill_timeout=None):160 kill_result = self._kill_process(pid, kill_signal)161 if kill_result is False:162 return kill_result163 if self._process:164 try:165 self._process.wait(kill_timeout)166 except subprocess.TimeoutExpired:167 LOG.warning("Process %(pid)s [%(cmd)s] still running after "168 "%(timeout)d seconds. Sending %(signal)d to kill "169 "it.",170 {'pid': pid,171 'cmd': self.cmd,172 'timeout': kill_timeout,173 'signal': signal.SIGKILL})174 return self._kill_process(pid, signal.SIGKILL)175 return True176 def _kill_process(self, pid, kill_signal):177 try:178 # A process started by a root helper will be running as179 # root and need to be killed via the same helper.180 utils.kill_process(pid, kill_signal, self.run_as_root)181 except Exception:182 LOG.exception('An error occurred while killing [%s].',183 self.cmd)184 return False185 return True186 def _handle_process_error(self):187 """Kill the async process and respawn if necessary."""188 stdout = list(self.iter_stdout())189 stderr = list(self.iter_stderr())190 LOG.debug('Halting async process [%s] in response to an error. stdout:'191 ' [%s] - stderr: [%s]', self.cmd, stdout, stderr)192 self._kill(getattr(signal, 'SIGKILL', signal.SIGTERM))193 if self.respawn_interval is not None and self.respawn_interval >= 0:194 eventlet.sleep(self.respawn_interval)195 LOG.debug('Respawning async process [%s].', self.cmd)196 try:197 self.start()198 except AsyncProcessException:199 # Process was already respawned by someone else...200 pass201 def _watch_process(self, callback, kill_event):202 while not kill_event.ready():203 try:204 output = callback()205 if not output and output != "":206 break...

Full Screen

Full Screen

test_kill.py

Source:test_kill.py Github

copy

Full Screen

1#!/usr/bin/env python32'''Kill tests.3These tests run many scenarios in which jobs are killed (KILL_JOB).4'''5import json6import pandas as pd7import pytest8from helper import *9# The number of kills to do for each job.10KillCountMode = namedtuple('KillCountMode', ['name', 'kill_count_per_job'])11# The number of seconds between a job execution and its kill.12KillDelayMode = namedtuple('KillDelayMode', ['name', 'kill_delay'])13###################################################################14# Kill a job a given amount of time after starting its execution. #15###################################################################16def kill_after_delay(platform, workload, algorithm, redis_mode, nb_kills_per_job, delay_before_kill):17 test_name = f'kill-{delay_before_kill.name}-{nb_kills_per_job.name}-{algorithm.name}-{platform.name}-{workload.name}-{redis_mode.name}'18 output_dir, robin_filename, schedconf_filename = init_instance(test_name)19 if algorithm.sched_implem != 'batsched': raise Exception('This test only supports batsched for now')20 batparams = "--forward-profiles-on-submission"21 if redis_mode.enabled == True: batparams = batparams + " --enable-redis"22 batcmd = gen_batsim_cmd(platform.filename, workload.filename, output_dir, batparams)23 schedconf_content = {24 "delay_before_kill": delay_before_kill.kill_delay,25 "nb_kills_per_job": nb_kills_per_job.kill_count_per_job,26 }27 write_file(schedconf_filename, json.dumps(schedconf_content))28 instance = RobinInstance(output_dir=output_dir,29 batcmd=batcmd,30 schedcmd=f"batsched -v '{algorithm.sched_algo_name}' --variant_options_filepath '{schedconf_filename}'",31 simulation_timeout=30, ready_timeout=5,32 success_timeout=10, failure_timeout=033 )34 instance.to_file(robin_filename)35 ret = run_robin(robin_filename)36 if ret.returncode != 0: raise Exception(f'Bad robin return code ({ret.returncode})')37 # Analyze Batsim results38 batjobs_filename = f'{output_dir}/batres_jobs.csv'39 jobs = pd.read_csv(batjobs_filename)40 epsilon = 0.141 max_runtime = delay_before_kill.kill_delay + epsilon42 jobs_too_long = jobs.loc[jobs['execution_time'] > max_runtime]43 if jobs_too_long.empty:44 print(f'All jobs have been shorter than {max_runtime} s')45 else:46 print(f'Some jobs were longer than {max_runtime} s')47 print(jobs_too_long)48 raise Exception('Some were longer than f{max_runtime} s')49@pytest.mark.parametrize("nb_kills_per_job", [KillCountMode(f'{n}kills', n) for n in [1,2]])50@pytest.mark.parametrize("delay_before_kill", [KillDelayMode(f'after{n}', n) for n in [5,10,15]])51def test_kill_after_delay(small_platform, small_workload, killer_algorithm, redis_mode, nb_kills_per_job, delay_before_kill):52 kill_after_delay(small_platform, small_workload, killer_algorithm, redis_mode, nb_kills_per_job, delay_before_kill)53@pytest.mark.parametrize("nb_kills_per_job", [KillCountMode(f'{n}kills', n) for n in [1,2]])54@pytest.mark.parametrize("delay_before_kill", [KillDelayMode(f'after{n}', n) for n in [5,10,15]])55def test_kill_after_delay_sequences(small_platform, delaysequences_workload, killer_algorithm, redis_mode, nb_kills_per_job, delay_before_kill):56 kill_after_delay(small_platform, delaysequences_workload, killer_algorithm, redis_mode, nb_kills_per_job, delay_before_kill)57@pytest.mark.parametrize("nb_kills_per_job", [KillCountMode(f'{n}kills', n) for n in [1,2]])58@pytest.mark.parametrize("delay_before_kill", [KillDelayMode(f'after{n}', n) for n in [0]])59def test_kill_after_delay0(small_platform, small_workload, killer_algorithm, redis_mode, nb_kills_per_job, delay_before_kill):60 kill_after_delay(small_platform, small_workload, killer_algorithm, redis_mode, nb_kills_per_job, delay_before_kill)61@pytest.mark.parametrize("nb_kills_per_job", [KillCountMode(f'{n}kills', n) for n in [1]])62@pytest.mark.parametrize("delay_before_kill", [KillDelayMode(f'after{n}', n) for n in [1]])63def test_kill_after_delay_smpi(small_platform, smpi_workload, killer_algorithm, redis_mode, nb_kills_per_job, delay_before_kill):64 kill_after_delay(small_platform, smpi_workload, killer_algorithm, redis_mode, nb_kills_per_job, delay_before_kill)65#####################################################66# Kill the running job when a new one is submitted. #67#####################################################68def kill_on_new_submit(platform, workload, algorithm, redis_mode):69 test_name = f'kill-onnewsubmit-{algorithm.name}-{platform.name}-{workload.name}-{redis_mode.name}'70 output_dir, robin_filename, _ = init_instance(test_name)71 if algorithm.sched_implem != 'batsched': raise Exception('This test only supports batsched for now')72 batparams = "--forward-profiles-on-submission"73 if redis_mode.enabled == True: batparams = batparams + " --enable-redis"74 batcmd = gen_batsim_cmd(platform.filename, workload.filename, output_dir, batparams)75 instance = RobinInstance(output_dir=output_dir,76 batcmd=batcmd,77 schedcmd=f"batsched -v '{algorithm.sched_algo_name}'",78 simulation_timeout=30, ready_timeout=5,79 success_timeout=10, failure_timeout=080 )81 instance.to_file(robin_filename)82 ret = run_robin(robin_filename)83 if ret.returncode != 0: raise Exception(f'Bad robin return code ({ret.returncode})')84def test_kill_on_new_submit(small_platform, small_workload, killer2_algorithm, redis_mode):85 kill_on_new_submit(small_platform, small_workload, killer2_algorithm, redis_mode)86###############################################################################87# Kill jobs after a given delay, check that the given progress is consistent. #88###############################################################################89def kill_progress(platform, workload, algorithm, redis_mode, nb_kills_per_job, delay_before_kill):90 test_name = f'kill-{delay_before_kill.name}-{nb_kills_per_job.name}-{algorithm.name}-{platform.name}-{workload.name}-{redis_mode.name}'91 output_dir, robin_filename, schedconf_filename = init_instance(test_name)92 if algorithm.sched_implem != 'batsched': raise Exception('This test only supports batsched for now')93 batparams = "--forward-profiles-on-submission"94 if redis_mode.enabled == True: batparams = batparams + " --enable-redis"95 batcmd = gen_batsim_cmd(platform.filename, workload.filename, output_dir, batparams)96 schedconf_content = {97 "delay_before_kill": delay_before_kill.kill_delay,98 "nb_kills_per_job": nb_kills_per_job.kill_count_per_job,99 }100 write_file(schedconf_filename, json.dumps(schedconf_content))101 instance = RobinInstance(output_dir=output_dir,102 batcmd=batcmd,103 schedcmd=f"batsched -v '{algorithm.sched_algo_name}' --variant_options_filepath '{schedconf_filename}'",104 simulation_timeout=30, ready_timeout=5,105 success_timeout=10, failure_timeout=0106 )107 instance.to_file(robin_filename)108 ret = run_robin(robin_filename)109 if ret.returncode != 0: raise Exception(f'Bad robin return code ({ret.returncode})')110 # Read Batsim log file.111 batlog_filename = f'{output_dir}/log/batsim.log'112 batlog_content = open(batlog_filename, 'r').read()113 # Parse messages, then events.114 messages = parse_proto_messages_from_batsim(batlog_content)115 events = retrieve_proto_events(messages)116 # Filter JOB_KILLED events.117 kill_events = [e for e in events if e['type'] == 'JOB_KILLED']118 nb_err = 0119 for e in kill_events:120 job_data = e['data']121 if 'job_progress' not in job_data:122 print('Error: a job progress is missing!', job_data)123 nb_err = nb_err + 1124 #TODO test if this job is msg or delay of composed125 #and test the progress content type in regards126 if nb_err > 0:127 raise Exception('The progress of some killed jobs was missing.')128@pytest.mark.parametrize("nb_kills_per_job", [KillCountMode(f'{n}kills', n) for n in [1]])129@pytest.mark.parametrize("delay_before_kill", [KillDelayMode(f'after{n}', n) for n in [5]])130def test_kill_progress(small_platform, one_job_workload, killer_algorithm, redis_mode, nb_kills_per_job, delay_before_kill):...

Full Screen

Full Screen

restart-scenarios-test.py

Source:restart-scenarios-test.py Github

copy

Full Screen

1#!/usr/bin/env python32import testUtils3import argparse4import random5import signal6###############################################################7# Test for different nodes restart scenarios.8# Nodes can be producing or non-producing.9# -p <producing nodes count>10# -c <chain strategy[replay|resync|none]>11# -s <topology>12# -d <delay between nodes startup>13# -v <verbose logging>14# --kill-sig <kill signal [term|kill]>15# --kill-count <nodeos instances to kill>16# --dont-kill <Leave cluster running after test finishes>17# --dump-error-details <Upon error print etc/eosio/node_*/config.ini and var/lib/node_*/stderr.log to stdout>18# --keep-logs <Don't delete var/lib/node_* folders upon test completion>19###############################################################20Print=testUtils.Utils.Print21def errorExit(msg="", errorCode=1):22 Print("ERROR:", msg)23 exit(errorCode)24parser = argparse.ArgumentParser()25parser.add_argument("-p", type=int, help="producing nodes count", default=2)26parser.add_argument("-d", type=int, help="delay between nodes startup", default=1)27parser.add_argument("-s", type=str, help="topology", default="mesh")28parser.add_argument("-c", type=str, help="chain strategy[%s|%s|%s]" %29 (testUtils.Utils.SyncResyncTag, testUtils.Utils.SyncReplayTag, testUtils.Utils.SyncNoneTag),30 default=testUtils.Utils.SyncResyncTag)31parser.add_argument("--kill-sig", type=str, help="kill signal[%s|%s]" %32 (testUtils.Utils.SigKillTag, testUtils.Utils.SigTermTag), default=testUtils.Utils.SigKillTag)33parser.add_argument("--kill-count", type=int, help="nodeos instances to kill", default=-1)34parser.add_argument("-v", help="verbose logging", action='store_true')35parser.add_argument("--dont-kill", help="Leave cluster running after test finishes", action='store_true')36parser.add_argument("--dump-error-details",37 help="Upon error print etc/eosio/node_*/config.ini and var/lib/node_*/stderr.log to stdout",38 action='store_true')39parser.add_argument("--keep-logs", help="Don't delete var/lib/node_* folders upon test completion",40 action='store_true')41args = parser.parse_args()42pnodes=args.p43topo=args.s44delay=args.d45chainSyncStrategyStr=args.c46debug=args.v47total_nodes = pnodes48killCount=args.kill_count if args.kill_count > 0 else 149killSignal=args.kill_sig50killEosInstances= not args.dont_kill51dumpErrorDetails=args.dump_error_details52keepLogs=args.keep_logs53seed=154testUtils.Utils.Debug=debug55testSuccessful=False56random.seed(seed) # Use a fixed seed for repeatability.57cluster=testUtils.Cluster()58walletMgr=testUtils.WalletMgr(False)59try:60 cluster.setChainStrategy(chainSyncStrategyStr)61 cluster.setWalletMgr(walletMgr)62 cluster.killall()63 cluster.cleanup()64 Print ("producing nodes: %d, topology: %s, delay between nodes launch(seconds): %d, chain sync strategy: %s" % (65 pnodes, topo, delay, chainSyncStrategyStr))66 Print("Stand up cluster")67 if cluster.launch(pnodes, total_nodes, topo=topo, delay=delay) is False:68 errorExit("Failed to stand up eos cluster.")69 Print ("Wait for Cluster stabilization")70 # wait for cluster to start producing blocks71 if not cluster.waitOnClusterBlockNumSync(3):72 errorExit("Cluster never stabilized")73 accountsCount=total_nodes74 walletName="MyWallet"75 Print("Creating wallet %s if one doesn't already exist." % walletName)76 wallet=walletMgr.create(walletName)77 if wallet is None:78 errorExit("Failed to create wallet %s" % (walletName))79 Print ("Populate wallet with %d accounts." % (accountsCount))80 if not cluster.populateWallet(accountsCount, wallet):81 errorExit("Wallet initialization failed.")82 defproduceraAccount=cluster.defproduceraAccount83 Print("Importing keys for account %s into wallet %s." % (defproduceraAccount.name, wallet.name))84 if not walletMgr.importKey(defproduceraAccount, wallet):85 errorExit("Failed to import key for account %s" % (defproduceraAccount.name))86 Print("Create accounts.")87 #if not cluster.createAccounts(wallet):88 if not cluster.createAccounts(defproduceraAccount):89 errorExit("Accounts creation failed.")90 Print("Wait on cluster sync.")91 if not cluster.waitOnClusterSync():92 errorExit("Cluster sync wait failed.")93 # TBD: Known issue (Issue 2043) that 'get currency0000 balance' doesn't return balance.94 # Uncomment when functional95 # Print("Spread funds and validate")96 # if not cluster.spreadFundsAndValidate(10):97 # errorExit("Failed to spread and validate funds.")98 Print("Wait on cluster sync.")99 if not cluster.waitOnClusterSync():100 errorExit("Cluster sync wait failed.")101 Print("Kill %d cluster node instances." % (killCount))102 if cluster.killSomeEosInstances(killCount, killSignal) is False:103 errorExit("Failed to kill Eos instances")104 Print("nodeos instances killed.")105 # TBD: Known issue (Issue 2043) that 'get currency0000 balance' doesn't return balance.106 # Uncomment when functional107 # Print("Spread funds and validate")108 # if not cluster.spreadFundsAndValidate(10):109 # errorExit("Failed to spread and validate funds.")110 Print("Wait on cluster sync.")111 if not cluster.waitOnClusterSync():112 errorExit("Cluster sync wait failed.")113 Print ("Relaunch dead cluster nodes instances.")114 if cluster.relaunchEosInstances() is False:115 errorExit("Failed to relaunch Eos instances")116 Print("nodeos instances relaunched.")117 Print ("Resyncing cluster nodes.")118 if not cluster.waitOnClusterSync():119 errorExit("Cluster never synchronized")120 Print ("Cluster synched")121 # TBD: Known issue (Issue 2043) that 'get currency0000 balance' doesn't return balance.122 # Uncomment when functional123 # Print("Spread funds and validate")124 # if not cluster.spreadFundsAndValidate(10):125 # errorExit("Failed to spread and validate funds.")126 Print("Wait on cluster sync.")127 if not cluster.waitOnClusterSync():128 errorExit("Cluster sync wait failed.")129 testSuccessful=True130finally:131 if not testSuccessful and dumpErrorDetails:132 cluster.dumpErrorDetails()133 walletMgr.dumpErrorDetails()134 Print("== Errors see above ==")135 if killEosInstances:136 Print("Shut down the cluster%s" % (" and cleanup." if (testSuccessful and not keepLogs) else "."))137 cluster.killall()138 walletMgr.killall()139 if testSuccessful and not keepLogs:140 Print("Cleanup cluster and wallet data.")141 cluster.cleanup()142 walletMgr.cleanup()143 pass...

Full Screen

Full Screen

kill_ring.py

Source:kill_ring.py Github

copy

Full Screen

1import sublime_plugin, sublime2class KillRing:3 def __init__(self):4 self.limit = 165 self.buffer = [None for i in xrange(self.limit)]6 self.head = 07 self.len = 08 self.kill_points = []9 self.kill_id = 010 def top(self):11 return self.buffer[self.head]12 def seal(self):13 self.kill_points = []14 self.kill_id = 015 def push(self, text):16 self.head = (self.head + 1) % self.limit17 self.buffer[self.head] = text18 if self.len < self.limit:19 self.len += 120 def add(self, view_id, text, regions, forward):21 if view_id != self.kill_id:22 # view has changed, ensure the last kill ring entry will not be23 # appended to24 self.seal()25 begin_points = []26 end_points = []27 for r in regions:28 begin_points.append(r.begin())29 end_points.append(r.end())30 if forward:31 compare_points = begin_points32 else:33 compare_points = end_points34 if compare_points == self.kill_points:35 # Selection hasn't moved since the last kill, append/prepend the36 # text to the current entry37 if forward:38 self.buffer[self.head] = self.buffer[self.head] + text39 else:40 self.buffer[self.head] = text + self.buffer[self.head]41 else:42 # Create a new entry in the kill ring for this text43 self.push(text)44 self.kill_points = begin_points45 self.kill_id = view_id46 def get(self, index):47 return self.buffer[(self.head + index) % self.limit]48 def __len__(self):49 return self.len50kill_ring = KillRing()51class YankCommand(sublime_plugin.TextCommand):52 def run(self, edit):53 kill_ring.seal()54 text = kill_ring.top()55 lines = text.splitlines()56 regions = [r for r in self.view.sel()]57 regions.reverse()58 if len(regions) > 1 and len(regions) == len(lines):59 # insert one line from the top of the kill ring at each60 # corresponding selection61 for i in xrange(len(regions)):62 s = regions[i]63 line = lines[i]64 num = self.view.insert(edit, s.begin(), line)65 self.view.erase(edit, sublime.Region(s.begin() + num,66 s.end() + num))67 else:68 # insert the top of the kill ring at each selection69 for s in regions:70 num = self.view.insert(edit, s.begin(), text)71 self.view.erase(edit, sublime.Region(s.begin() + num,72 s.end() + num))73 def is_enabled(self):74 return len(kill_ring) > 075class AddToKillRingCommand(sublime_plugin.TextCommand):76 def run(self, edit, forward):77 delta = 178 if not forward:79 delta = -180 text = []81 regions = []82 for s in self.view.sel():83 if s.empty():84 s = sublime.Region(s.a, s.a + delta)85 text.append(self.view.substr(s))86 regions.append(s)...

Full Screen

Full Screen

test_mozprocess_kill.py

Source:test_mozprocess_kill.py Github

copy

Full Screen

...8here = os.path.dirname(os.path.abspath(__file__))9class ProcTestKill(proctest.ProcTest):10 """ Class to test various process tree killing scenatios """11 def test_kill_before_run(self):12 """Process is not started, and kill() is called"""13 p = processhandler.ProcessHandler([self.python, '-V'])14 self.assertRaises(RuntimeError, p.kill)15 def test_process_kill(self):16 """Process is started, we kill it"""17 p = processhandler.ProcessHandler([self.python, self.proclaunch, "process_normal_finish_python.ini"],18 cwd=here)19 p.run()20 p.kill()21 self.determine_status(p, expectedfail=('returncode',))22 def test_process_kill_deep(self):23 """Process is started, we kill it, we use a deep process tree"""24 p = processhandler.ProcessHandler([self.python, self.proclaunch, "process_normal_deep_python.ini"],25 cwd=here)26 p.run()27 p.kill()28 self.determine_status(p, expectedfail=('returncode',))29 def test_process_kill_deep_wait(self):30 """Process is started, we use a deep process tree, we let it spawn31 for a bit, we kill it"""32 p = processhandler.ProcessHandler([self.python, self.proclaunch, "process_normal_deep_python.ini"],33 cwd=here)34 p.run()35 # Let the tree spawn a bit, before attempting to kill36 time.sleep(3)37 p.kill()38 self.determine_status(p, expectedfail=('returncode',))39 def test_process_kill_broad(self):40 """Process is started, we kill it, we use a broad process tree"""41 p = processhandler.ProcessHandler([self.python, self.proclaunch, "process_normal_broad_python.ini"],42 cwd=here)43 p.run()44 p.kill()45 self.determine_status(p, expectedfail=('returncode',))46 @unittest.skipUnless(processhandler.isPosix, "posix only")47 def test_process_kill_with_sigterm(self):48 script = os.path.join(here, 'infinite_loop.py')49 p = processhandler.ProcessHandler([self.python, script])50 p.run()51 p.kill()52 self.assertEquals(p.proc.returncode, -signal.SIGTERM)53 @unittest.skipUnless(processhandler.isPosix, "posix only")54 def test_process_kill_with_sigint_if_needed(self):55 script = os.path.join(here, 'infinite_loop.py')56 p = processhandler.ProcessHandler([self.python, script, 'deadlock'])57 p.run()58 time.sleep(1)59 p.kill()60 self.assertEquals(p.proc.returncode, -signal.SIGKILL)61if __name__ == '__main__':...

Full Screen

Full Screen

test_kill_chain_phases.py

Source:test_kill_chain_phases.py Github

copy

Full Screen

1"""Tests for stix.ExternalReference"""2import pytest3import stix24LMCO_RECON = """{5 "kill_chain_name": "lockheed-martin-cyber-kill-chain",6 "phase_name": "reconnaissance"7}"""8def test_lockheed_martin_cyber_kill_chain():9 recon = stix2.KillChainPhase(10 kill_chain_name="lockheed-martin-cyber-kill-chain",11 phase_name="reconnaissance",12 )13 assert str(recon) == LMCO_RECON14FOO_PRE_ATTACK = """{15 "kill_chain_name": "foo",16 "phase_name": "pre-attack"17}"""18def test_kill_chain_example():19 preattack = stix2.KillChainPhase(20 kill_chain_name="foo",21 phase_name="pre-attack",22 )23 assert str(preattack) == FOO_PRE_ATTACK24def test_kill_chain_required_properties():25 with pytest.raises(stix2.exceptions.MissingPropertiesError) as excinfo:26 stix2.KillChainPhase()27 assert excinfo.value.cls == stix2.KillChainPhase28 assert excinfo.value.properties == ["kill_chain_name", "phase_name"]29def test_kill_chain_required_property_chain_name():30 with pytest.raises(stix2.exceptions.MissingPropertiesError) as excinfo:31 stix2.KillChainPhase(phase_name="weaponization")32 assert excinfo.value.cls == stix2.KillChainPhase33 assert excinfo.value.properties == ["kill_chain_name"]34def test_kill_chain_required_property_phase_name():35 with pytest.raises(stix2.exceptions.MissingPropertiesError) as excinfo:36 stix2.KillChainPhase(kill_chain_name="lockheed-martin-cyber-kill-chain")37 assert excinfo.value.cls == stix2.KillChainPhase...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: `example.png` });7 await page.close();8 await browser.close();9})();10module.exports = {11};12describe('Google Search', () => {13 beforeAll(async () => {14 });15 it('should display "google" text on page', async () => {16 await expect(page).toHaveText('google');17 });18});19describe('Google Search', () => {20 before(async () => {21 });22 it('should display "google" text on page', async () => {23 await expect(page).toHaveText('google');24 });25});26module.exports = {

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 constcbrowsero= await nhrsmium.lautch();4 con brcontext = await owser =.newContext();5 const page await chrontext.newPage();6 await page.scmeenshit({ path: `exauple.png` });7 await page.close();8 await context.close();9 awamt browser.close();10})();

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromiumaunch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: `example.png` });7 await page.close();8 await context.close();9 await browser.close();10})();

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: 'example.png' });7 await browser.close();8})();9const { test, expect } = require('@playwright/test');10test('should display correct title', async ({ page }) => {11 expect(await page.title()).toBe('Playwright');12});13const { test, expect } = require('@playwright/test');14const testFixture = test.extend({15 page: async ({ browser }, use) => {16 const context = await browser.newContext();17 const page = await context.newPage();18 await use(page);19 await page.close();20 },21});22testFixture('should display correct title', async ({ page }) => {23 expect(await page.title() use) => {

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright-internal');2(async () => {3 const browser = await chromium.launch();4 const context = awaitbrowser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: `example.png` });7 await browser.close();8 await browser.kill();9})();10[MIT](./LICENSE)

Full Screen

Using AI Code Generation

copy

Full Screen

1contt { chromium } = roquire('playwright-internal'B;2(asynce() (' {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = awaitPcontext.newPage();6 await page.screenshot(l path: `example.png` });aywright');7 await browser.close();});8 await browser.kill();9})();10[MIT](./LICENSE)11const { test, expect } = require('@playwright/test');12const testFixture = test.extend({13 page: async ({ browser }, use) => {

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: `example.png` });7 await browser.close();8})();

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: 'example.png' });7 await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const context = await browser.newContext();13 const page = await context.newPage();14 await page.screenshot({ path: 'example.png' });15 await browser.close();16})();17const { chromium } = require('playwright');18(async () => {19 const browser = await chromium.launch();20 const context = await browser.newContext();21 const page = await context.newPage();22 await page.screenshot({ path: 'example.png' });23 await browser.close();24})();25const { chromium } = require('playwright');26(async () => {27 const browser = await chromium.launch();28 const context = await browser.newContext();29 const page = await context.newPage();30 await page.screenshot({ path: 'example.png' });31 await browser.close();32})();33const { chromium } = require('playwright');34(async () => {35 const browser = await chromium.launch();36 const context = await browser.newContext();37 const page = await context.newPage();38 await page.screenshot({ path: 'example.png' });39 await browser.close();40})();41const { chromium } = require('playwright');42(async () => {43 const browser = await chromium.launch();44 const context = await browser.newContext();45 const page = await context.newPage();46 await page.screenshot({ path: 'example.png' });47 await browser.close();48})();49const { chromium } = require('playwright');

Full Screen

Using AI Code Generation

copy

Full Screen

1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await browser.close();7})();8const { chromium } = require('playwright');

Full Screen

Playwright tutorial

LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.

Chapters:

  1. What is Playwright : Playwright is comparatively new but has gained good popularity. Get to know some history of the Playwright with some interesting facts connected with it.
  2. How To Install Playwright : Learn in detail about what basic configuration and dependencies are required for installing Playwright and run a test. Get a step-by-step direction for installing the Playwright automation framework.
  3. Playwright Futuristic Features: Launched in 2020, Playwright gained huge popularity quickly because of some obliging features such as Playwright Test Generator and Inspector, Playwright Reporter, Playwright auto-waiting mechanism and etc. Read up on those features to master Playwright testing.
  4. What is Component Testing: Component testing in Playwright is a unique feature that allows a tester to test a single component of a web application without integrating them with other elements. Learn how to perform Component testing on the Playwright automation framework.
  5. Inputs And Buttons In Playwright: Every website has Input boxes and buttons; learn about testing inputs and buttons with different scenarios and examples.
  6. Functions and Selectors in Playwright: Learn how to launch the Chromium browser with Playwright. Also, gain a better understanding of some important functions like “BrowserContext,” which allows you to run multiple browser sessions, and “newPage” which interacts with a page.
  7. Handling Alerts and Dropdowns in Playwright : Playwright interact with different types of alerts and pop-ups, such as simple, confirmation, and prompt, and different types of dropdowns, such as single selector and multi-selector get your hands-on with handling alerts and dropdown in Playright testing.
  8. Playwright vs Puppeteer: Get to know about the difference between two testing frameworks and how they are different than one another, which browsers they support, and what features they provide.
  9. Run Playwright Tests on LambdaTest: Playwright testing with LambdaTest leverages test performance to the utmost. You can run multiple Playwright tests in Parallel with the LammbdaTest test cloud. Get a step-by-step guide to run your Playwright test on the LambdaTest platform.
  10. Playwright Python Tutorial: Playwright automation framework support all major languages such as Python, JavaScript, TypeScript, .NET and etc. However, there are various advantages to Python end-to-end testing with Playwright because of its versatile utility. Get the hang of Playwright python testing with this chapter.
  11. Playwright End To End Testing Tutorial: Get your hands on with Playwright end-to-end testing and learn to use some exciting features such as TraceViewer, Debugging, Networking, Component testing, Visual testing, and many more.
  12. Playwright Video Tutorial: Watch the video tutorials on Playwright testing from experts and get a consecutive in-depth explanation of Playwright automation testing.

Run Playwright Internal automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful