commit 515ca6935916df47255cc2cfb512e76109a6ed13
Author: Kornel Benko <[email protected]>
Date:   Tue Apr 25 17:34:56 2017 +0200

    keytests: Speed up some tests
    
    The idea is, that strings going to the lyx-command-field
    can be sent at full speed.
---
 development/autotests/bug-7673-in.txt      |    4 +--
 development/autotests/bug-7673b-in.txt     |    4 +--
 development/autotests/bug-8370-in.txt      |    4 +--
 development/autotests/bug-8540-in.txt      |    6 +---
 development/autotests/bug-8684-in.txt      |    8 +----
 development/autotests/findadv-01-in.txt    |    3 +-
 development/autotests/findadv-02-in.txt    |    4 +--
 development/autotests/findadv-04-in.txt    |    3 +-
 development/autotests/findadv-20-in.txt    |    6 +---
 development/autotests/findadv-logo-in.txt  |    3 +-
 development/autotests/findadv-re-04-in.txt |    3 +-
 development/autotests/keytest.py           |   36 +++++++++++++++++++++++++++-
 12 files changed, 51 insertions(+), 33 deletions(-)

diff --git a/development/autotests/bug-7673-in.txt 
b/development/autotests/bug-7673-in.txt
index dad630b..e5c6571 100644
--- a/development/autotests/bug-7673-in.txt
+++ b/development/autotests/bug-7673-in.txt
@@ -2,9 +2,7 @@
 #
 Lang en_US.utf8
 TestBegin ../bug-7673.lyx > lyx-log.txt 2>&1
-KK: \Ax
 # 'outline-in' was needed to reproduce the crash on some commits when bisecting
-KD: 1
-KK: command-sequence repeat 3 char-forward; outline-in; down; down\[Return]
+KK: \Axcommand-sequence repeat 3 char-forward; outline-in; down; down\[Return]
 TestEnd
 Assert ! pcregrep -M 'SIGSEGV' lyx-log.txt
diff --git a/development/autotests/bug-7673b-in.txt 
b/development/autotests/bug-7673b-in.txt
index 7dae139..05c1291 100644
--- a/development/autotests/bug-7673b-in.txt
+++ b/development/autotests/bug-7673b-in.txt
@@ -2,7 +2,5 @@
 #
 Lang en_US.utf8
 TestBegin > lyx-log.txt 2>&1
-KK: \Ax
-KD: 1
-KK: command-sequence buffer-new; layout Itemize; self-insert a; 
paragraph-break; depth-increment; self-insert b; up; char-delete-backward; 
down\[Return]
+KK: \Axcommand-sequence buffer-new; layout Itemize; self-insert a; 
paragraph-break; depth-increment; self-insert b; up; char-delete-backward; 
down\[Return]
 TestEnd
diff --git a/development/autotests/bug-8370-in.txt 
b/development/autotests/bug-8370-in.txt
index 78e554a..808d27d 100644
--- a/development/autotests/bug-8370-in.txt
+++ b/development/autotests/bug-8370-in.txt
@@ -2,7 +2,5 @@
 #
 Lang en_US.utf8
 TestBegin ../bug-8370.lyx > lyx-log.txt 2>&1
-KK: \Ax
-KD: 1
-KK: command-sequence change-next; change-reject; change-next\[Return]
+KK: \Axcommand-sequence change-next; change-reject; change-next\[Return]
 TestEnd
diff --git a/development/autotests/bug-8540-in.txt 
b/development/autotests/bug-8540-in.txt
index f5c1a21..43cbbfe 100644
--- a/development/autotests/bug-8540-in.txt
+++ b/development/autotests/bug-8540-in.txt
@@ -3,9 +3,7 @@
 Lang en_US.utf8
 
 TestBegin > lyx-log.txt 2>&1
-KK: \Ax
-KK: lyxrc-apply \\spellchecker enchant\[Return]
-KK: \Ax
-KK: lyxrc-apply \\spellchecker enchant\[Return]
+KK: \Axlyxrc-apply \\spellchecker enchant\[Return]
+KK: \Axlyxrc-apply \\spellchecker enchant\[Return]
 TestEnd
 Assert ! pcregrep -M 'SIGSEGV' lyx-log.txt
