components/python/xattr/patches/test.patch
author Vladimir Marek <Vladimir.Marek@oracle.com>
Mon, 10 Apr 2017 11:54:32 -0700
branchs11u3-sru
changeset 7853 87236a3c36b4
parent 3114 f0074f08c8db
permissions -rw-r--r--
25694511 xattr can't be built on recent CBE
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3114
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     1
Every file on Solaris 11 and on has two extended attributes, so if we find
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     2
them, we shouldn't fail.  Also, we don't support extended attributes on
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     3
symlinks, so just quietly pass that test.
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     4
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     5
Merged as of 0.7.6.
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     6
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     7
diff --git a/xattr/tests/test_xattr.py b/xattr/tests/test_xattr.py
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     8
--- a/xattr/tests/test_xattr.py	Mon Mar  3 10:12:24 2014
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     9
+++ b/xattr/tests/test_xattr.py	Wed Mar 26 16:29:24 2014
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    10
@@ -1,4 +1,5 @@
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    11
 import os
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    12
+import sys
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    13
 from unittest import TestCase
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    14
 from tempfile import mkdtemp, NamedTemporaryFile
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    15
 
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    16
@@ -8,10 +9,19 @@
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    17
 class BaseTestXattr(object):
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    18
     def test_attr(self):
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    19
         x = xattr.xattr(self.tempfile)
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    20
-        self.assertEqual(x.keys(), [])
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    21
-        self.assertEqual(x.list(), [])
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    22
-        self.assertEqual(dict(x), {})
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    23
 
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    24
+        # Solaris 11 and forward contain system attributes (file flags) in
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    25
+        # extended attributes present on all files, so cons them up into a
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    26
+        # comparison dict.
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    27
+        d = {}
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    28
+        if sys.platform == 'sunos5' and 'SUNWattr_ro' in x:
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    29
+            d['SUNWattr_ro'] = x['SUNWattr_ro']
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    30
+            d['SUNWattr_rw'] = x['SUNWattr_rw']
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    31
+
7853
87236a3c36b4 25694511 xattr can't be built on recent CBE
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 3114
diff changeset
    32
+        self.assertEqual(sorted(x.keys()), sorted(d.keys()))
87236a3c36b4 25694511 xattr can't be built on recent CBE
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 3114
diff changeset
    33
+        self.assertEqual(sorted(x.list()), sorted(d.keys()))
3114
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    34
+        self.assertEqual(dict(x), d)
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    35
+
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    36
         x['user.sopal'] = b'foo'
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    37
         x['user.sop.foo'] = b'bar'
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    38
         x[u'user.\N{SNOWMAN}'] = b'not a snowman'
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    39
@@ -38,6 +48,9 @@
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    40
         self.assertTrue('user.sop.foo' not in x)
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    41
 
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    42
     def test_symlink_attrs(self):
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    43
+        # Solaris doesn't support extended attributes on symlinks
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    44
+        if sys.platform == 'sunos5':
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    45
+            return
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    46
         symlinkPath = self.tempfilename + '.link'
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    47
         os.symlink(self.tempfilename, symlinkPath)
f0074f08c8db PSARC/2014/113 xattr: filesystem extended attribute support for Python
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    48
         try: