kuroko/test
K. Lange 6f95124bcd Threading
Don't be deceived by its size: this commit is mostly a bunch of
sed replacements to move thread state out of "vm" and introduce
a thread-local "KrkThreadState" object to hold stack pointers and
call frames for individual threads.

Threading support is incomplete and there's almost definitely a
bunch of really easy ways to break everything just by allocating
objects, but really simple stuff like carefully modifying a
a list of ints should work okay.

The README has been rewritten to remove code samples, which have
moved to the Wiki (as has the section on integrating with C).

Some other stuff has also moved around because the threading changes
necessitated a major API break anyway, so I also took the time to
fix some ABI issues.
2021-02-09 18:51:09 +09:00
..
__init__.krk Implement module packages 2021-01-17 22:01:58 +09:00
__init__.krk.expect Implement module packages 2021-01-17 22:01:58 +09:00
day1.in More test files 2021-01-04 19:07:46 +09:00
day1.krk C-ify set(), mostly the same as it was originally written 2021-02-05 16:09:29 +09:00
day1.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
day2.in Add string iterators 2021-01-04 19:34:56 +09:00
day2.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
day2.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
day3.in More test scripts 2021-01-04 19:59:11 +09:00
day3.krk Change 'let' semantics to do unpacking; support unpacking more things 2021-01-14 21:16:48 +09:00
day3.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
day4.in More test scripts 2021-01-04 19:59:11 +09:00
day4.krk Cleanup and useful builtins 2021-01-09 10:12:50 +09:00
day4.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
day5.in this is now a late AOC2020 repo 2021-01-04 20:10:39 +09:00
day5.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
day5.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
day6.in more AOC test cases 2021-01-04 20:27:32 +09:00
day6.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
day6.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
day7.in length should determine truthiness where relevent 2021-01-09 13:58:46 +09:00
day7.krk C-ify some more collection methods 2021-01-19 22:27:05 +09:00
day7.krk.expect length should determine truthiness where relevent 2021-01-09 13:58:46 +09:00
day23.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
day23.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
generateLongListTest.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
generateLongListTest.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
test.krk Switch C-style loops to semicolons before I regret having used commas 2021-01-08 17:14:42 +09:00
test.krk.expect Add class name to method __repr__ 2021-01-05 15:36:09 +09:00
testArgsKwargs.krk Fixup more kwargs stuff, need to pop values for defaults 2021-01-05 19:01:26 +09:00
testArgsKwargs.krk.expect Fixup more kwargs stuff, need to pop values for defaults 2021-01-05 19:01:26 +09:00
testArgumentExpansions.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testArgumentExpansions.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testArgv.krk Add kuroko.argv 2021-01-08 19:05:11 +09:00
testArgv.krk.expect Add kuroko.argv 2021-01-08 19:05:11 +09:00
testAttributePacking.krk Add something original for once 2021-01-15 19:31:00 +09:00
testAttributePacking.krk.expect Add something original for once 2021-01-15 19:31:00 +09:00
testBindNativeMethod.krk move test 2021-01-10 11:00:14 +09:00
testBindNativeMethod.krk.expect move test 2021-01-10 11:00:14 +09:00
testClassDecorator.krk Implement class decorators and move class definitions into pseudo-functions 2021-02-05 19:54:46 +09:00
testClassDecorator.krk.expect Implement class decorators and move class definitions into pseudo-functions 2021-02-05 19:54:46 +09:00
testClassFields.krk Class fields and access to class member methods 2021-01-11 16:31:34 +09:00
testClassFields.krk.expect Class fields and access to class member methods 2021-01-11 16:31:34 +09:00
testClassMethod.krk Hacky implementation of @staticmethod, @property, mb even @classmethod 2021-01-23 19:38:45 +09:00
testClassMethod.krk.expect Hacky implementation of @staticmethod, @property, mb even @classmethod 2021-01-23 19:38:45 +09:00
testComplexArgsNative.krk Support complex argument expansion in C functions 2021-01-10 18:49:52 +09:00
testComplexArgsNative.krk.expect Support complex argument expansion in C functions 2021-01-10 18:49:52 +09:00
testContextManagerEarlyReturn.krk Support 'return' from within a 'with' block 2021-01-10 23:39:05 +09:00
testContextManagerEarlyReturn.krk.expect Support 'return' from within a 'with' block 2021-01-10 23:39:05 +09:00
testDecorators.krk length should determine truthiness where relevent 2021-01-09 13:58:46 +09:00
testDecorators.krk.expect length should determine truthiness where relevent 2021-01-09 13:58:46 +09:00
testDefaultArgs.krk Fixup more kwargs stuff, need to pop values for defaults 2021-01-05 19:01:26 +09:00
testDefaultArgs.krk.expect Fixup more kwargs stuff, need to pop values for defaults 2021-01-05 19:01:26 +09:00
testDel.krk Add 'del' statement. 2021-01-14 16:08:25 +09:00
testDel.krk.expect Add 'del' statement. 2021-01-14 16:08:25 +09:00
testDeque.krk Add a basic collections module 2021-01-11 14:08:05 +09:00
testDeque.krk.expect Add a basic collections module 2021-01-11 14:08:05 +09:00
testDictComprehension.krk Support comprehensions for dicts, tuples. 2021-01-19 21:06:52 +09:00
testDictComprehension.krk.expect Support comprehensions for dicts, tuples. 2021-01-19 21:06:52 +09:00
testEatWhitespace.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testEatWhitespace.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testElseIf.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testElseIf.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testExtraneousBlanks.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testExtraneousBlanks.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testFStrings.krk Optimizations for f-strings 2021-01-22 08:38:36 +09:00
testFStrings.krk.expect Optimizations for f-strings 2021-01-22 08:38:36 +09:00
testFunctionDocstring.krk Readme and doc updates 2021-01-07 22:45:52 +09:00
testFunctionDocstring.krk.expect Readme and doc updates 2021-01-07 22:45:52 +09:00
testGetattrDir.krk oops, leaked a pointer in a test 2021-01-14 23:19:59 +09:00
testGetattrDir.krk.expect Attach code object for class to the resulting class object 2021-02-05 20:34:18 +09:00
testHash.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testHash.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testImplicitObjectBase.krk Try to help the compiler with branch prediction hints 2021-01-16 22:47:52 +09:00
testImplicitObjectBase.krk.expect Try to help the compiler with branch prediction hints 2021-01-16 22:47:52 +09:00
testImportContext.krk Fix tracking what should be 'global' through function calls? 2021-01-07 10:39:09 +09:00
testImportContext.krk.expect Assign __main__ as name of executed scripts 2021-01-07 10:58:04 +09:00
testIteratorUnpack.krk Support unpacking iterables in multiple assignments 2021-01-19 22:49:36 +09:00
testIteratorUnpack.krk.expect Support unpacking iterables in multiple assignments 2021-01-19 22:49:36 +09:00
testJsonModule.krk Add json module 2021-01-11 19:02:51 +09:00
testJsonModule.krk.expect Do that thing Python does when repr'ing strings where it picks between single and double quote 2021-01-21 18:52:53 +09:00
testKeyboardInterrupt.krk Raise KeyboardInterrupt on ^C 2021-01-08 16:40:43 +09:00
testKeyboardInterrupt.krk.expect Raise KeyboardInterrupt on ^C 2021-01-08 16:40:43 +09:00
testKeywordArgs.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testKeywordArgs.krk.expect Rewrite complex argument processor because that old stack-juggling version was awful 2021-01-10 18:23:28 +09:00
testLinesFromReadme.krk Add instructions for static builds 2021-01-08 12:12:44 +09:00
testLinesFromReadme.krk.expect I need to get rid of this README-reading test... 2021-02-08 17:38:11 +09:00
testList.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testList.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testListComprehensions.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testListComprehensions.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testLongList.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testLongList.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testLoopBreaks.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testLoopBreaks.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testModuleDocstring.krk Attach __doc__ to modules, default to None (but still set) if missing 2021-01-07 11:30:10 +09:00
testModuleDocstring.krk.expect Attach __doc__ to modules, default to None (but still set) if missing 2021-01-07 11:30:10 +09:00
testModuleName.krk Assign __main__ as name of executed scripts 2021-01-07 10:58:04 +09:00
testModuleName.krk.expect Assign __main__ as name of executed scripts 2021-01-07 10:58:04 +09:00
testMoreArgExpansions.krk Rewrite complex argument processor because that old stack-juggling version was awful 2021-01-10 18:23:28 +09:00
testMoreArgExpansions.krk.expect Rewrite complex argument processor because that old stack-juggling version was awful 2021-01-10 18:23:28 +09:00
testOperatorOverrides.krk Normalize __add__ for strings, but keep the shortcut around 2021-01-11 21:46:24 +09:00
testOperatorOverrides.krk.expect Normalize __add__ for strings, but keep the shortcut around 2021-01-11 21:46:24 +09:00
testOperators.krk Add more operators. 2021-01-19 19:29:29 +09:00
testOperators.krk.expect Add more operators. 2021-01-19 19:29:29 +09:00
testPackageImports.krk Prune actual file paths from test/testPackageImports.krk 2021-01-31 11:13:39 +09:00
testPackageImports.krk.expect Prune actual file paths from test/testPackageImports.krk 2021-01-31 11:13:39 +09:00
testPythonFootgun.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testPythonFootgun.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testRuntimeException.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testRuntimeException.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testSetLiterals.krk sets do not have stable ordering, so stop trying to print them in tests 2021-02-08 09:36:30 +09:00
testSetLiterals.krk.expect sets do not have stable ordering, so stop trying to print them in tests 2021-02-08 09:36:30 +09:00
testSpecialDecorators.krk Hacky implementation of @staticmethod, @property, mb even @classmethod 2021-01-23 19:38:45 +09:00
testSpecialDecorators.krk.expect Hacky implementation of @staticmethod, @property, mb even @classmethod 2021-01-23 19:38:45 +09:00
testStringQuoteTypes.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testStringQuoteTypes.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testStrings.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testStrings.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testSyntaxHighlighter.krk Add a module that does simple Kuroko syntax highlighting with flexible outputs 2021-01-18 20:45:26 +09:00
testSyntaxHighlighter.krk.expect And update the test changed from that... 2021-01-23 13:34:09 +09:00
testTabWidth.krk Accept tabs as being equivalent to eight spaces, but no mixing on a single line 2021-01-08 07:05:33 +09:00
testTabWidth.krk.expect Accept tabs as being equivalent to eight spaces, but no mixing on a single line 2021-01-08 07:05:33 +09:00
testTernary.krk Add ternary (a) if (cond) else (b) 2021-01-07 14:04:42 +09:00
testTernary.krk.expect Add ternary (a) if (cond) else (b) 2021-01-07 14:04:42 +09:00
testThreading.krk Threading 2021-02-09 18:51:09 +09:00
testThreading.krk.expect Threading 2021-02-09 18:51:09 +09:00
testTryExcept.krk Make print() a function before it's too late 2021-01-04 23:34:10 +09:00
testTryExcept.krk.expect Commit results of test cases as of now (not sure if they're all correctly) 2021-01-04 21:50:20 +09:00
testTupleIter.krk Add a test for everything we fix... 2021-01-31 09:57:15 +09:00
testTupleIter.krk.expect Add a test for everything we fix... 2021-01-31 09:57:15 +09:00
testUnicodeIdentifiers.krk Major overhaul of strings to support Unicode 2021-01-12 19:23:14 +09:00
testUnicodeIdentifiers.krk.expect Major overhaul of strings to support Unicode 2021-01-12 19:23:14 +09:00
testUnicodeStrings.krk Fixup string iteration for unicode strings 2021-01-12 20:11:52 +09:00
testUnicodeStrings.krk.expect Fixup string iteration for unicode strings 2021-01-12 20:11:52 +09:00
testUnpackIter.krk Add tuple unpacking and 'if' conditions to list comprehensions 2021-01-08 18:00:49 +09:00
testUnpackIter.krk.expect Add tuple unpacking and 'if' conditions to list comprehensions 2021-01-08 18:00:49 +09:00
testUpvalue.krk fix test that includes pointer values in output 2021-01-06 19:07:22 +09:00
testUpvalue.krk.expect fix test that includes pointer values in output 2021-01-06 19:07:22 +09:00
testWeirdIndentCase.krk Fix a bad indentation handling for if/try. 2021-01-17 16:52:38 +09:00
testWeirdIndentCase.krk.expect Fix a bad indentation handling for if/try. 2021-01-17 16:52:38 +09:00