For consistency with another test.
authorRussel Winder <russel@winder.org.uk>
Wed, 23 Aug 2017 10:03:04 +0000 (11:03 +0100)
committerRussel Winder <russel@winder.org.uk>
Wed, 23 Aug 2017 10:03:04 +0000 (11:03 +0100)
test/D/SharedObjects/Common/common.py
test/D/SharedObjects/Image/SConstruct_template

index a46ea7e4671144def186229559fe4eb0b0b71173..bae376d88a88224479eb1d7f2fc8dcbeccfe5057 100644 (file)
@@ -56,16 +56,22 @@ def testForTool(tool):
     if tool == 'dmd' and Base()['DC'] == 'gdmd':
         test.skip_test('gdmd does not recognize the -shared option so cannot support linking of shared objects.\n')
 
+    code_root = 'code'
+    library_root = 'answer'
+
     platform = Base()['PLATFORM']
     if platform == 'posix':
-        filename = 'code.o'
-        libraryname = 'libanswer.so'
+        code_name = code_root + '.o'
+        library_name = 'lib' + library_root + '.so'
     elif platform == 'darwin':
-        filename = 'code.o'
-        libraryname = 'libanswer.dylib'
+        code_name = code_root + '.o'
+        library_name = 'lib' + library_root + '.dylib'
+        # As at 2017-08-22, DMD 2.075.1, LDC 1.2.0 (D 2.072.2), and GDC 7.2.0 (D 2.068.2)
+        # it is not clear if shared libraries are supported on macOS.
+        # test.skip_test('Dynamic libraries not yet supported on macOS.\n')
     elif platform == 'win32':
-        filename = 'code.obj'
-        libraryname = 'answer.dll'
+        code_name = code_root + '.obj'
+        library_name = library_root + '.dll'
     else:
         test.fail_test()
 
@@ -79,8 +85,8 @@ def testForTool(tool):
     else:
         test.run()
 
-    test.must_exist(test.workpath(filename))
-    test.must_exist(test.workpath(libraryname))
+    test.must_exist(test.workpath(code_name))
+    test.must_exist(test.workpath(library_name))
 
     test.pass_test()
 
index d263e63d4d83e092fb47608332294a1ce3d723ee..f731a3352f55df0ce2b48392738f28f2f9ae6840 100644 (file)
@@ -1,5 +1,8 @@
 # -*- mode:python; coding:utf-8; -*-
 
+# The core difference between this test and the one of SharedObjectSuffixIssue
+# is that here we explicitly use the relevant D tool and things work.
+
 environment = Environment(
     tools=['{0}', 'link']
 )