diff --git a/development/autotests/bug-8684-in.txt 
b/development/autotests/bug-8684-in.txt
index c6b5224..5642192 100644
--- a/development/autotests/bug-8684-in.txt
+++ b/development/autotests/bug-8684-in.txt
@@ -1,12 +1,8 @@
 Lang en_US.utf8
 TestBegin ../bug-8684.lyx > lyx-log1.txt 2>&1
-KK: \Ax
-KD: 1
-KK: command-sequence change-next; change-reject; change-next\[Return]
+KK: \Axcommand-sequence change-next; change-reject; change-next\[Return]
 TestEnd
 
 TestBegin ../bug-8684.lyx > lyx-log2.txt 2>&1
-KK: \Ax
-KD: 1
-KK: command-sequence char-forward; change-next\[Return]
+KK: \Axcommand-sequence char-forward; change-next\[Return]
 TestEnd
diff --git a/development/autotests/findadv-01-in.txt 
b/development/autotests/findadv-01-in.txt
index 69f5b2d..90a010a 100644
--- a/development/autotests/findadv-01-in.txt
+++ b/development/autotests/findadv-01-in.txt
@@ -8,7 +8,6 @@ KK: \CF
 KK: a\[Tab]
 KK: aba\[Return]\[Return]\[Return]
 KK: \Cs
-KK: \Ax
-KK: buffer-export latex\[Return]
+KK: \Axbuffer-export latex\[Return]
 Lang C
 TestEnd grep "^abaabaa$" test.tex
diff --git a/development/autotests/findadv-02-in.txt 
b/development/autotests/findadv-02-in.txt
index 5ac3ebf..7fb840e 100644
--- a/development/autotests/findadv-02-in.txt
+++ b/development/autotests/findadv-02-in.txt
@@ -7,11 +7,9 @@ KK: x^(a) +\\frac 1+x^(a) \[Down]1-x^(a)  \C\[Home]
 KK: \CF
 KK: \Cmx^(a) \[Tab]
 KK: \Cmx_a 
-KD: 500
 KK: \[Return]\[Return]\[Return]
 KD: 60
 KK: \Cs
-KK: \Ax
-KK: buffer-export latex\[Return]
+KK: \Axbuffer-export latex\[Return]
 Lang C
 TestEnd grep '^\$x_{a}+\\frac{1+x_{a}}{1-x\^{(a)}}\$' test.tex
diff --git a/development/autotests/findadv-04-in.txt 
b/development/autotests/findadv-04-in.txt
index 0aa2b42..c294d97 100644
--- a/development/autotests/findadv-04-in.txt
+++ b/development/autotests/findadv-04-in.txt
@@ -12,7 +12,6 @@ KK: x^2\[Tab]
 KK: \Cm
 KK: x^2n\[Return]\[Return]
 KK: \Cs
-KK: \Ax
-KK: buffer-export latex\[Return]
+KK: \Axbuffer-export latex\[Return]
 Lang C
 TestEnd grep '^\$x\^{2n}\$$' test.tex
diff --git a/development/autotests/findadv-20-in.txt 
b/development/autotests/findadv-20-in.txt
index 8f0e00a..304985a 100644
--- a/development/autotests/findadv-20-in.txt
+++ b/development/autotests/findadv-20-in.txt
@@ -9,8 +9,7 @@ KK: \CF
 KK: a\[Tab]
 KK: \Cm\\frac 1\[Down]a\[Return]\[Return]\[Return]
 KK: \Cs
-KK: \Ax
-KK: buffer-export latex\[Return]
+KK: \Axbuffer-export latex\[Return]
 TestEnd
 Lang C
 Assert pcregrep -M '^\$\\frac\{1\}\{a\}\$ \$\\frac\{1\}\{a\}\$ a' test.tex
@@ -22,8 +21,7 @@ KK: \CF
 KK: a\[Tab]
 KK: \Cm\\frac 1\[Down]a\[Return]\[Return]\[Return]
 KK: \Cs
