Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: Luke-Jr on April 12, 2013, 07:43:02 PM



Title: Please test (if you dare): next-test 2013-04-12
Post by: Luke-Jr on April 12, 2013, 07:43:02 PM
Superceded with next-test 2013-07-21 (https://bitcointalk.org/?topic=260749)

next-test is a branch of the master bitcoind & Bitcoin-Qt code with as many pull requests merged as possible, to aid in testing them. This branch can be used to test many pull requests in your daily Bitcoin use. The goal is to help pull requests get the testing they need to be merged into the main tree, so once you test a change, please comment in the relevant pull request (ideally with details).

Please note these might possibly corrupt your wallet. No warranty of any kind of provided. BACKUP YOUR WALLET

  • Windows: installer (http://luke.dashjr.org/programs/bitcoin/files/bitcoind/next/test/20130412/bitcoin-next-test-20130412-win32-setup.exe) ‖ zip (http://luke.dashjr.org/programs/bitcoin/files/bitcoind/next/test/20130412/bitcoin-next-test-20130412-win32.zip) (sigs (http://luke.dashjr.org/programs/bitcoin/files/bitcoind/next/test/20130412/SHA256SUMS.asc))
  • Source code: git (http://luke.dashjr.org/programs/bitcoin/w/bitcoind/luke-jr.git/shortlog/refs/tags/next-test_20130412) ‖ tar.gz (http://luke.dashjr.org/programs/bitcoin/w/bitcoind/luke-jr.git/snapshot/next-test_20130412.tar.gz) ‖ zip (http://luke.dashjr.org/programs/bitcoin/w/bitcoind/luke-jr.git/snapshot/next-test_20130412.zip)

Today's next-test includes the following pull requests (green are merged now; red are disputed):
  • Parse URIs with non-BTC amounts (https://github.com/bitcoin/bitcoin/pull/553)
  • -acceptnonstdtxn option to skip "non-standard transaction" checks (https://github.com/bitcoin/bitcoin/pull/559)
  • Support for Tonal Bitcoin units (ᵇTBC, ˢTBC, and TBC) (https://github.com/bitcoin/bitcoin/pull/929)
  • getblocktemplate: longpolling support (https://github.com/bitcoin/bitcoin/pull/1355)
  • JSON-RPC method: prioritisetransaction <txid> <priority delta> (https://github.com/bitcoin/bitcoin/pull/1583)
  • A set of build scripts on top of gitian and vagrant for automating gitian builds... (https://github.com/bitcoin/bitcoin/pull/1597)
  • Change window titles to "Bitcoin-Qt - <purpose>" / misc related renames (https://github.com/bitcoin/bitcoin/pull/1620)
  • Specify fees explicitly via JSON-RPC (https://github.com/bitcoin/bitcoin/pull/1645)
  • CreateNewBlock: Child-pays-for-parent / Add transaction fee later (https://github.com/bitcoin/bitcoin/pull/1647)
  • Add small-data OP_DROP transactions as standard transactions. (https://github.com/bitcoin/bitcoin/pull/1809)
  • FreeBSD and OpenBSD build fixes (https://github.com/bitcoin/bitcoin/pull/1815)
  • Support for specific BIP 22 rejection reasons and BIP 23 block proposal (https://github.com/bitcoin/bitcoin/pull/1816)
  • Base58 en-/de-coding (https://github.com/bitcoin/bitcoin/pull/1828)
  • Fixes for when listtransactions encounters non-standard outputs (https://github.com/bitcoin/bitcoin/pull/1850)
  • let user select wallet file with -wallet=foo.dat (https://github.com/bitcoin/bitcoin/pull/1889)
  • Add wget(1)-friendly crypted key dump via GET /wallet-ckeys.json (https://github.com/bitcoin/bitcoin/pull/1982)
  • RPC: Avoid cleartext passwords by default (https://github.com/bitcoin/bitcoin/pull/1986)
  • Restore FIRST_CLASS_MESSAGING (https://github.com/bitcoin/bitcoin/pull/2014)
  • Addition of Import Private Key Menu (https://github.com/bitcoin/bitcoin/pull/2050)
  • Use Hal's optimized secp256k1 verifier (https://github.com/bitcoin/bitcoin/pull/2061)
  • P2P: do not return addresses older than 7 days in "addr" messages (https://github.com/bitcoin/bitcoin/pull/2076)
  • listreceivedbyaddress now provides tx ids (issue #1149) (https://github.com/bitcoin/bitcoin/pull/2104)
  • Watch-Only Addresses: Separating Transaction Signing From Transaction Processing (https://github.com/bitcoin/bitcoin/pull/2121)
  • break after ProcessMessage() to give other peers a chance. (https://github.com/bitcoin/bitcoin/pull/2125)
  • Update for the Windows Installer (https://github.com/bitcoin/bitcoin/pull/2128)
  • wallet encapsulation (https://github.com/bitcoin/bitcoin/pull/2130)
  • Only create signatures with even S, and verification mode to check. (https://github.com/bitcoin/bitcoin/pull/2131)
  • Added comments to sync.h to make it easier to understand the macros (https://github.com/bitcoin/bitcoin/pull/2174)
  • Added configure scripts. (https://github.com/bitcoin/bitcoin/pull/2195)
  • Wallet registration locks in main.cpp + UnregisterAllWallet() function (https://github.com/bitcoin/bitcoin/pull/2209)
  • Support for building against system LevelDB (https://github.com/bitcoin/bitcoin/pull/2241)
  • Optimize OP_CHECKMULTISIG signature hashing (https://github.com/bitcoin/bitcoin/pull/2275)
  • Filter listaddressgroupings (https://github.com/bitcoin/bitcoin/pull/2291)
  • remove duplicate bitdb.Open() code from init (https://github.com/bitcoin/bitcoin/pull/2333)
  • Discourage fee sniping with nLockTime (https://github.com/bitcoin/bitcoin/pull/2340)
  • Fix off-by-one errors in the interpretation of IsFinal() (https://github.com/bitcoin/bitcoin/pull/2342)
  • Yet another Coin Control Release (https://github.com/bitcoin/bitcoin/pull/2343)
  • Accept negative -par values to leave N CPUs free. (https://github.com/bitcoin/bitcoin/pull/2349)
  • Block uneconomic UTXO creation (https://github.com/bitcoin/bitcoin/pull/2351)
  • Added -txnotify to call a script when a transaction is received (https://github.com/bitcoin/bitcoin/pull/2364)
  • Allow createrawtransaction to accept duplicate addresses (https://github.com/bitcoin/bitcoin/pull/2366)
  • Add user interface to set dust limit and filtered addresses (https://github.com/bitcoin/bitcoin/pull/2383)
  • Fix LevelDB removing /dev/null at build time (https://github.com/bitcoin/bitcoin/pull/2406)
  • Added CWalletManager class to support loading of multiple wallets. (https://github.com/bitcoin/bitcoin/pull/2407)
  • Make explicitly requested salvage operations keep going when there is an error. (https://github.com/bitcoin/bitcoin/pull/2410)
  • Network activity toggle (https://github.com/bitcoin/bitcoin/pull/2412)
  • update dependency-libs for Gitian builds (https://github.com/bitcoin/bitcoin/pull/2414)
  • 0mq - Zero MQ Support. (https://github.com/bitcoin/bitcoin/pull/2415)
  • Use a uint256 for bnChainWork (https://github.com/bitcoin/bitcoin/pull/2418)
  • Adding blockhash parameter to getrawtransaction - Issue #2077 (https://github.com/bitcoin/bitcoin/pull/2421)
  • Bitcoin-Qt: full Qt5 support (https://github.com/bitcoin/bitcoin/pull/2457)
  • Bitcoin-Qt: remove " - " on empty title in BitcoinGUI::message() (https://github.com/bitcoin/bitcoin/pull/2492)
  • Add -lboost_chrono to both the qt .pro file and makefile.unix (https://github.com/bitcoin/bitcoin/pull/2493)
  • new splash screen (https://github.com/bitcoin/bitcoin/pull/2495)
  • rework ClientModel::getBlockSource() + BitcoinGUI::setNumBlocks() (https://github.com/bitcoin/bitcoin/pull/2501)
  • qt: don't show rpcconnect command line option in help (https://github.com/bitcoin/bitcoin/pull/2513)


Title: Re: Please test (if you dare): next-test 2013-04-12
Post by: Gavin Andresen on April 12, 2013, 08:03:54 PM
For the record:

I think testing a gazillion pulls at once is madness, because if something doesn't work it can be incredibly difficult to figure out which of the gazillion changes made it break.  Assuming that just once change made it break and not some subtle interaction between two or three or six changes...

If you want to help test, I think it would be much more helpful if you find a feature you care about, grab the binaries that the pull-tester creates, test thoroughly, and then report results in the pull request on github.


Title: Re: Please test (if you dare): next-test 2013-04-12
Post by: Luke-Jr on April 12, 2013, 08:24:05 PM
If you want to help test, I think it would be much more helpful if you find a feature you care about, grab the binaries that the pull-tester creates, test thoroughly, and then report results in the pull request on github.
Indeed, thorough testing of individual pull requests is by far better (and safer).


Title: Re: Please test (if you dare): next-test 2013-04-12
Post by: kerogre256 on April 12, 2013, 08:45:05 PM
For the record:

I think testing a gazillion pulls at once is madness, because if something doesn't work it can be incredibly difficult to figure out which of the gazillion changes made it break.  Assuming that just once change made it break and not some subtle interaction between two or three or six changes...

If you want to help test, I think it would be much more helpful if you find a feature you care about, grab the binaries that the pull-tester creates, test thoroughly, and then report results in the pull request on github.

Agree too many things ....


Title: Re: Please test (if you dare): next-test 2013-04-12
Post by: phatsphere on April 12, 2013, 08:46:20 PM
I'm not really sure how you devs are organized, but at another project I'm working on we have a patchbot. Translated to this here, it would make a new build every time a new changeset is posted to a pull request. Then it runs the test suite. If it passes, it reports back to the pull request and provides a link to download this specific binary.


Title: Re: Please test (if you dare): next-test 2013-04-12
Post by: Luke-Jr on April 12, 2013, 08:48:40 PM
I'm not really sure how you devs are organized, but at another project I'm working on we have a patchbot. Translated to this here, it would make a new build every time a new changeset is posted to a pull request. Then it runs the test suite. If it passes, it reports back to the pull request and provides a link to download this specific binary.
That's exactly what the Pull Tester Gavin mentioned does already...


Title: Re: Please test (if you dare): next-test 2013-04-12
Post by: Sukrim on April 12, 2013, 08:50:19 PM
If you look at the pull requests this seems to be the case with bitcoin too... however the bot doesn't seem to build trunk + all pull requests at once, only trunk + single pull request.

I'm not too sure what to test with these binaries though, maybe if I "need" 2-3 features I can save on building time?

On a different note, is there a buildbot that one can run and that would somehow help devs? I don't mind donating some CPU time and space for a VM that builds and tests builds automatically in the background if it means having a better/more stable client...


Title: Re: Please test (if you dare): next-test 2013-04-12
Post by: Luke-Jr on April 12, 2013, 08:54:59 PM
If you look at the pull requests this seems to be the case with bitcoin too... however the bot doesn't seem to build trunk + all pull requests at once, only trunk + single pull request.
Yes, combining many pull requests is not trivial and requires a real human to do.

I'm not too sure what to test with these binaries though, maybe if I "need" 2-3 features I can save on building time?
Well, the idea is you can run it as your ordinary everyday client (with the awareness that it has a lot of untested and potentially broken code) and maybe hopefully stumble upon some bug we're not thinking to test for explicitly.


Title: Re: Please test (if you dare): next-test 2013-04-12
Post by: Sukrim on April 12, 2013, 09:20:55 PM
I'd recommend to implement something along the lines of "non-final builds of bitcoin-qt need to have mainnet explicitly enabled, just like official releases need to enable testnet explicitly".

Might make it easier for people to try out stuff like this and minimizing potential losses of "real" coins.

A con would be of course that then there would be an artificial ecosystem and bugs with mainnet (like the "database heavy blocks" hard fork recently) might be lost. The main focus on these releases seems to be something else though anyways (checking if several pull requests cause strange effects with each other).


Title: Re: Please test (if you dare): next-test 2013-04-12
Post by: niko on April 12, 2013, 09:32:24 PM
Since this is posted in the general forum board, can someone explain to me like I'm five:

Are there Windows installers available with only one thing changed, or at most a group of strongly related changes? Any chance developers can decide on high-priority pull requests, and build multiple installers for people to test on their machines?

If so, is there a list of recommended things to try when testing?

Where to get testnet coins?

Does it even make sense to spend human users' time testing this, as opposed to automating testing in some way?


Title: Re: Please test (if you dare): next-test 2013-04-12
Post by: Luke-Jr on July 22, 2013, 10:04:56 PM
Superceded with next-test 2013-07-21 (https://bitcointalk.org/?topic=260749)