author | Vladimir Marek <Vladimir.Marek@oracle.com> |
Mon, 10 Apr 2017 11:54:32 -0700 | |
branch | s11u3-sru |
changeset 7853 | 87236a3c36b4 |
parent 3114 | f0074f08c8db |
permissions | -rw-r--r-- |
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: |