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)
 | 
						|
	}
 | 
						|
}
 |