Peerunity Testing

Hey everyone. I’ve been testing the Peerunity clients for Windows/Linux since the end of last week. This has mostly been for the gui version, but I have tested some of the same features with the daemon. I intended to build some neat testing tools for the daemon versions that i’ll share once they’re put together. So, what did I check?

GUI Interface - Branding was a major change in the version we released. Making sure that the client reflects the new Peerunity identity in all requisite places. Looks good. Logos are where they should be. Peerunity is mentioned where need be. I did notice that the “receive coins” tab still mentions “bitcoin addresses” which is interesting since this was forked from Peercoin. I can probably find that in the source myself and submit a pull request to update it to Peercoin. Overall the branding changes look great. We’ll see even more interface changes once the “Theme Competition” comes to a close, and i’ll have to make sure everything still looks good once again. http://www.peercointalk.org/index.php?topic=2831.0

There are some known issues with information that gets displayed. For instance with stake balance not updating after a block is minted. Currently requires a restart, but glv2 has submitted what appears to be a working fix that should be implemented in the next release. There are some other known issues as well that I’ve not had time to test the fixes for. I’ll update here throughout my testing.

Coincontrol is a feature that has been implemented into Peerunity, which gives you… (drum roll) more control of coins. Specifically over which addresses you can utilize to send coins and some other informational features. It’s honestly still a new feature for me to work with, and I’ve had to scramble through sources to figure out how it’s supposed to work. In regards to the interface everything looks as it should. I’ll be doing more testing of the functionality of this feature in the near future.

Functionality - Everything can look great, but if it doesn’t do what it’s supposed to do then what the point? Thankfully every regular function I’ve tested has worked. Sending coins, Receiving coins, working with the address book, exporting wallets, importing wallets, mining and minting, signing messages/verifications, exporting addressbook, ecnrypting wallets and transaction reporting are all working fine from my initial testing. I will do more thorough situation testing this week as my test case documentation fills out giving me a road map to follow through development, which i’ll discuss about… now.

Future Testing - I’m currently writing up test cases to follow for more specific testing scenarios, such as negative testing situations. Once I have a draft completed of things I’ve worked on i’ll open it up for everyone to see/use and we can add to it. I know a lot of you wish to help in really making this work and it would benefit everyone if there was a guide on what specifically needs to be looked at throughout development.

I’ll also be working on a guide to help testing features/scenarios, as many features are extremely difficult to test even with the testnet network. For instance, I needed to test the bug fix for stake balance not updating in the Peerunity client after a block has been minted. This can be done easily if you have some coins at stake for minting. If you don’t then you would have to wait up to 30 days to test the feature. Sigmike was a huge help in coming up with a way to generate some stake within a couple hours instead of days to live test this feature. I’ll release some documentation on how these scenarios can be created.

You can see a full list of posted issues here https://github.com/Peerunity/Peerunity/issues?state=open on our github issues page. If you notice any issues this would be a great place to post it. Developers and testers both get email updates for issues posted there, but you can also post here in the testing thread as well. Also check out the Pull Request page on github https://github.com/Peerunity/Peerunity/pulls which is a list of proposed updates/fixes to the client. If you’re a developer and would like to resolve any of the issues you can clone the project to work out any fixes listed on the issues page and submit the fix as a pull request. Once again the testers and developers will get email updates to changes on this page.

If you have any questions about the client related to testing feel free to post here. Things are looking great so far, and as the slogan goes - Peerunity really does look to be your next Peercoin wallet.

Fixed: Change "Bitcoin" to "Peercoin" · Peerunity/Peerunity@850a7dc · GitHub

Fixed: https://github.com/Peerunity/Peerunity/commit/850a7dcc9f672e2ef5dcfaa867108ee63ac7a14d[/quote]

Well dang that was fast.

I posted this in another thread but this is a better place. Please check if these possible rebranding issues need to be fixed have been fixed

Coincontrol is a feature that has been implemented into Peerunity,... I'll be doing more testing of the functionality of this feature in the near future.

I can help with that if needed. But letting different person test is also good.

This can be done easily if you have some coins at stake for minting. If you don't then you would have to wait up to 30 days to test the feature.

On test net you only need to wait for one day before your stake can mint again. Let your client to mine over night (“setgenerate true 1” in the console to turn on mining) and you will get several tens thousand coins, enough to generate POS block quickly if pooled together.

If you have any questions about the client related to testing feel free to post here. Things are looking great so far, and as the slogan goes - Peerunity really does look to be your next Peercoin wallet.

Anywhere to download it?

I posted this in another thread but this is a better place. Please check if these possible rebranding issues need to be fixed have been fixed https://github.com/Peerunity/Peerunity/issues/42#issuecomment-42256655

That’s a great list. I think now that Ben is back we can go through it all. I’m not as familiar with the source code as the other guys. Your list contains some references I wouldn’t have encountered unless I did some negative testing, such as trying to enter an incorrect address into the address book (which I didn’t :P). I’ll be making a list to keep track of such things in the future.

