diff --git a/README.md b/README.md
index f40c56c5..6202b38c 100644
--- a/README.md
+++ b/README.md
@@ -46,7 +46,7 @@ Fully featured and highly configurable SFTP server, written in Go
 
 ## Platforms
 
-SFTPGo is developed and tested on Linux. After each commit, the code is automatically built and tested on Linux, macOS and Windows using a [GitHub Action](./.github/workflows/development.yml). Other UNIX variants such as \*BSD should work too.
+SFTPGo is developed and tested on Linux. After each commit, the code is automatically built and tested on Linux, macOS and Windows using a [GitHub Action](./.github/workflows/development.yml). The test cases are regularly manually executed and passed on FreeBSD. Other *BSD variants should work too.
 
 ## Requirements
 
diff --git a/cmd/genman.go b/cmd/genman.go
index 0142070a..a23bbfaf 100644
--- a/cmd/genman.go
+++ b/cmd/genman.go
@@ -25,7 +25,7 @@ in the "man" directory under the current directory.
 			logger.DisableLogger()
 			logger.EnableConsoleLogger(zerolog.DebugLevel)
 			if _, err := os.Stat(manDir); os.IsNotExist(err) {
-				err = os.Mkdir(manDir, os.ModePerm)
+				err = os.MkdirAll(manDir, os.ModePerm)
 				if err != nil {
 					logger.WarnToConsole("Unable to generate man page files: %v", err)
 					os.Exit(1)
diff --git a/httpd/httpd_test.go b/httpd/httpd_test.go
index 9bdf1ab7..a00e8652 100644
--- a/httpd/httpd_test.go
+++ b/httpd/httpd_test.go
@@ -2026,6 +2026,8 @@ func TestStartFolderQuotaScanMock(t *testing.T) {
 	checkResponseCode(t, http.StatusOK, rr.Code)
 	err = os.RemoveAll(folderPath)
 	assert.NoError(t, err)
+	err = os.RemoveAll(mappedPath)
+	assert.NoError(t, err)
 }
 
 func TestStartQuotaScanNonExistentUserMock(t *testing.T) {
diff --git a/sftpd/internal_test.go b/sftpd/internal_test.go
index d14822dd..042d2ac8 100644
--- a/sftpd/internal_test.go
+++ b/sftpd/internal_test.go
@@ -2139,6 +2139,8 @@ func TestRenamePermission(t *testing.T) {
 	assert.NoError(t, err)
 	err = conn.checkRecursiveRenameDirPermissions(dir3, dir6)
 	assert.NoError(t, err)
+	err = os.RemoveAll(dir3)
+	assert.NoError(t, err)
 }
 
 func TestRecursiveCopyErrors(t *testing.T) {
diff --git a/sftpd/sftpd_test.go b/sftpd/sftpd_test.go
index 89aef0d4..e75e13f3 100644
--- a/sftpd/sftpd_test.go
+++ b/sftpd/sftpd_test.go
@@ -4119,8 +4119,9 @@ func TestOpenError(t *testing.T) {
 		err = os.Chmod(filepath.Join(user.GetHomeDir(), "test"), 0000)
 		assert.NoError(t, err)
 		err = client.Rename(testFileName, path.Join("test", testFileName))
-		assert.Error(t, err)
-		assert.Contains(t, err.Error(), sftp.ErrSSHFxPermissionDenied.Error())
+		if assert.Error(t, err) {
+			assert.Contains(t, err.Error(), sftp.ErrSSHFxPermissionDenied.Error())
+		}
 		err = os.Chmod(filepath.Join(user.GetHomeDir(), "test"), 0755)
 		assert.NoError(t, err)
 		err = os.Remove(localDownloadPath)