50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package tests
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| func TestTransactions(t *testing.T) {
 | |
| 	notWorking := make(map[string]bool, 100)
 | |
| 
 | |
| 	// TODO: all these tests should work! remove them from the array when they work
 | |
| 	snafus := []string{
 | |
| 		"TransactionWithHihghNonce", // fails due to testing upper bound of 256 bit nonce
 | |
| 		"TransactionWithSvalueHigh", // fails due to C++ wrong ECDSA r,s ranges. see https://github.com/ethereum/yellowpaper/pull/112
 | |
| 		"TransactionWithSvalue0",    // Invalid, 0 < s according to YP eq 205. probably typo/copy-paste error
 | |
| 	}
 | |
| 
 | |
| 	for _, name := range snafus {
 | |
| 		notWorking[name] = true
 | |
| 	}
 | |
| 
 | |
| 	var err error
 | |
| 	err = RunTransactionTests("./files/TransactionTests/ttTransactionTest.json",
 | |
| 		notWorking)
 | |
| 	if err != nil {
 | |
| 		t.Fatal(err)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestWrongRLPTransactions(t *testing.T) {
 | |
| 	notWorking := make(map[string]bool, 100)
 | |
| 	var err error
 | |
| 	err = RunTransactionTests("./files/TransactionTests/ttWrongRLPTransaction.json",
 | |
| 		notWorking)
 | |
| 	if err != nil {
 | |
| 		t.Fatal(err)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| //Not working until it's fields are in HEX
 | |
| func Test10MBtx(t *testing.T) {
 | |
| 	t.Skip("Skipped in lieu of HEX encoding fix in this file.")
 | |
| 	notWorking := make(map[string]bool, 100)
 | |
| 	var err error
 | |
| 	err = RunTransactionTests("./files/TransactionTests/tt10mbDataField.json",
 | |
| 		notWorking)
 | |
| 	if err != nil {
 | |
| 		t.Fatal(err)
 | |
| 	}
 | |
| }
 |