Fix true spelling errors across all source and header files within the SDK and add exceptions for false positives. (#2209)

Part of https://github.com/Azure/azure-sdk-for-cpp/issues/1277, checking what types of warnings the CI emits.

Verified all SDK product `.cpp`, `.hpp`, `.txt`, and `.md` files, primarily focused on azure-core. They are all clean now. There are some exceptions that needs to be added for keyvault and storage, but they are false positives, so not a concern.

> `cspell lint --config .vscode/cspell.json *.hpp */**/*.hpp`

CSpell: Files checked: 188, Issues found: 0 in 0 files

> `cspell lint --config .vscode/cspell.json *.cpp */**/*.cpp`

CSpell: Files checked: 186, Issues found: 88 in 15 files (keyvault and storage false positives, or tests)

> `cspell lint --config .vscode/cspell.json *.md */**/*.md`

CSpell: Files checked: 45, Issues found: 5 in 2 files (eng/common)

> `cspell lint --config .vscode/cspell.json *.txt */**/*.txt`

CSpell: Files checked: 44, Issues found: 0 in 0 files

> `cspell lint --config .vscode/cspell.json *.* */**/*`

CSpell: Files checked: 646, Issues found: 328 in 69 files (most of these are in eng\docs\api\assets\style.css or eng/common)

Deprioritize and ignored the errors from the test files (including test resource json files), and `eng/common` since those need to be centrally fixed.
This commit is contained in:
Ahson Khan 2021-05-07 14:04:58 -07:00 committed by GitHub
parent 597aac06c2
commit fd9c3e5ebb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 129 additions and 44 deletions

91
.vscode/cspell.json vendored
View File

@ -3,23 +3,108 @@
"language": "en",
"languageId": "cpp",
"dictionaries": ["powershell"],
"ignorePaths": ["vcpkg/**/*", "*.exe", "*.a", "*.lib", ".vscode/cspell.json"],
"ignorePaths": ["vcpkg/**/*", "*.exe", "*.a", "*.lib", ".vscode/cspell.json", "json.hpp", "*nlohmann-json*"],
"words": [
"ABFS",
"ABNF",
"Adls",
"Aloctl",
"azcore",
"azsdk",
"azuresdkforcpp",
"cmake",
"CMOCKA",
"Cobertura",
"ctest",
"DCMAKE",
"Deserializes",
"docfx",
"DPAPI",
"DRUN",
"DWARNINGS",
"eastus",
"Edlund",
"Favicon",
"gcovr",
"githubio",
"gmock",
"gtest",
"Gzrs",
"HKEY",
"itfactor",
"Kirilov",
"lcov",
"LIBCMTD",
"Lohmann",
"LPBYTE",
"LPSTR",
"moxygen",
"MSRC",
"Niels",
"nlohmann",
"noclean",
"NOCLOSE",
"NOCRLF",
"NOLINT",
"NOMINMAX",
"NTSTATUS",
"okhttp",
"PBYTE",
"pdbs",
"PUCHAR",
"pwsh",
"Ragrs",
"Ragzrs",
"Reconnector",
"Reitz",
"retriable",
"rwxrw",
"SDDL",
"Seriot",
"SPDX",
"stoi",
"vcpkg"
"stoll",
"stoull",
"STREQ",
"undeleted",
"unscoped",
"unskipped",
"vcpkg",
"Viet",
"Viktor",
"Wdocumentation",
"Werror",
"westus",
"Wextra",
"Wgnu",
"Wunused",
"Xclang",
"XSMB"
],
"overrides": [
{
"filename": "**/eng/pipelines/templates/jobs/archetype-sdk-client.yml",
"words": ["DRUN", "DCMAKE", "gcovr", "lcov", "iname", "gtest"]
"words": ["lcov", "iname"]
},
{
"filename": "**/sdk/storage/azure-storage-common/src/crypt.cpp",
"words": ["wdata"]
},
{
"filename": "**/sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_options.hpp",
"words": ["dacl"]
},
{
"filename": "**/sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/protocol/blob_rest_client.hpp",
"words": ["xmsblobsequencenumber"]
},
{
"filename": "**/sdk/keyvault/azure-security-keyvault-keys/inc/azure/keyvault/keys/key_curve_name.hpp",
"words": ["SECG", "SECP"]
},
{
"filename": "**/sdk/storage/azure-storage-common/test/test_base.hpp",
"words": ["FQJQ"]
}
],
"allowCompoundWords": true

View File

@ -46,7 +46,7 @@ if(MSVC_USE_STATIC_CRT AND MSVC)
# 4. Sometimes, the following approach is recommended instead:
# +-----------------------------------------------------------------------------------+
# | # Use the static runtime libraries when building statically |
# | # for consistency with vcpkg's arch-windows-static triplets: |
# | # for consistency with the vcpkg arch-windows-static triplets: |
# | cmake_policy(SET CMP0091 NEW) |
# | # see https://cmake.org/cmake/help/v3.15/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html |
# | if (NOT DEFINED CMAKE_MSVC_RUNTIME_LIBRARY) |

View File

@ -44,7 +44,7 @@ macro(az_vcpkg_portfile_prep targetName fileName contentToRemove)
# Produce the files to help with the VcPkg release.
# Go to the /out/build/<cfg>/vcpkg directory, and copy (merge) "ports" folder to the vcpkg repo.
# Then, update portfile.cmake's SHA512 from "1" to the actual hash (a good way to do it is to uninstall a package,
# Then, update the portfile.cmake file SHA512 from "1" to the actual hash (a good way to do it is to uninstall a package,
# clean vcpkg/downloads, vcpkg/buildtrees, run "vcpkg install <pkg>", and get the SHA from the error message).
configure_file(
"${CMAKE_BINARY_DIR}/vcpkg_prep/${targetName}/${fileName}"
@ -128,7 +128,7 @@ macro(az_vcpkg_export targetName macroNamePart dllImportExportHeaderPath)
COMPATIBILITY SameMajorVersion
)
# Install package cofig and version files.
# Install package config and version files.
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/${targetName}-cppConfig.cmake"

View File

@ -28,7 +28,7 @@ message: >
/check-enforcer evaluate
```
Typically evaulation only takes a few seconds. If you know that your pull
Typically evaluation only takes a few seconds. If you know that your pull
request is not covered by a pipeline and this is expected you can override
Check Enforcer using the following command:

View File

@ -3,7 +3,7 @@
############# Collect Changelog script ###################
#
# This script helps to create the Language release notes by collectiong each service's release notes
# This script helps to create the Language release notes by collecting each service's release notes
# and generating a single unified release notes doc with the required format and links to be published.
#
# Usage:

View File

@ -11,7 +11,7 @@ $repoRoot = Resolve-Path "$PSScriptRoot/../..";
. (Join-Path ${repoRoot} eng common scripts logging.ps1)
. (Join-Path ${repoRoot} eng scripts SdkVersion-Common.ps1)
$versionFileLocation = Get-VersionHppLocaiton `
$versionFileLocation = Get-VersionHppLocation `
-ServiceDirectory $ServiceDirectory `
-PackageName $PackageName

View File

@ -47,7 +47,7 @@ function Get-cpp-PackageInfoFromPackageFile($pkg, $workingDirectory)
PackageId = $pkgName
PackageVersion = $pkgVersion
ReleaseTag = "${pkgName}_${pkgVersion}"
# Artifact info is always considered deployable for now becasue it is not
# Artifact info is always considered deployable for now because it is not
# deployed anywhere. Dealing with duplicate tags happens downstream in
# CheckArtifactShaAgainstTagsList
Deployable = $true

View File

@ -3,7 +3,7 @@
$RepoRoot = "${PSScriptRoot}/../.."
$VersionRegex = '(#define AZURE_\w+_VERSION_MAJOR )(?<major>[0-9]+)(\s+#define AZURE_\w+_VERSION_MINOR )(?<minor>[0-9]+)(\s+#define AZURE_\w+_VERSION_PATCH )(?<patch>[0-9]+)(\s+#define AZURE_\w+_VERSION_PRERELEASE )"(?<prerelease>[a-zA-Z0-9.]*)"';
function Get-VersionHppLocaiton ($ServiceDirectory, $PackageName) {
function Get-VersionHppLocation ($ServiceDirectory, $PackageName) {
$versionHppLocation = Get-ChildItem package_version.hpp -Path "$RepoRoot/sdk/$ServiceDirectory/$PackageName" -Recurse
Write-Verbose "package_version.hpp location: $versionHppLocation"

View File

@ -68,7 +68,7 @@ function Update-Version(
-ReplaceLatestEntryTitle $ReplaceLatestEntryTitle
}
$versionHppLocation = Get-VersionHppLocaiton `
$versionHppLocation = Get-VersionHppLocation `
-ServiceDirectory $ServiceDirectory `
-PackageName $PackageName

View File

@ -103,11 +103,11 @@ if (!$DailyRelease) {
# Grab content needed for commit message and place in a temporary file
$packageVersion = (Get-Content $ReleaseArtifactSourceDirectory/package-info.json -Raw | ConvertFrom-Json).version
$commitMessageFile = New-TemporaryFile
$chagelogEntry = Get-ChangeLogEntryAsString `
$changelogEntry = Get-ChangeLogEntryAsString `
-ChangeLogLocation $ReleaseArtifactSourceDirectory/CHANGELOG.md `
-VersionString $PackageVersion
"[$VcpkgPortName] Update to $PackageVersion`n$chagelogEntry" `
"[$VcpkgPortName] Update to $PackageVersion`n$changelogEntry" `
| Set-Content $commitMessageFile
Write-Host "Commit Message:"

View File

@ -28,7 +28,7 @@ namespace _detail {
// system_clock is not a steady clock. It is calendar-based, which means it can be adjusted,
// and it may go backwards in time after adjustments, or jump forward faster than the actual
// time passes, if you catch the moment before and after syncing the clock.
// Steady clock would be good for measuring elapsed time without reboots (or hybernation?).
// Steady clock would be good for measuring elapsed time without reboots (or hibernation?).
// Steady clock's epoch = boot time, and it would only go forward in steady fashion, after the
// system has started.
// Using this clock in combination with system_clock is common scenario.

View File

@ -12,8 +12,8 @@
// 3. Use "#if !defined(WINAPI_PARTITION_DESKTOP) || WINAPI_PARTITION_DESKTOP" (***) as a condition
// meant to detect as fully-featured Win32 API (i.e. registry access, FileOpen() etc.) = "NOT UWP"
// (4.) "#else" you are on "UWP" (*)
// 5. Some fetures (i.e. WinHTTP) may have support for some non-traditinal-Win32 desktops, yet not
// the entirety of "UWP"(*). For example, WinHttp would curently compile and work on the following:
// 5. Some features (i.e. WinHTTP) may have support for some non-traditional-Win32 desktops, yet not
// the entirety of "UWP"(*). For example, WinHttp would currently compile and work on the following:
// WINAPI_PARTITION_DESKTOP, WINAPI_PARTITION_SYSTEM, WINAPI_PARTITION_GAMES, so more complex
// conditions are possible (****).
//
@ -32,7 +32,7 @@
// platforms (Windows 7?). But IF "WINAPI_PARTITION_DESKTOP" is defined, then it can be
// either 0 or 1 (simply put). For example, if we are being compiled for the "traditional" Windows
// 10 desktop, it has a "Full WIn32 API", it has WINAPI_PARTITION_DESKTOP defined, and
// WINAPI_PARTITION_DESKTOP evaulates to 1. Otherwise, it is a UWP, which also has
// WINAPI_PARTITION_DESKTOP evaluates to 1. Otherwise, it is a UWP, which also has
// WINAPI_PARTITION_DESKTOP defined, but it evaluates as 0.
// (****) - VcPkg could be limiting the default option, because at the moment it only distinguishes
// between "UWP" and "Not UWP". So, if we have a default option indicating whether to build WinHTTP,

View File

@ -25,11 +25,11 @@ namespace Azure { namespace Core {
std::string queryStr;
if (!encodedQueryParameters.empty())
{
auto separ = '?';
auto separator = '?';
for (const auto& q : encodedQueryParameters)
{
queryStr += separ + q.first + '=' + q.second;
separ = '&';
queryStr += separator + q.first + '=' + q.second;
separator = '&';
}
}

View File

@ -581,7 +581,7 @@ DateTime DateTime::Parse(std::string const& dateTime, DateFormat format)
{
// Shortest possible string: "00010101"
// "Longest" possible string: "9999-12-31T23:59:60.1234567*+99:59"
// * - any fractonal second digits after 7th are ignored.
// * - any fractional second digits after 7th are ignored.
IncreaseAndCheckMinLength(&minDateTimeLength, DateTimeLength, 8);
{

View File

@ -86,7 +86,7 @@ namespace Azure { namespace Core { namespace Test {
static_cast<typename std::underlying_type<Azure::Core::Http::HttpStatusCode>::type>(
responseCode));
// Clean the connection from the pool *Windows fails to clean if we leave to be clean uppon
// Clean the connection from the pool *Windows fails to clean if we leave to be clean upon
// app-destruction
EXPECT_NO_THROW(Azure::Core::Http::_detail::CurlConnectionPool::g_curlConnectionPool
.ConnectionPoolIndex.clear());
@ -204,7 +204,7 @@ namespace Azure { namespace Core { namespace Test {
static_cast<typename std::underlying_type<Azure::Core::Http::HttpStatusCode>::type>(
responseCode));
// Clean the connection from the pool *Windows fails to clean if we leave to be clean uppon
// Clean the connection from the pool *Windows fails to clean if we leave to be clean upon
// app-destruction
EXPECT_NO_THROW(Azure::Core::Http::_detail::CurlConnectionPool::g_curlConnectionPool
.ConnectionPoolIndex.clear());

View File

@ -5,7 +5,7 @@
* @file
* @brief The base class for the common bahavior of the transport adapter tests.
*
* @brief Any http trasport adapter can be used for this tests.
* @brief Any http transport adapter can be used for this tests.
*
*/

View File

@ -1120,7 +1120,7 @@ inline parser_results parser::parse(int argc, const char** argv, bool posOnly) c
// Now we check if this is just "--" which is a special argument that
// causes all following arguments to be treated as non-options and is
// itselve discarded.
// itself discarded.
if (std::strncmp(arg_i_cstr, "--", 2) == 0 && arg_i_len == 2)
{
ignore_flags = true;

View File

@ -3,7 +3,7 @@
/**
* @file
* @brief Define the main performance framewoek program.
* @brief Define the main performance framework program.
*
*/

View File

@ -2,7 +2,7 @@
// SPDX-License-Identifier: MIT
/**
* @brief General purpose header for Key Vault keys functionaly.
* @brief General purpose header for Key Vault keys functionality.
*
*/

View File

@ -62,7 +62,7 @@
- Renamed `StartCopyBlobFromUriOptions` to `StartBlobCopyFromUriOptions`.
- Renamed `StartCopyPageBlobIncrementalOptions` to `StartBlobCopyIncrementalOptions`.
- Removed `Blob` from the name of lease options and return types, like `AcquireBlobLeaseOptions` was renamed to `AcquireLeaseOptions`.
- Removed `Blob` prefix from the name of structs `BlobGeoReplication`, `BlobLeaseStatus`, `BlobLeaseState`, `BlobLeaseDurationType`, `BlobAnalyticsLogging`, `BlobMetrics`, `BlobCorsRule`, `BlobRetentionPolicy`, `BlobStaticWebsite`, `BlobArchiveStatus` and `BlobGeoReplictionStatus`.
- Removed `Blob` prefix from the name of structs `BlobGeoReplication`, `BlobLeaseStatus`, `BlobLeaseState`, `BlobLeaseDurationType`, `BlobAnalyticsLogging`, `BlobMetrics`, `BlobCorsRule`, `BlobRetentionPolicy`, `BlobStaticWebsite`, `BlobArchiveStatus` and `BlobGeoReplicationStatus`.
- Removed `RequestId` from return types.
- Changed `BodyStream` parameter of `UploadBlob`, `Upload`, `UploadPages` and `AppendBlock`functions from pointer to reference.
- Renamed access tier members in return types and options from `Tier` to `AccessTier`.
@ -209,7 +209,7 @@
- Bump up API version to 2020-02-10.
- Support for Last Accessting Time.
- Add TagCount and ExiryTime in the responses of getting propertites and downloading blobs.
- Add TagCount and ExpiryTime in the responses of getting properties and downloading blobs.
### Breaking Changes

View File

@ -27,7 +27,7 @@ namespace Azure { namespace Storage { namespace Blobs {
};
/**
* @brief Specifies HTTP options for conditioanal requests based on tags.
* @brief Specifies HTTP options for conditional requests based on tags.
*/
struct TagAccessConditions
{
@ -123,7 +123,7 @@ namespace Azure { namespace Storage { namespace Blobs {
};
/**
* @brief Client options used to initalize all kinds of blob clients.
* @brief Client options used to initialize all kinds of blob clients.
*/
struct BlobClientOptions : Azure::Core::_internal::ClientOptions
{

View File

@ -293,7 +293,7 @@ namespace Azure { namespace Storage { namespace Sas {
* @brief Uses an account's user delegation key to sign this shared access signature, to
* produce the proper SAS query parameters for authentication requests.
*
* @param userDelegationKey UserDelegationKey retruned from
* @param userDelegationKey UserDelegationKey returned from
* BlobServiceClient.GetUserDelegationKey.
* @param accountName The name of the storage account.
* @return The SAS query parameters used for authenticating requests.

View File

@ -103,7 +103,7 @@ namespace Azure { namespace Storage {
}
else
{
throw std::runtime_error("unknwon algorithm type");
throw std::runtime_error("unknown algorithm type");
}
unsigned long algorithmFlags = 0;

View File

@ -25,7 +25,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
using GetUserDelegationKeyOptions = Blobs::GetUserDelegationKeyOptions;
/**
* @brief Client options used to initalize all DataLake clients.
* @brief Client options used to initialize all DataLake clients.
*/
struct DataLakeClientOptions : Azure::Core::_internal::ClientOptions
{

View File

@ -107,7 +107,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
/**
* @brief Deletes the resource the path points to.
* @param options Optional parameters to delete the reource the path points to.
* @param options Optional parameters to delete the resource the path points to.
* @param context Context for cancelling long running operations.
* @return Azure::Response<Models::DeletePathResult> which is current empty but
* preserved for future usage.
@ -119,7 +119,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
/**
* @brief Deletes the resource the path points to if it exists.
* @param options Optional parameters to delete the reource the path points to.
* @param options Optional parameters to delete the resource the path points to.
* @param context Context for cancelling long running operations.
* @return Azure::Response<Models::DeletePathResult> which is current empty but
* preserved for future usage. The result will only valid if the delete operation is successful.

View File

@ -106,7 +106,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
* The signed identifiers of the file system.
*/
std::vector<SignedIdentifier> SignedIdentifiers;
}; // struct DataLakeFileSystemAccessPolciy
}; // struct FileSystemAccessPolicy
using SetFileSystemAccessPolicyResult = Blobs::Models::SetBlobContainerAccessPolicyResult;

View File

@ -222,7 +222,7 @@ namespace Azure { namespace Storage { namespace Sas {
std::string Path;
/**
* @brief Defines whether ornot the Path is a directory. If this value is set to true, the Path
* @brief Defines whether or not the Path is a directory. If this value is set to true, the Path
* is a directory for a directory SAS. If set to false or default, the Path is a file for a file
* SAS.
*/
@ -327,7 +327,7 @@ namespace Azure { namespace Storage { namespace Sas {
* @brief Uses an account's user delegation key to sign this shared access signature, to
* produce the proper SAS query parameters for authentication requests.
*
* @param userDelegationKey UserDelegationKey retruned from
* @param userDelegationKey UserDelegationKey returned from
* BlobServiceClient.GetUserDelegationKey.
* @param accountName The name of the storage account.
* @return The SAS query parameters used for authenticating requests.

View File

@ -378,7 +378,7 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
protocolLayerOptions.ExpiryOrigin = expiryOrigin;
if (options.ExpiresOn.HasValue() && options.TimeToExpire.HasValue())
{
// ExpiresOn and TimeToExpire should be mutually exlusive.
// ExpiresOn and TimeToExpire should be mutually exclusive.
std::abort();
}
if (options.ExpiresOn.HasValue())

View File

@ -71,7 +71,7 @@ namespace Azure { namespace Storage { namespace Test {
return result;
}
TEST_F(DataLakeServiceClientTest, ListFileSystemsSegement)
TEST_F(DataLakeServiceClientTest, ListFileSystemsSegment)
{
{
// Normal list without prefix.

View File

@ -16,7 +16,7 @@
namespace Azure { namespace Storage { namespace Files { namespace Shares {
/**
* @brief Client options used to initalize share clients.
* @brief Client options used to initialize share clients.
*/
struct ShareClientOptions : Azure::Core::_internal::ClientOptions
{

View File

@ -82,7 +82,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
* @param properties The properties of the service that is to be set.
* @param options Optional parameters to set the properties of the service.
* @param context Context for cancelling long running operations.
* @return Azure::Response<Models::SetServicePropertiesResult> The infromation returned
* @return Azure::Response<Models::SetServicePropertiesResult> The information returned
* when setting the service properties.
*/
Azure::Response<Models::SetServicePropertiesResult> SetProperties(