Begin incorporating Python unit tests into build

We now build a separate APE binary for each test so they can run in
parallel. We've got 148 tests running fast and stable so far.
This commit is contained in:
Justine Tunney 2021-09-12 21:04:44 -07:00
parent 51904e2687
commit b5f743cdc3
121 changed files with 4995 additions and 4767 deletions

View file

@ -1,7 +1,6 @@
#ifndef COSMOPOLITAN_THIRD_PARTY_PYTHON_INCLUDE_PYTHON_AST_H_
#define COSMOPOLITAN_THIRD_PARTY_PYTHON_INCLUDE_PYTHON_AST_H_
#include "third_party/python/Include/asdl.h"
#include "third_party/python/Include/object.h"
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
/* clang-format off */

View file

@ -84,5 +84,9 @@ void PyGrammar_RemoveAccelerators(grammar *);
void printgrammar(grammar *g, FILE *fp);
void printnonterminals(grammar *g, FILE *fp);
#ifndef Py_LIMITED_API
extern grammar _PyParser_Grammar;
#endif
COSMOPOLITAN_C_END_
#endif /* !Py_GRAMMAR_H */

View file

@ -77,6 +77,9 @@ const char * _Py_gitversion(void);
/* Internal -- various one-time initializations */
#ifndef Py_LIMITED_API
extern int _Py_initialized;
extern char *_Py_StandardStreamEncoding;
extern char *_Py_StandardStreamErrors;
PyObject * _PyBuiltin_Init(void);
PyObject * _PySys_Init(void);
void _PyImport_Init(void);
@ -86,6 +89,18 @@ int _PyFrame_Init(void);
int _PyFloat_Init(void);
int PyByteArray_Init(void);
void _PyRandom_Init(void);
void _Py_InitSite(void);
int _Py_InitStdio(void);
void _Py_ReadyTypes(void);
void _Py_InitImport(PyInterpreterState *, PyObject *);
int _Py_InitFsEncoding(PyInterpreterState *);
void _Py_InitSigs(void);
void _Py_InitMain(PyInterpreterState *);
int _PyUnicode_Init(void);
int _PyStructSequence_Init(void);
int _PyLong_Init(void);
int _PyFaulthandler_Init(void);
int _PyTraceMalloc_Init(void);
#endif
/* Various internal finalizers */
@ -109,7 +124,15 @@ void PySlice_Fini(void);
void _PyType_Fini(void);
void _PyRandom_Fini(void);
void PyAsyncGen_Fini(void);
int _Py_FlushStdFiles(void);
void _Py_CallExitFuncs(void);
void _Py_CallLlExitFuncs(void);
void _PyFaulthandler_Fini(void);
void _PyHash_Fini(void);
void PyLong_Fini(void);
void _PyUnicode_Fini(void);
int _PyTraceMalloc_Fini(void);
void _PyMem_DumpTraceback(int, const void *);
extern PyThreadState * _Py_Finalizing;
#endif

View file

@ -63,7 +63,8 @@ int _PyTraceMalloc_Untrack(
PyObject* _PyTraceMalloc_GetTraceback(
_PyTraceMalloc_domain_t domain,
uintptr_t ptr);
#ifndef MODE_DBG
#ifdef USE_TRACEMALLOC
#define _PyTraceMalloc_Track(domain, ptr, size) (-2)
#define _PyTraceMalloc_Untrack(domain, ptr) (-2)
#define _PyTraceMalloc_GetTraceback(domain, ptr) (&_Py_NoneStruct)