package main

import (
	"fmt"

	"utils/testutil"
)

func main() {
	testutil.RunTest(TestSwapInt32, "TestSwapInt32")
	testutil.RunTest(TestSwapInt32Method, "TestSwapInt32Method")
	testutil.RunTest(TestSwapUint32, "TestSwapUint32")
	testutil.RunTest(TestSwapUint32Method, "TestSwapUint32Method")
	testutil.RunTest(TestSwapInt64, "TestSwapInt64")
	testutil.RunTest(TestSwapInt64Method, "TestSwapInt64Method")
	testutil.RunTest(TestSwapUint64, "TestSwapUint64")
	testutil.RunTest(TestSwapUint64Method, "TestSwapUint64Method")
	testutil.RunTest(TestSwapUintptr, "TestSwapUintptr")
	testutil.RunTest(TestSwapUintptrMethod, "TestSwapUintptrMethod")
	testutil.RunTest(TestSwapPointer, "TestSwapPointer")
	testutil.RunTest(TestSwapPointerMethod, "TestSwapPointerMethod")
	testutil.RunTest(TestAddInt32, "TestAddInt32")
	testutil.RunTest(TestAddInt32Method, "TestAddInt32Method")
	testutil.RunTest(TestAddUint32, "TestAddUint32")
	testutil.RunTest(TestAddUint32Method, "TestAddUint32Method")
	testutil.RunTest(TestAddInt64, "TestAddInt64")
	testutil.RunTest(TestAddInt64Method, "TestAddInt64Method")
	testutil.RunTest(TestAddUint64, "TestAddUint64")
	testutil.RunTest(TestAddUint64Method, "TestAddUint64Method")
	testutil.RunTest(TestAddUintptr, "TestAddUintptr")
	testutil.RunTest(TestAddUintptrMethod, "TestAddUintptrMethod")
	testutil.RunTest(TestCompareAndSwapInt32, "TestCompareAndSwapInt32")
	testutil.RunTest(TestCompareAndSwapInt32Method, "TestCompareAndSwapInt32Method")
	testutil.RunTest(TestCompareAndSwapUint32, "TestCompareAndSwapUint32")
	testutil.RunTest(TestCompareAndSwapUint32Method, "TestCompareAndSwapUint32Method")
	testutil.RunTest(TestCompareAndSwapInt64, "TestCompareAndSwapInt64")
	testutil.RunTest(TestCompareAndSwapInt64Method, "TestCompareAndSwapInt64Method")
	testutil.RunTest(TestCompareAndSwapUint64, "TestCompareAndSwapUint64")
	testutil.RunTest(TestCompareAndSwapUint64Method, "TestCompareAndSwapUint64Method")
	testutil.RunTest(TestCompareAndSwapUintptr, "TestCompareAndSwapUintptr")
	testutil.RunTest(TestCompareAndSwapUintptrMethod, "TestCompareAndSwapUintptrMethod")
	testutil.RunTest(TestCompareAndSwapPointer, "TestCompareAndSwapPointer")
	testutil.RunTest(TestCompareAndSwapPointerMethod, "TestCompareAndSwapPointerMethod")
	testutil.RunTest(TestLoadInt32, "TestLoadInt32")
	testutil.RunTest(TestLoadInt32Method, "TestLoadInt32Method")
	testutil.RunTest(TestLoadUint32, "TestLoadUint32")
	testutil.RunTest(TestLoadUint32Method, "TestLoadUint32Method")
	testutil.RunTest(TestLoadInt64, "TestLoadInt64")
	testutil.RunTest(TestLoadInt64Method, "TestLoadInt64Method")
	testutil.RunTest(TestLoadUint64, "TestLoadUint64")
	testutil.RunTest(TestLoadUint64Method, "TestLoadUint64Method")
	testutil.RunTest(TestLoadUintptr, "TestLoadUintptr")
	testutil.RunTest(TestLoadUintptrMethod, "TestLoadUintptrMethod")
	testutil.RunTest(TestLoadPointer, "TestLoadPointer")
	testutil.RunTest(TestLoadPointerMethod, "TestLoadPointerMethod")
	testutil.RunTest(TestStoreInt32, "TestStoreInt32")
	testutil.RunTest(TestStoreInt32Method, "TestStoreInt32Method")
	testutil.RunTest(TestStoreUint32, "TestStoreUint32")
	testutil.RunTest(TestStoreUint32Method, "TestStoreUint32Method")
	testutil.RunTest(TestStoreInt64, "TestStoreInt64")
	testutil.RunTest(TestStoreInt64Method, "TestStoreInt64Method")
	testutil.RunTest(TestStoreUint64, "TestStoreUint64")
	testutil.RunTest(TestStoreUint64Method, "TestStoreUint64Method")
	testutil.RunTest(TestStoreUintptr, "TestStoreUintptr")
	testutil.RunTest(TestStoreUintptrMethod, "TestStoreUintptrMethod")
	testutil.RunTest(TestStorePointer, "TestStorePointer")
	testutil.RunTest(TestStorePointerMethod, "TestStorePointerMethod")
	testutil.RunTest(TestHammer32, "TestHammer32")
	testutil.RunTest(TestHammer64, "TestHammer64")
	testutil.RunTest(TestAutoAligned64, "TestAutoAligned64")
	testutil.RunTest(TestNilDeref, "TestNilDeref")
	testutil.RunTest(TestStoreLoadSeqCst32, "TestStoreLoadSeqCst32")
	testutil.RunTest(TestStoreLoadSeqCst64, "TestStoreLoadSeqCst64")
	testutil.RunTest(TestStoreLoadRelAcq32, "TestStoreLoadRelAcq32")
	testutil.RunTest(TestStoreLoadRelAcq64, "TestStoreLoadRelAcq64")
	testutil.RunTest(TestUnaligned64, "TestUnaligned64")
	testutil.RunTest(TestHammerStoreLoad, "TestHammerStoreLoad")

	fmt.Println("Atomic tests passed")
}