-KK: \Ax
-KK: buffer-export latex\[Return]
+KK: \Axbuffer-export latex\[Return]
 TestEnd
 Lang C
 Assert pcregrep -M '^\$\\frac\{1\}\{a\}\$ \$\\frac\{1\}\{a\}\$ \$a\$' test2.tex
diff --git a/development/autotests/findadv-logo-in.txt 
b/development/autotests/findadv-logo-in.txt
index 7b40eed..cb2889e 100644
--- a/development/autotests/findadv-logo-in.txt
+++ b/development/autotests/findadv-logo-in.txt
@@ -3,7 +3,8 @@
 
 Lang sk_SK.utf8
 TestBegin test.lyx -dbg find > lyx-log.txt 2>&1
-KK: This should be a LaTeX logo: \Axspecialchar-insert lyx\[Return]\[Return]
+KK: This should be a LaTeX logo: 
+KK: \Axspecialchar-insert lyx\[Return]\[Return]
 KK: for a WYSIWYG LaTeX editor.\C\[Home]
 KK: \Cs
 KK: \CF
diff --git a/development/autotests/findadv-re-04-in.txt 
b/development/autotests/findadv-re-04-in.txt
index 140cba9..88d6d80 100644
--- a/development/autotests/findadv-re-04-in.txt
+++ b/development/autotests/findadv-re-04-in.txt
@@ -7,7 +7,8 @@ KK: \Cs
 KK: \CF
 # Uncheck ignore format (depends on IT language)
 KK: \At\Ai\Ah
-KK: \Ce\Axregexp-mode\[Return].*\[Return]
+KK: \Ce
+KK: \Axregexp-mode\[Return].*\[Return]
 TestEnd
 Lang C
 Assert pcregrep -M 'Putting selection at .*idx: 0 par: 0 pos: 6\n with len: 5' 
lyx-log.txt
diff --git a/development/autotests/keytest.py b/development/autotests/keytest.py
index 9716684..d2e1a6e 100755
--- a/development/autotests/keytest.py
+++ b/development/autotests/keytest.py
@@ -204,7 +204,7 @@ def lyx_dead():
     status = lyx_status(lyx_pid)
     return (status == "dead") or (status == "zombie")
 
-def sendKeystring(keystr, LYX_PID):
+def sendKeystringLocal(keystr, LYX_PID):
 
     # print "sending keystring "+keystr+"\n"
 
@@ -243,8 +243,42 @@ def sendKeystring(keystr, LYX_PID):
         xvpar.extend(["-wait_idle", lyx_pid])
     xvpar.extend(["-window", lyx_window_name, "-delay", actual_delay, "-text", 
keystr])
     
+    print("Sending \"" + keystr + "\"\n")
     subprocess.call(xvpar, stdout = FNULL, stderr = FNULL)
 
+Axreg = re.compile(r'^(.*)\\Ax([^\\]+)(.*)$')
+returnreg = re.compile(r'\\\[Return\](.*)$')
+
+def sendKeystring(line, LYX_PID):
+    global key_delay
+    saved_delay = key_delay
+    while True:
+        m = Axreg.match(line)
+        if m:
+            prefix = m.group(1)
+            if prefix != "":
+                sendKeystringLocal(prefix, LYX_PID)
+            content = m.group(2)
+            rest = m.group(3);
+            m2 = returnreg.match(rest)
+            sendKeystringLocal('\Ax', LYX_PID)
+            time.sleep(0.1)
+            if m2:
+                line = m2.group(1)
+                key_delay = "1"
+                sendKeystringLocal(content + '\[Return]', LYX_PID)
+                key_delay = saved_delay
+            else:
+                if content != "":
+                    sendKeystringLocal(content, LYX_PID)
+                key_delay = saved_delay
+                return
+        else:
+            if line != "":
+                sendKeystringLocal(line, LYX_PID)
+            key_delay = saved_delay
+            return
+
 def system_retry(num_retry, cmd):
     i = 0
     rtn = intr_system(cmd)

Reply via email to