diff --git a/Lib/test/output/test_capi b/Lib/test/output/test_capi
new file mode 100644
index 0000000..c095219
--- /dev/null
+++ b/Lib/test/output/test_capi
@@ -0,0 +1 @@
+test_capi
diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py
new file mode 100644
index 0000000..8b39829
--- /dev/null
+++ b/Lib/test/test_capi.py
@@ -0,0 +1,16 @@
+# Run the _test module tests (tests for the Python/C API):  by defn, these
+# are all functions _test exports whose name begins with 'test_'.
+
+import sys
+import test_support
+import _test
+
+for name in dir(_test):
+    if name.startswith('test_'):
+        test = getattr(_test, name)
+        if test_support.verbose:
+            print "internal", name
+        try:
+            test()
+        except _test.error:
+            raise test_support.TestFailed, sys.exc_info()[1]
diff --git a/Misc/NEWS b/Misc/NEWS
index 86cb703..0e7a1ff 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -60,7 +60,7 @@
 
 - A 'continue' statement can now appear in a try block within the body
   of a loop.  It is still not possible to use continue in a finally
-  clause. 
+  clause.
 
 Standard library
 
@@ -94,12 +94,21 @@
 - The socket module now supports raw packets on Linux.  The socket
   family is AF_PACKET.
 
+- test_capi.py is a start at running tests of the Python C API.  The tests
+  are implemented by the new Modules/_testmodule.c.
+
 Windows changes
 
 - Build procedure:  the zlib project is built in a different way that
   ensures the zlib header files used can no longer get out of synch with
-  the zlib binary used.  See PCbuild\readme.txt for details.
+  the zlib binary used.  See PCbuild\readme.txt for details.  Your old
+  zlib-related directories can be deleted; you'll need to download fresh
+  source for zlib and unpack it into a new directory.
 
+- Build:  New subproject _test for the benefit of test_capi.py (see above).
+
+- Build:  subproject ucnhash is gone, since the code was folded into the
+  unicodedata subproject.
 
 What's New in Python 2.1 alpha 1?
 =================================
diff --git a/Modules/_testmodule.c b/Modules/_testmodule.c
new file mode 100644
index 0000000..e4c9c75
--- /dev/null
+++ b/Modules/_testmodule.c
@@ -0,0 +1,68 @@
+/*
+ * C Extension module to test Python interpreter C APIs.
+ *
+ * The 'test_*' functions exported by this module are run as part of the
+ * standard Python regression test, via Lib/test/test_capi.py.
+ */
+
+#include "Python.h"
+
+static PyObject *TestError;	/* set to exception object in init */
+
+/* Test #defines from config.h (particularly the SIZEOF_* defines).
+
+   The ones derived from autoconf on the UNIX-like OSes can be relied
+   upon (in the absence of sloppy cross-compiling), but the Windows
+   platforms have these hardcoded.  Better safe than sorry.
+*/
+static PyObject*
+sizeof_error(const char* fatname, const char* typename,
+        int expected, int got)
+{
+	char buf[1024];
+	sprintf(buf, "%s #define == %d but sizeof(%s) == %d",
+		fatname, expected, typename, got);
+	PyErr_SetString(TestError, buf);
+	return (PyObject*)NULL;
+}
+
+static PyObject*
+test_config(PyObject *self, PyObject *args)
+{
+        if (!PyArg_ParseTuple(args, ":test_config"))
+                return NULL;
+
+#define CHECK_SIZEOF(FATNAME, TYPE) \
+	    if (FATNAME != sizeof(TYPE)) \
+    	    	return sizeof_error(#FATNAME, #TYPE, FATNAME, sizeof(TYPE))
+
+	CHECK_SIZEOF(SIZEOF_INT, int);
+	CHECK_SIZEOF(SIZEOF_LONG, long);
+	CHECK_SIZEOF(SIZEOF_VOID_P, void*);
+	CHECK_SIZEOF(SIZEOF_TIME_T, time_t);
+#ifdef HAVE_LONG_LONG
+	CHECK_SIZEOF(SIZEOF_LONG_LONG, LONG_LONG);
+#endif
+
+#undef CHECK_SIZEOF
+
+	Py_INCREF(Py_None);
+	return Py_None;
+}
+
+static PyMethodDef TestMethods[] = {
+	{"test_config", test_config, METH_VARARGS},
+	{NULL, NULL} /* sentinel */
+};
+
+DL_EXPORT(void)
+init_test(void)
+{
+	PyObject *m, *d;
+
+	m = Py_InitModule("_test", TestMethods);
+
+	TestError = PyErr_NewException("_test.error", NULL, NULL);
+	d = PyModule_GetDict(m);
+	PyDict_SetItemString(d, "error", TestError);
+}
diff --git a/PCbuild/_test.dsp b/PCbuild/_test.dsp
new file mode 100644
index 0000000..6bf5666
--- /dev/null
+++ b/PCbuild/_test.dsp
@@ -0,0 +1,99 @@
+# Microsoft Developer Studio Project File - Name="_test" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=_test - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "_test.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "_test.mak" CFG="_test - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "_test - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "_test - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName "_test"
+# PROP Scc_LocalPath ".."
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "_test - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "x86-temp-release\_test"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+F90=df.exe
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MMAP_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\Include" /I "..\PC" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MMAP_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0xc09 /d "NDEBUG"
+# ADD RSC /l 0xc09 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /base:"0x1e1F0000" /dll /machine:I386 /out:"./_test.pyd" /export:init_test
+# SUBTRACT LINK32 /pdb:none
+
+!ELSEIF  "$(CFG)" == "_test - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "x86-temp-debug\_test"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+F90=df.exe
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MMAP_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\Include" /I "..\PC" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MMAP_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0xc09 /d "_DEBUG"
+# ADD RSC /l 0xc09 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /base:"0x1e1F0000" /dll /debug /machine:I386 /out:"./_test_d.pyd" /pdbtype:sept /export:init_test
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF 
+
+# Begin Target
+
+# Name "_test - Win32 Release"
+# Name "_test - Win32 Debug"
+# Begin Source File
+
+SOURCE=..\Modules\_testmodule.c
+# End Source File
+# End Target
+# End Project
diff --git a/PCbuild/pcbuild.dsw b/PCbuild/pcbuild.dsw
index 1e521ad..87c9ad9 100644
--- a/PCbuild/pcbuild.dsw
+++ b/PCbuild/pcbuild.dsw
@@ -33,6 +33,18 @@
 
 ###############################################################################
 
+Project: "_test"=.\_test.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
 Project: "_tkinter"=.\_tkinter.dsp - Package Owner=<4>
 
 Package=<5>
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 255a53b..f7a6e8c 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -55,6 +55,9 @@
     Windows registry API
 winsound
     play sounds (typically .wav files) under Windows
+_test
+    tests of the Python C API, run via Lib/test/test_capi.py, and
+    implemented by module Modules/_testmodule.c
 
 The following subprojects will generally NOT build out of the box.  They
 wrap code Python doesn't control, and you'll need to download the base
