Make unique, standalone tests for all JIT expressions.

Rather than manually write the 1000s of individual testscases,
we automatically generate them and their variants to add to the
testclass.
This is done from a list of expressions that are all tested in the same
way, so a metaclass is a natural way to implement this.

Any failure in a JIT expression won't immediately abort the
`test_call_api_funs` testsuite as before, but will test all expressions
independently, and report the failures individually.

Change-Id: I10dd10398e83c45f50d9e3bbad41ad47ad84d62e
Signed-off-by: Luke Drummond <luke.drummond@codeplay.com>
1 file changed
tree: 8e283e5488da0bd29cc8a568bbb0b10511236f22
  1. api/
  2. cpp/
  3. cpu_ref/
  4. driver/
  5. java/
  6. scriptc/
  7. server/
  8. tests/
  9. Android.mk
  10. CleanSpec.mk
  11. libRS.map
  12. rs.h
  13. rs.spec
  14. rs_compat.spec
  15. rs_hal.h
  16. rsAllocation.cpp
  17. rsAllocation.h
  18. rsAnimation.cpp
  19. rsAnimation.h
  20. rsApiAllocation.cpp
  21. rsApiContext.cpp
  22. rsApiDevice.cpp
  23. rsApiElement.cpp
  24. rsApiFileA3D.cpp
  25. rsApiMesh.cpp
  26. rsApiType.cpp
  27. rsClosure.cpp
  28. rsClosure.h
  29. rsCompatibilityLib.cpp
  30. rsCompatibilityLib.h
  31. rsComponent.cpp
  32. rsComponent.h
  33. rsContext.cpp
  34. rsContext.h
  35. rsCppUtils.cpp
  36. rsCppUtils.h
  37. rsDebugHelper.h
  38. rsDefines.h
  39. rsDevice.cpp
  40. rsDevice.h
  41. rsDriverLoader.cpp
  42. rsElement.cpp
  43. rsElement.h
  44. rsEnv.h
  45. rsFBOCache.cpp
  46. rsFBOCache.h
  47. rsFifo.h
  48. rsFifoSocket.cpp
  49. rsFifoSocket.h
  50. rsFileA3D.cpp
  51. rsFileA3D.h
  52. rsFont.cpp
  53. rsFont.h
  54. rsg.spec
  55. rsg_generator.c
  56. rsgApi.cpp.rsg
  57. rsgApiFuncDecl.h.rsg
  58. rsgApiReplay.cpp.rsg
  59. rsgApiStructs.h.rsg
  60. rsGrallocConsumer.cpp
  61. rsGrallocConsumer.h
  62. rsInternalDefines.h
  63. rsList.h
  64. rsMap.h
  65. rsMatrix2x2.cpp
  66. rsMatrix2x2.h
  67. rsMatrix3x3.cpp
  68. rsMatrix3x3.h
  69. rsMatrix4x4.cpp
  70. rsMatrix4x4.h
  71. rsMesh.cpp
  72. rsMesh.h
  73. rsMutex.cpp
  74. rsMutex.h
  75. rsObjectBase.cpp
  76. rsObjectBase.h
  77. rsProgram.cpp
  78. rsProgram.h
  79. rsProgramBase.h
  80. rsProgramFragment.cpp
  81. rsProgramFragment.h
  82. rsProgramRaster.cpp
  83. rsProgramRaster.h
  84. rsProgramStore.cpp
  85. rsProgramStore.h
  86. rsProgramVertex.cpp
  87. rsProgramVertex.h
  88. rsRuntime.h
  89. rsSampler.cpp
  90. rsSampler.h
  91. rsScript.cpp
  92. rsScript.h
  93. rsScriptC.cpp
  94. rsScriptC.h
  95. rsScriptC_Lib.cpp
  96. rsScriptC_LibGL.cpp
  97. rsScriptGroup.cpp
  98. rsScriptGroup.h
  99. rsScriptGroup2.cpp
  100. rsScriptGroup2.h
  101. rsScriptGroupBase.h
  102. rsScriptIntrinsic.cpp
  103. rsScriptIntrinsic.h
  104. rsSignal.cpp
  105. rsSignal.h
  106. rsStream.cpp
  107. rsStream.h
  108. rsThreadIO.cpp
  109. rsThreadIO.h
  110. rsType.cpp
  111. rsType.h
  112. rsUtils.h
  113. run_rs_cts.sh
  114. spec.h
  115. spec.l
  116. update_rs_prebuilts.sh