From: Volker Lendecke Date: Wed, 14 Dec 2022 17:05:04 +0000 (+0100) Subject: tests: Show that in smb1 posix we don't treat dirs as case sensitive X-Git-Tag: talloc-2.4.0~229 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=612c8da01cf54be1268f2fe27fb187161cc2d0b3;p=thirdparty%2Fsamba.git tests: Show that in smb1 posix we don't treat dirs as case sensitive Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- diff --git a/python/samba/tests/smb1posix.py b/python/samba/tests/smb1posix.py new file mode 100644 index 00000000000..52b0312ac8b --- /dev/null +++ b/python/samba/tests/smb1posix.py @@ -0,0 +1,52 @@ +# Unix SMB/CIFS implementation. +# Copyright Volker Lendecke 2022 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +from samba.samba3 import libsmb_samba_internal as libsmb +from samba import (ntstatus,NTSTATUSError) +from samba.dcerpc import security as sec +import samba.tests.libsmb + +class Smb1PosixTests(samba.tests.libsmb.LibsmbTests): + + def test_directory_case_sensivity(self): + """Test that in smb1 posix dirs are case sensitive""" + conn = libsmb.Conn( + self.server_ip, + "posix_share", + self.lp, + self.creds, + force_smb1=True) + conn.smb1_posix() + + try: + conn.mkdir("lower") + except NTSTATUSError as e: + if e.args[0] != ntstatus.NT_STATUS_OBJECT_NAME_COLLISION: + raise + try: + conn.mkdir("lower/second") + except NTSTATUSError as e: + if e.args[0] != ntstatus.NT_STATUS_OBJECT_NAME_COLLISION: + raise + + self.assertFalse(conn.chkpath("Lower/second")) + conn.rmdir("lower/second") + conn.rmdir("lower") + +if __name__ == '__main__': + import unittest + unittest.main() diff --git a/selftest/knownfail.d/posix_case_sensivity b/selftest/knownfail.d/posix_case_sensivity new file mode 100644 index 00000000000..895c9e3c848 --- /dev/null +++ b/selftest/knownfail.d/posix_case_sensivity @@ -0,0 +1 @@ +samba.tests.smb1posix diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 1630fdd2035..a1379e8080e 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -1689,3 +1689,4 @@ for t in CLUSTERED_LOCAL_TESTS: planpythontestsuite("fileserver", "samba.tests.smb3unix") planpythontestsuite("fileserver", "samba.tests.reparsepoints") planpythontestsuite("fileserver_smb1", "samba.tests.smb2symlink") +planpythontestsuite("fileserver_smb1", "samba.tests.smb1posix")