diff --git a/Lib/test/test_macostools.py b/Lib/test/test_macostools.py
index 55ca1b2..268d9bb 100644
--- a/Lib/test/test_macostools.py
+++ b/Lib/test/test_macostools.py
@@ -2,9 +2,10 @@
 
 import unittest
 import macostools
+import macfs
 import MacOS
 import os
-import tempfile
+import sys
 from test import test_support
 
 TESTFN2 = test_support.TESTFN + '2'
@@ -60,6 +61,24 @@
         macostools.copy(test_support.TESTFN, TESTFN2)
         self.assertEqual(self.compareData(), '')
         
+    def test_mkalias(self):
+        try:
+            os.unlink(TESTFN2)
+        except:
+            pass
+        macostools.mkalias(test_support.TESTFN, TESTFN2)
+        fss, _, _ = macfs.ResolveAliasFile(TESTFN2)
+        self.assertEqual(fss.as_pathname(), os.path.abspath(test_support.TESTFN))
+        
+    def test_mkalias_relative(self):
+        try:
+            os.unlink(TESTFN2)
+        except:
+            pass
+        macostools.mkalias(test_support.TESTFN, TESTFN2, sys.prefix)
+        fss, _, _ = macfs.ResolveAliasFile(TESTFN2)
+        self.assertEqual(fss.as_pathname(), os.path.abspath(test_support.TESTFN))
+        
     
 def test_main():
     test_support.run_unittest(TestMacostools)