I also found some other branding consistency issues. I’ll add these to the branding post on github, but for my memories sake of the moment i’ll jot them down here real quick.

The logo in the top left of the following areas shows the peercoin logo instead of peerunity.

-“new receiving address” menu after clicking “new address” button in “receive coins” tab
-“new sending address” menu after clicking “new address” button in “address book” tab
-“new sending address” warning message that pops up when entering an incorrect peercoin address in the “new sending address” screen
-the “transactions details” interface after you double click on a transaction in “transactions” tab
-the “options” menu screen.

These five locations display the old peercoin logo, and need to be updated.

I can help with that if needed. But letting different person test is also good.

you can never have too much testing, and i’ll take all the help I can get.

On test net you only need to wait for one day before your stake can mint again. Let your client to mine over night ("setgenerate true 1" in the console to turn on mining) and you will get several tens thousand coins, enough to generate POS block quickly if pooled together.

I’ve had tens of thousands of testnet coins in my wallet for days that were not eligible for stake. Are you sure testnet coins will be up for stake after one day instead of the regular thirty? Maybe I did something wrong, but I’ve not seen my stake change over the course of a day on testnet.

Anywhere to download it?

Absolutely, check out the following forum post from pennybreaker.

Regarding testnet and generating blocks, it is all about preparation as most is with testing. As @mhps said just need to mine for a few hours to have tens of thousands of coins. After 24 hours or so the will start generating blocks. As I have a lot of coinage on many addresses my testnet client always starts furiously generating blocks when fired up.

I’m good to do a bit of testing, but my issue is that I’m not into compiling sources. Happy to execute a test script or fiddle around once there are binaries available though.

Another labeling issue that needs to be updated is the language about the “optional” transaction fee. I have updated text from the Peershares rebrand that I’ll use for a pull request for Peerunity later this morning.

(Update) Pull request submitted: https://github.com/Peerunity/Peerunity/pull/51

[quote=“SirCoinGame, post:5, topic:2396”]

On test net you only need to wait for one day before your stake can mint again. Let your client to mine over night (“setgenerate true 1” in the console to turn on mining) and you will get several tens thousand coins, enough to generate POS block quickly if pooled together.

I’ve had tens of thousands of testnet coins in my wallet for days that were not eligible for stake. Are you sure testnet coins will be up for stake after one day instead of the regular thirty? Maybe I did something wrong, but I’ve not seen my stake change over the course of a day on testnet.[/quote]

I think I saw the one-day figure in the source code. Anyway I have minted many POS blocks on test net. The locked stakes (red in coin control) are released the next day. You need to send your mined blocks, which are about 10k each, to the same address to increase chance. At least 50k per stake I think. Coin control comes handy to select and check stakes.

[quote=“SirCoinGame, post:5, topic:2396”]

I can help with that if needed. But letting different person test is also good.

you can never have too much testing, and i’ll take all the help I can get.[/quote]

I asked cozz for the Coin Control test plan he wrote for bitcoin. Unfortunately the test plan itself didn’t go into the release of bitcoin distribution and was lost when cozz reset his development branch.

To write a testplan for bitcoin one needs to specify the expected behavior. For the record I didn’t write one when I tested peerunity-rc because I couldn’t add more details than what were in the general description in cozz’ post. So I relied on my common sense to decide a behavior is valid or not. That was how I made my coin control report.

Looks like Ben did a solid job of updating the logo issues we were having in peerunity. Pennybreaker compiled a build for us yesterday and the icons are corrected.

I went ahead and did a search through all the source code (yes, all of it… every file) for PPCoin and Bitcoin references that are part of messages displayed to the user. In addition to the lines pointed out by mhps I found other references that would be displayed in the gui, and also error messages that would be displayed when using the daemon. I scripted the process, so I manually read through every single line of code that had either PPCoin or Bitcoin to determine if it was something that would affect outward branding of the client.

Here is a list of the changes I made. Someone more familiar with the code may want to skim through and verify that everything I changed is in fact only messages and not hard coded identifiers. That could be bad :slight_smile: but I did my best to not change any actual code.

There are still a lot of references to PPCoin in the translation files buried within the translations… I wasn’t sure how to go about changing those since I couldn’t read them. Should PPCoin just be swapped out in those cases as well?

I asked cozz for the Coin Control test plan he wrote for bitcoin. Unfortunately the test plan itself didn't go into the release of bitcoin distribution and was lost when cozz reset his development branch.

To write a testplan for bitcoin one needs to specify the expected behavior. For the record I didn’t write one when I tested peerunity-rc because I couldn’t add more details than what were in the general description in cozz’ post. So I relied on my common sense to decide a behavior is valid or not. That was how I made my coin control report.

I’ll take a look at that in more detail when I get a chance. Seems like you made a pretty hand guide.