Skip to content

Commit e4e9fcf

Browse files
committed
Fix: use math.ceil, calculations in bytes
1 parent 405419c commit e4e9fcf

2 files changed

Lines changed: 11 additions & 11 deletions

File tree

packages/wdio-browserstack-service/src/constants.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,9 @@ export const RERUN_ENV = 'BROWSERSTACK_RERUN'
9494
export const TESTOPS_BUILD_COMPLETED_ENV = 'BS_TESTOPS_BUILD_COMPLETED'
9595

9696
// Maximum size of VCS info which is allowed
97-
export const MAX_GIT_META_DATA_SIZE_IN_KB = 64
97+
export const MAX_GIT_META_DATA_SIZE_IN_BYTES = 65536
9898

9999
/* The value to be appended at the end if git metadata is larger than
100-
MAX_GIT_META_DATA_SIZE_IN_KB
100+
MAX_GIT_META_DATA_SIZE_IN_BYTES
101101
*/
102102
export const GIT_META_DATA_TRUNCATED = '...[TRUNCATED]'

packages/wdio-browserstack-service/src/util.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import {
3535
RERUN_ENV,
3636
TESTOPS_BUILD_COMPLETED_ENV,
3737
TESTOPS_JWT_ENV,
38-
MAX_GIT_META_DATA_SIZE_IN_KB,
38+
MAX_GIT_META_DATA_SIZE_IN_BYTES,
3939
GIT_META_DATA_TRUNCATED
4040
} from './constants.js'
4141
import CrashReporter from './crash-reporter.js'
@@ -1186,13 +1186,13 @@ export function getFailureObject(error: string|Error) {
11861186
}
11871187
}
11881188

1189-
export function truncateString(field: string, truncateSizeInKb: number) {
1189+
export function truncateString(field: string, truncateSizeInBytes: number) {
11901190
try {
11911191
const bufferSizeInBytes = Buffer.from(GIT_META_DATA_TRUNCATED).length
11921192

11931193
const fieldBufferObj = Buffer.from(field)
11941194
const lenOfFieldBufferObj = fieldBufferObj.length
1195-
const finalLen = Math.round(lenOfFieldBufferObj - (truncateSizeInKb * 1024) - (bufferSizeInBytes))
1195+
const finalLen = Math.ceil(lenOfFieldBufferObj - truncateSizeInBytes - bufferSizeInBytes)
11961196
if (finalLen > 0) {
11971197
const truncatedString = fieldBufferObj.subarray(0, finalLen).toString() + GIT_META_DATA_TRUNCATED
11981198
return truncatedString
@@ -1203,12 +1203,12 @@ export function truncateString(field: string, truncateSizeInKb: number) {
12031203
return field
12041204
}
12051205

1206-
export function getSizeOfJsonObjectInKb(jsonData: Object) {
1206+
export function getSizeOfJsonObjectInBytes(jsonData: Object) {
12071207
try {
12081208
if (jsonData) {
12091209
const buffer = Buffer.from(JSON.stringify(jsonData))
12101210

1211-
return Math.floor(buffer.length/1024)
1211+
return buffer.length
12121212
}
12131213
} catch (error) {
12141214
BStackLogger.debug(`Something went wrong while calculating size of JSON object: ${error}`)
@@ -1218,13 +1218,13 @@ export function getSizeOfJsonObjectInKb(jsonData: Object) {
12181218
}
12191219

12201220
export function checkAndTruncateVCSInfo(gitMetaData: any) {
1221-
const gitMetaDataSizeInKb = getSizeOfJsonObjectInKb(gitMetaData)
1221+
const gitMetaDataSizeInBytes = getSizeOfJsonObjectInBytes(gitMetaData)
12221222

1223-
if (gitMetaDataSizeInKb && gitMetaDataSizeInKb > 0 && gitMetaDataSizeInKb > MAX_GIT_META_DATA_SIZE_IN_KB) {
1224-
const truncateSize = gitMetaDataSizeInKb - MAX_GIT_META_DATA_SIZE_IN_KB
1223+
if (gitMetaDataSizeInBytes && gitMetaDataSizeInBytes > MAX_GIT_META_DATA_SIZE_IN_BYTES) {
1224+
const truncateSize = gitMetaDataSizeInBytes - MAX_GIT_META_DATA_SIZE_IN_BYTES
12251225
const truncatedCommitMessage = truncateString(gitMetaData.commit_message, truncateSize)
12261226
gitMetaData.commit_message = truncatedCommitMessage
1227-
BStackLogger.info(`The commit has been truncated. Size of commit after truncation is ${ getSizeOfJsonObjectInKb(gitMetaData) }`)
1227+
BStackLogger.info(`The commit has been truncated. Size of commit after truncation is ${ getSizeOfJsonObjectInBytes(gitMetaData) /1024 } KB`)
12281228
}
12291229

12301230
return gitMetaData

0 commit comments

Comments
 (0)