New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RPC-Tests] add simple way to run rpc test over QT clients #7068

Merged
merged 1 commit into from Dec 14, 2015

Conversation

Projects
None yet
6 participants
@jonasschnelli
Member

jonasschnelli commented Nov 20, 2015

Use env variable QT=1.
Example: QT=1 ./qa/rpc-tests/wallet.py --srcdir=src/

The RPC test will be executed over GUI clients.
It pretty cool to visually watch the RPC test slowly gets executed.
Much slower then bitcoind; aims to help testing and improving UI situations.

@paveljanik

View changes

Show outdated Hide outdated qa/rpc-tests/test_framework/util.py
@MarcoFalke

View changes

Show outdated Hide outdated qa/rpc-tests/test_framework/test_framework.py
@MarcoFalke

View changes

Show outdated Hide outdated qa/rpc-tests/test_framework/util.py
@gmaxwell

This comment has been minimized.

Show comment
Hide comment
@gmaxwell

gmaxwell Nov 22, 2015

Member

utACK. Any idea why it's slower?

Member

gmaxwell commented Nov 22, 2015

utACK. Any idea why it's slower?

@jonasschnelli

This comment has been minimized.

Show comment
Hide comment
@jonasschnelli

jonasschnelli Nov 24, 2015

Member

@gmaxwell: I haven't analyzed why they are slower, but i assume it's because of the whole GUI/QT overhead.

Member

jonasschnelli commented Nov 24, 2015

@gmaxwell: I haven't analyzed why they are slower, but i assume it's because of the whole GUI/QT overhead.

@jonasschnelli

This comment has been minimized.

Show comment
Hide comment
@jonasschnelli

jonasschnelli Nov 24, 2015

Member

Maybe I should give some directions where this could go to:
QT has easy functions to create a bitmap (example: PNG File) of a window. If there would be a script that runs through all UI situations and create a bunch of screenshots that could help in testing various platforms and all UI change requests (kick a script that builds a html page with screenshots, scroll through them, verify).
Testing multiplatform UI is complicated and time robbing.
I once used a similar system that could also compare screenshots (% divergence) and where capable of detect unwished UI changes.

Member

jonasschnelli commented Nov 24, 2015

Maybe I should give some directions where this could go to:
QT has easy functions to create a bitmap (example: PNG File) of a window. If there would be a script that runs through all UI situations and create a bunch of screenshots that could help in testing various platforms and all UI change requests (kick a script that builds a html page with screenshots, scroll through them, verify).
Testing multiplatform UI is complicated and time robbing.
I once used a similar system that could also compare screenshots (% divergence) and where capable of detect unwished UI changes.

@laanwj

This comment has been minimized.

Show comment
Hide comment
@laanwj

laanwj Nov 25, 2015

Member

utACK. Any idea why it's slower?

With e.g. wallet tests with lots of transactions it's bound to be slower because the UI is doing more in that case, it keeps and maintains its own table of transactions to to do things like sort, as well as draw the screen when core's locks are contended.

Member

laanwj commented Nov 25, 2015

utACK. Any idea why it's slower?

With e.g. wallet tests with lots of transactions it's bound to be slower because the UI is doing more in that case, it keeps and maintains its own table of transactions to to do things like sort, as well as draw the screen when core's locks are contended.

@MarcoFalke

This comment has been minimized.

Show comment
Hide comment
@MarcoFalke

MarcoFalke Nov 25, 2015

Member

utACK ffe8fa6

Member

MarcoFalke commented Nov 25, 2015

utACK ffe8fa6

@laanwj

This comment has been minimized.

Show comment
Hide comment
@laanwj

laanwj Dec 3, 2015

Member

Needs rebase

Member

laanwj commented Dec 3, 2015

Needs rebase

@jonasschnelli

This comment has been minimized.

Show comment
Hide comment
@jonasschnelli

jonasschnelli Dec 14, 2015

Member

Rebased and reduced. There are only two changes now:

  1. Pass -server arg always
  2. Add src/qt to the PATH variable

Tests over QT clients can be run like BITCOIND=bitcoin-qt ./qa/rpc-tests/wallet.py --srcdir=src/.

Member

jonasschnelli commented Dec 14, 2015

Rebased and reduced. There are only two changes now:

  1. Pass -server arg always
  2. Add src/qt to the PATH variable

Tests over QT clients can be run like BITCOIND=bitcoin-qt ./qa/rpc-tests/wallet.py --srcdir=src/.

@laanwj

This comment has been minimized.

Show comment
Hide comment
@laanwj

laanwj Dec 14, 2015

Member

Awesome, utACK

Member

laanwj commented Dec 14, 2015

Awesome, utACK

@laanwj laanwj merged commit 979698c into bitcoin:master Dec 14, 2015

1 check was pending

continuous-integration/travis-ci/pr The Travis CI build is in progress
Details

laanwj added a commit that referenced this pull request Dec 14, 2015

Merge pull request #7068
979698c [RPC-Tests] add option to run rpc test over QT clients (Jonas Schnelli)
@MarcoFalke

This comment has been minimized.

Show comment
Hide comment
@MarcoFalke

MarcoFalke Dec 14, 2015

Member

Would be nice to have ./qa/pull-tester/rpc-tests.py support this as well so one can run all test with the gui and check if it passes.

Member

MarcoFalke commented Dec 14, 2015

Would be nice to have ./qa/pull-tester/rpc-tests.py support this as well so one can run all test with the gui and check if it passes.

@laanwj

This comment has been minimized.

Show comment
Hide comment
@laanwj

laanwj Dec 14, 2015

Member

Doesn't this simply work?

BITCOIND=bitcoin-qt ./qa/pull-tester/rpc-tests.py
Member

laanwj commented Dec 14, 2015

Doesn't this simply work?

BITCOIND=bitcoin-qt ./qa/pull-tester/rpc-tests.py
@MarcoFalke

This comment has been minimized.

Show comment
Hide comment
@MarcoFalke

MarcoFalke Dec 14, 2015

Member

Doesn't this simply work?

Fixed by #7209

Member

MarcoFalke commented Dec 14, 2015

Doesn't this simply work?

Fixed by #7209

luke-jr added a commit to luke-jr/bitcoin that referenced this pull request Dec 28, 2015

luke-jr added a commit to luke-jr/bitcoin that referenced this pull request Dec 28, 2015

luke-jr added a commit to luke-jr/bitcoin that referenced this pull request Jan 13, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment