summaryrefslogtreecommitdiff
path: root/tests/auto/other
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-11-26 15:09:58 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-11-28 19:52:16 +0000
commit00c869a5c605d7f82146c5a1d3f4f80ca706ca16 (patch)
treec6c8ff8afee916b69e0798694e323ee038cca3aa /tests/auto/other
parent9feb20e58128ae7e8d208847ce989b65cdfcf5bc (diff)
downloadqtbase-00c869a5c605d7f82146c5a1d3f4f80ca706ca16.tar.gz
Fix lancelot PaintCommands for reuse
Some structures needed to be cleaned for the reuse to be safe. Reusing it cuts down on the overhead in lancebench. Also uniqueness of block names are now enforced, and the common pattern of "end_block blockName" could now be parsed if not always commented out by begin_block handling. Change-Id: I0daf6445292383aaab9392550d0842e0a654ad27 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Diffstat (limited to 'tests/auto/other')
-rw-r--r--tests/auto/other/lancelot/paintcommands.cpp15
-rw-r--r--tests/auto/other/lancelot/scripts/filltest.qps26
-rw-r--r--tests/auto/other/lancelot/scripts/perspectives2.qps14
3 files changed, 32 insertions, 23 deletions
diff --git a/tests/auto/other/lancelot/paintcommands.cpp b/tests/auto/other/lancelot/paintcommands.cpp
index 215a4c2a29..7430c93a8e 100644
--- a/tests/auto/other/lancelot/paintcommands.cpp
+++ b/tests/auto/other/lancelot/paintcommands.cpp
@@ -230,9 +230,9 @@ void PaintCommands::staticInit()
"begin_block <blockName>",
"begin_block blockName");
DECL_PAINTCOMMAND("end_block", command_end_block,
- "^end_block$",
- "end_block",
- "end_block");
+ "^end_block\\s*(\\w*)$",
+ "end_block [blockName]",
+ "end_block blockName");
DECL_PAINTCOMMAND("repeat_block", command_repeat_block,
"^repeat_block\\s+(\\w*)$",
"repeat_block <blockName>",
@@ -744,6 +744,13 @@ void PaintCommands::runCommands()
if (height <= 0)
height = 800;
+ m_pathMap.clear();
+ m_imageMap.clear();
+ m_pixmapMap.clear();
+ m_regionMap.clear();
+ m_gradientStops.clear();
+ m_blockMap.clear();
+
// paint background
if (m_checkers_background) {
QPixmap pm(20, 20);
@@ -901,6 +908,8 @@ void PaintCommands::command_begin_block(QRegularExpressionMatch re)
const QString &blockName = re.captured(1);
if (m_verboseMode)
printf(" -(lance) begin_block (%s)\n", qPrintable(blockName));
+ if (m_blockMap.contains(blockName))
+ qFatal("Two blocks named (%s)", qPrintable(blockName));
m_commands[m_currentCommandIndex] = QLatin1String("# begin block (") + blockName + QLatin1Char(')');
QStringList newBlock;
diff --git a/tests/auto/other/lancelot/scripts/filltest.qps b/tests/auto/other/lancelot/scripts/filltest.qps
index 2eeba2ecf6..112ffc85be 100644
--- a/tests/auto/other/lancelot/scripts/filltest.qps
+++ b/tests/auto/other/lancelot/scripts/filltest.qps
@@ -133,7 +133,7 @@ setPen nopen
translate 50 0
-begin_block rects
+begin_block rects2
drawPath rect
drawRect 0 20 10 10
drawImage img 0 40
@@ -154,59 +154,59 @@ translate 10 20
rotate 90
drawRect 0 0 10 10
restore
-end_block rects
+end_block rects2
setPen red
drawText -5 -10 "0.0"
setPen nopen
translate 40 0.1
-repeat_block rects
+repeat_block rects2
setPen red
drawText -5 -10 "0.1"
setPen nopen
translate 40 0.1
-repeat_block rects
+repeat_block rects2
setPen red
drawText -5 -10 "0.2"
setPen nopen
translate 40 0.1
-repeat_block rects
+repeat_block rects2
setPen red
drawText -5 -10 "0.3"
setPen nopen
translate 40 0.1
-repeat_block rects
+repeat_block rects2
setPen red
drawText -5 -10 "0.4"
setPen nopen
translate 40 0.1
-repeat_block rects
+repeat_block rects2
setPen red
drawText -5 -10 "0.5"
setPen nopen
translate 40 0.1
-repeat_block rects
+repeat_block rects2
setPen red
drawText -5 -10 "0.6"
setPen nopen
translate 40 0.1
-repeat_block rects
+repeat_block rects2
setPen red
drawText -5 -10 "0.7"
setPen nopen
translate 40 0.1
-repeat_block rects
+repeat_block rects2
setPen red
drawText -5 -10 "0.8"
setPen nopen
translate 40 0.1
-repeat_block rects
+repeat_block rects2
setPen red
drawText -5 -10 "0.9"
setPen nopen
translate 40 0.1
-repeat_block rects
+repeat_block rects2
setPen red
drawText -5 -10 "1.0"
setPen nopen
@@ -410,4 +410,4 @@ drawText 0 0 "outline/fill consistency"
setPen red
setBrush green
translate 80 -30
-drawPolygon [13.6965 -99.1837 -71.4767 13.823 32.4596 -33.1847] \ No newline at end of file
+drawPolygon [13.6965 -99.1837 -71.4767 13.823 32.4596 -33.1847]
diff --git a/tests/auto/other/lancelot/scripts/perspectives2.qps b/tests/auto/other/lancelot/scripts/perspectives2.qps
index 2f6d1d653c..6762e21af4 100644
--- a/tests/auto/other/lancelot/scripts/perspectives2.qps
+++ b/tests/auto/other/lancelot/scripts/perspectives2.qps
@@ -8,7 +8,7 @@ image_convertToFormat zebra_png zebra ARGB32_Premultiplied
translate 75 100
# standard draw
-begin_block row
+begin_block row1
drawImage zebra -50 -50
translate 90 0
@@ -136,12 +136,12 @@ save
rotate_y 180
drawImage zebra -50 -50
restore
-end_block
+end_block row1
resetMatrix
translate 75 280
setRenderHint SmoothPixmapTransform
-repeat_block row
+repeat_block row1
resetMatrix
setPen black
@@ -162,7 +162,7 @@ setRenderHint SmoothPixmapTransform false
translate 75 100
# standard draw
-begin_block row
+begin_block row2
drawImage dome -50 -50
translate 90 0
@@ -290,13 +290,13 @@ save
rotate_y 180
drawImage dome -50 -50
restore
-end_block
+end_block row2
resetMatrix
translate 0 400
translate 75 280
setRenderHint SmoothPixmapTransform
-repeat_block row
+repeat_block row2
resetMatrix
setPen black
@@ -306,4 +306,4 @@ drawText 0 0 "Fast Pixmap Transform"
resetMatrix
translate 0 400
translate 300 210
-drawText 0 0 "Smooth Pixmap Transform" \ No newline at end of file
+drawText 0 0 "Smooth Pixmap Transform"