Files
tinygrad/test/unit/test_objc.py
Kartik Vashishta a1696e8413 objc: fix _classmethods_ dispatch flag (#14854)
* objc: fix _classmethods_ dispatch flag

* test: add objc _classmethods_ regression
2026-04-20 09:35:03 +08:00

18 lines
591 B
Python

import sys, unittest
class TestObjCMetaSpec(unittest.TestCase):
@unittest.skipUnless(sys.platform == "darwin", "objc runtime only on macOS")
def test_classmethods_are_classmethods(self):
from tinygrad.runtime.support.objc import Spec, id_
#_classmethods_ must include classmethod descriptors
class ObjCTest(Spec):
_methods_ = [("foo", id_, [])]
_classmethods_ = [("bar", id_, [])]
self.assertNotIsInstance(ObjCTest.__dict__["foo"], classmethod)
self.assertIsInstance(ObjCTest.__dict__["bar"], classmethod)
if __name__ == "__main__":
unittest.main()