summaryrefslogtreecommitdiff
path: root/Python/dynload_win.c
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2015-02-04 01:04:31 -0800
committerGregory P. Smith <greg@krypto.org>2015-02-04 01:04:31 -0800
commitef3e7a803f7e575ce26cb2e4e29e46da2d89c124 (patch)
treeec9df5664c8029412e3923f694c3bbbbc9434ee6 /Python/dynload_win.c
parentf97d8cc43c09116bebd4d54b7ef5baf472058de3 (diff)
parent7c584647e0c2fe3f84299cab3b7941d1595de32f (diff)
downloadcpython-ef3e7a803f7e575ce26cb2e4e29e46da2d89c124.tar.gz
Skip some tests that require a subinterpreter launched with -E or -I when the
interpreter under test is being run in an environment that requires the use of environment variables such as PYTHONHOME in order to function at all. Adds a test.script_helper.interpreter_requires_environment() function to be used with @unittest.skipIf on stdlib test methods requiring this.
Diffstat (limited to 'Python/dynload_win.c')
-rw-r--r--Python/dynload_win.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/Python/dynload_win.c b/Python/dynload_win.c
index ffcf0ee1d7..9ed9eea333 100644
--- a/Python/dynload_win.c
+++ b/Python/dynload_win.c
@@ -9,6 +9,7 @@
#include <ctype.h>
#include "importdl.h"
+#include "patchlevel.h"
#include <windows.h>
// "activation context" magic - see dl_nt.c...
@@ -17,16 +18,28 @@ extern ULONG_PTR _Py_ActivateActCtx();
void _Py_DeactivateActCtx(ULONG_PTR cookie);
#endif
-const char *_PyImport_DynLoadFiletab[] = {
#ifdef _DEBUG
- "_d.pyd",
+#define PYD_DEBUG_SUFFIX "_d"
+#else
+#define PYD_DEBUG_SUFFIX ""
+#endif
+
+#define STRINGIZE2(x) #x
+#define STRINGIZE(x) STRINGIZE2(x)
+#ifdef PYD_PLATFORM_TAG
+#define PYD_TAGGED_SUFFIX PYD_DEBUG_SUFFIX ".cp" STRINGIZE(PY_MAJOR_VERSION) STRINGIZE(PY_MINOR_VERSION) "-" PYD_PLATFORM_TAG ".pyd"
#else
- ".pyd",
+#define PYD_TAGGED_SUFFIX PYD_DEBUG_SUFFIX ".cp" STRINGIZE(PY_MAJOR_VERSION) STRINGIZE(PY_MINOR_VERSION) ".pyd"
#endif
+
+#define PYD_UNTAGGED_SUFFIX PYD_DEBUG_SUFFIX ".pyd"
+
+const char *_PyImport_DynLoadFiletab[] = {
+ PYD_TAGGED_SUFFIX,
+ PYD_UNTAGGED_SUFFIX,
NULL
};
-
/* Case insensitive string compare, to avoid any dependencies on particular
C RTL implementations */