tool.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package tests
  2. import (
  3. "archive/zip"
  4. "io"
  5. "os"
  6. "testing"
  7. "notabug.org/Umnik/GoAndroidSDK/v2/components/sdk"
  8. )
  9. const (
  10. goodApkFile = "saveto.apk"
  11. splitBaseFile = "base_split.apk"
  12. emptyValFile = "base_empty_val.apk"
  13. sign31File = "v3.1.apk"
  14. )
  15. func newSdk(t *testing.T, fnName string) *sdk.SDK {
  16. s, err := sdk.NewSDK()
  17. if !testErr(t, fnName, err) {
  18. return nil
  19. }
  20. return s
  21. }
  22. func closeOsFile(t *testing.T, fnName string, closer *os.File) {
  23. t.Helper()
  24. testErr(t, fnName, closer.Close())
  25. }
  26. func closeZipFile(t *testing.T, fnName string, closer *zip.ReadCloser) {
  27. t.Helper()
  28. testErr(t, fnName, closer.Close())
  29. }
  30. func removeOsFile(t *testing.T, fnName string, fileName string) {
  31. testErr(t, fnName, os.Remove(fileName))
  32. }
  33. func makeCopy(t *testing.T, fnName string, dest io.Writer, source string) bool {
  34. t.Helper()
  35. src, err := os.Open(source)
  36. if !testErr(t, fnName, err) {
  37. return false
  38. }
  39. defer closeOsFile(t, fnName, src)
  40. _, err = io.Copy(dest, src)
  41. return testErr(t, fnName, err)
  42. }
  43. func testErr(t *testing.T, funcName string, err error) bool {
  44. if err != nil {
  45. t.Errorf("%v failed with: %q", funcName, err)
  46. return false
  47. }
  48. return true
  49. }