This adds Aaron's copy of V8 to src/3rdparty/v8 (as a
git submodule), and builds it as a "normal" Qt library
(without any dependencies on Qt itself).
The library can be added to a project with
QT += v8-private
V8 API headers are available as private includes, e.g.
#include <private/v8.h>
The API is private because we're exposing a third-party
API directly, and we don't want to (and cannot) make
source or binary compatibility guarantees for it.
Since we want the V8 public API headers to be private
headers in Qt, syncqt and sync.profile were extended to
understand a new configuration option, the
@allmoduleheadersprivate array, that tells syncqt whether
all the library headers should be treated as private even
though they don't follow the _p.h Qt convention.
The V8 project files, patches and autotests are copied
from the QtDeclarative repository. The next step after
this commit is to remove QtDeclarative's copy of V8 and
link with QtV8 instead.
Task-number: QTBUG-20963
Change-Id: Ib8820362cdbc8fa662a5e97db841656cf38d1b62
Reviewed-on: http://codereview.qt.nokia.com/3092
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Tests that are expected to return a non-zero exitcode should be marked
with "CONFIG+=insignificant_test" in their .pro file.
Change-Id: Iebb9c7129c08833ed517115f569086d6fcfe827b
Reviewed-on: http://codereview.qt.nokia.com/3689
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The constructor asserts if either parameter is null, so having defaults
seems to be pointless.
Change-Id: I8cec52e17e5f94458e8d8323855eaed6433686e7
Reviewed-on: http://codereview.qt.nokia.com/3644
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
QTEST_EMBED is not defined in Qt itself, nor is it defined by any of the
CI builds for Qt's supported platforms.
Change-Id: I73a3979630130fc8f1ef99dcbc17b4d1875ba246
Reviewed-on: http://codereview.qt.nokia.com/3641
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The charting functionality was removed in Qt 4.6, though the
command-line option was retained to print a warning that the feature had
been removed. Sufficient time has passed for this to be removed
completely.
Change-Id: I2adf2818c6a6e57e765104de97b28dbf6914e3fa
Reviewed-on: http://codereview.qt.nokia.com/3638
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The commit changes printf's that output error and warning messages to
send their text to the stderr stream. Non-error output, such as that
produced by passing the -help option to a test, still goes to stdout.
Change-Id: Iea4d62451e3e7e84c654859cb09ea7e717511d13
Reviewed-on: http://codereview.qt.nokia.com/3636
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
QTestLogger was counting various test outputs, but was only using three
of the counters internally and the rest were not used at all. This
commit removes the unused counters and all of the getter methods.
Change-Id: I447183dcaf3e6cc335bbf58656e25b1d32ba810a
Reviewed-on: http://codereview.qt.nokia.com/3437
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The setLogFormat() and logFormat() methods are never called -- the log
format is set in the call to the constructor and it would not make sense
to change it during a test run.
Change-Id: I59256f17f28bbc72d86cabfb2a961d2faf0e2d52
Reviewed-on: http://codereview.qt.nokia.com/3435
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
QTestLog is an entirely static class and its constructor and destructor
are declared private to prevent accidental construction of an instance
of the class. Therefore, the constructor and destructor do not need to
be defined.
Change-Id: I860f1344c5032091f5c641a20e1656bb52a6f07e
Reviewed-on: http://codereview.qt.nokia.com/3466
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
For both QTestLog::addFail() and QTestLog::addIgnoreMessage(), passing
a null message does not make sense and is therefore an error that
should be brought to the developer's attention.
Change-Id: Ib09ad90b70d74f7432c08708db8a70dee008cce4
Reviewed-on: http://codereview.qt.nokia.com/3470
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The mode parameter is never used by the logging code, so there's little
value in passing it there.
Change-Id: Ibe2cbe5eaf457a7e3ffd3aea3a4be7c8278c91b6
Reviewed-on: http://codereview.qt.nokia.com/3547
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
This class is not very useful -- it just creates a text file that
records each occasion that an autotest enters a test function as a
stop-gap solution for the fact that the newer XML logger produces no
output if the autotest fails to terminate gracefully. Addressing
QTBUG-20615 will provide a better solution by allowing the user to get a
partial plain text test log in those circumstances.
Change-Id: I179bb98dbd696d0734cd3f12046e5c567def30cc
Reviewed-on: http://codereview.qt.nokia.com/3390
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
It doesn't make sense to change the logger associated with a streamer in
the middle of a test run, so only allow the logger to be set when
constructing a streamer.
Change-Id: I02661de2b6071c74d10bc854cbe436581978d2d9
Reviewed-on: http://codereview.qt.nokia.com/3622
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Previously QAbstractTestLogger used a global variable for the file
pointer to which it was writing test output. This effectively meant
that only one instance of this or its derived classes could exist at any
time.
This commit moves the file pointer inside the class, so that multiple
loggers can exist at the same time. This means that the outputString()
method can no longer be static, which in turn means that several
functions used by QPlainTestLogger need to move from the QTest namespace
into the class, and also that QTestBasicStreamer must hold a non-const
pointer to its associated logger instead of a const pointer.
Task-number: QTBUG-20615
Change-Id: If941f1f9399cf20fb93e3e87f3390bceeca1cbfc
Reviewed-on: http://codereview.qt.nokia.com/3576
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
This feature was undocumented and only worked if a secret environment
variable was set, the test output was going to a real console, and plain
text test results were being generated. Including code in testlib for
fancy presentation of test results conflicts with testlib's stated goal
of being a lightweight framework where every feature contributes to
finding bugs, so this feature is being removed. If fancy presentation
of test output is required, it should be achieved by post-processing the
test output outside of the test framework.
Change-Id: I872165c4d2c3d2498c3aa039070ecf319e237ca1
Reviewed-on: http://codereview.qt.nokia.com/3432
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Pass the output file name from the QTestLog to the test logger when
commencing logging rather than having the logger call back into the
QTestLog.
Change-Id: Id484635f9fcfca08a66c92f3442887e9473b6f9b
Reviewed-on: http://codereview.qt.nokia.com/3454
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The method is called when the text of a label is changed and setAccessibleName has
not been called on the label, as the text of the label acts as the accessible name
of the label.
Merge-request: 1301
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
(cherry picked from commit a1f2b68e97477440cf508e6d497eb5f5d9971971)
Change-Id: Ic10f75e72ac3faa84777c444177b287b720a1dc2
Reviewed-on: http://codereview.qt.nokia.com/3040
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Q_GLOBAL_STATIC may be destroyed and we still send
ObjectDestroyed notifications.
This only shows now that we actually send the Destroyed notifications.
Change-Id: I3057556cdc897dab6adfc3274e4abc68473ffa7f
Reviewed-on: http://codereview.qt.nokia.com/3657
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
Easily reproducible by testing Chinese with the threaded
renderer. The multi engine would then have a list of engines
with a single item, but the glyphs might belong to e.g. engine
11. In that case, engine() would assert when it couldn't find
the engine if the layout had been done in a different thread.
We force the loading of the required engine if it's not already
loaded.
Note that this fix does not work on Mac, as loadEngine() will
crash there, so the layout has to be done in the same thread
as the rendering, since loading the engines is part of the
layout process.
Task-number: QTBUG-21112
Change-Id: I71cc396664e3b95fbb4815a90873457e1f89528e
Reviewed-on: http://codereview.qt.nokia.com/3631
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
use qBinaryFind() with a case-sensitive string comparison
instead of QHash. This also improves startup time and reduces
runtime memory consumption.
Change-Id: I5c5f7cae5e42acb3fa727acac19fe39c53310329
Reviewed-on: http://codereview.qt.nokia.com/3673
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
replacing the if-else trees with the switch statement
gives a 2x-3x parsing performance boost on parsing these
expressions.
Change-Id: Ia0e76ae4e1ab6930dbecf1d4a5232a4cc7198654
Reviewed-on: http://codereview.qt.nokia.com/3672
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Instead of using the file output functions inherited from
QAbstractTestLogger, QTestLogger relied on QTestBasicStreamer having a
copy of these functions. This commit removes the copied functions from
QTestBasicStreamer and makes it and QTestLogger use the original
functions from QAbstractTestLogger.
Change-Id: Icac1ae9d85cd39efd4c67c79104404dd56766b17
Reviewed-on: http://codereview.qt.nokia.com/3565
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Could use || but it's only used for an if test anyway.
Change-Id: I97fe251ab4f27fb75981af12316aaf5da053d47a
Reviewed-on: http://codereview.qt.nokia.com/3431
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Since the trailing space is included in the QScriptLine, it may affect
the positions of preceding script items when the text is RTL. The best
solution for this would be to disregard the trailing space in the layout
process, or somehow make it have an advance of 0 so it doesn't affect
the layout. However, to minimize the impact of the change, and to be
consistent with previous work arounds such as
bf992df6434fc37715f728ca09601c5567dd83c9, we simply include the trailing
(visually leading) space in the justification pass for now.
Task-number: QTBUG-20920
Reviewed-by: Lars
(cherry picked from commit 1a8a36eb6b6df9e2550b5eaa4606f2d411fd4294)
Change-Id: I94972ebaea2e1bdb09950523c43844351b304abe
Reviewed-on: http://codereview.qt.nokia.com/3462
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
This test sometimes passes and sometimes fails.
Task-number: QTBUG-21098
Change-Id: Ic56e93d12a7b3fa2e9c135e25610bf1119fa636e
Reviewed-on: http://codereview.qt.nokia.com/3548
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
QTBUG-21102 is currently blocking integration of several commits.
Marking the test as unstable until the bug has been fixed.
Change-Id: I9b630767fd1aa4369564f5e90c63e850808385e1
Reviewed-on: http://codereview.qt.nokia.com/3584
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
QApplication::keyboardModifiers returns the keyboard modifiers
from the last keypress event in this process, as documented. However
there are use cases for querying keyboard modifiers as they currently are,
see QTBUG-11243.
Merge-request: 585
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
(cherry picked from commit 3b5354386225974ea6db78c12f32cb81e2d50104)
Change-Id: I9b4e54ac79fc225e3ed8d2bcaba953a6eb59f0d2
Reviewed-on: http://codereview.qt.nokia.com/3581
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>