Skip to content

Commit 34cf476

Browse files
committed
Fix: use math.ceil, calculations in bytes
1 parent 076bf3b commit 34cf476

File tree

2 files changed

+18
-20
lines changed

2 files changed

+18
-20
lines changed

bin/helpers/constants.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -442,10 +442,10 @@ const CYPRESS_CONFIG_FILE_NAMES = Object.keys(CYPRESS_CONFIG_FILE_MAPPING);
442442
const CYPRESS_V10_AND_ABOVE_CONFIG_FILE_EXTENSIONS = ['js', 'ts', 'cjs', 'mjs']
443443

444444
// Maximum size of VCS info which is allowed
445-
const MAX_GIT_META_DATA_SIZE_IN_KB = 64;
445+
const MAX_GIT_META_DATA_SIZE_IN_BYTES = 65536;
446446

447447
/* The value to be appended at the end if git metadata is larger than
448-
MAX_GIT_META_DATA_SIZE_IN_KB
448+
MAX_GIT_META_DATA_SIZE_IN_BYTES
449449
*/
450450
const GIT_META_DATA_TRUNCATED = '...[TRUNCATED]';
451451

@@ -484,6 +484,6 @@ module.exports = Object.freeze({
484484
CYPRESS_CONFIG_FILE_MAPPING,
485485
CYPRESS_CONFIG_FILE_NAMES,
486486
CYPRESS_V10_AND_ABOVE_CONFIG_FILE_EXTENSIONS,
487-
MAX_GIT_META_DATA_SIZE_IN_KB,
487+
MAX_GIT_META_DATA_SIZE_IN_BYTES,
488488
GIT_META_DATA_TRUNCATED
489489
});

bin/helpers/helper.js

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const glob = require('glob');
1818
const pGitconfig = promisify(gitconfig);
1919
const { readCypressConfigFile } = require('./readCypressConfigUtil');
2020
const CrashReporter = require('../testObservability/crashReporter');
21-
const { MAX_GIT_META_DATA_SIZE_IN_KB, GIT_META_DATA_TRUNCATED } = require('./constants')
21+
const { MAX_GIT_META_DATA_SIZE_IN_BYTES, GIT_META_DATA_TRUNCATED } = require('./constants')
2222

2323
exports.debug = (text, shouldReport = false, throwable = null) => {
2424
if (process.env.BROWSERSTACK_OBSERVABILITY_DEBUG === "true" || process.env.BROWSERSTACK_OBSERVABILITY_DEBUG === "1") {
@@ -139,7 +139,7 @@ exports.getGitMetaData = () => {
139139
"remotes": remotes
140140
};
141141

142-
gitMetaData = this.checkAndTruncateVCSInfo(gitMetaData);
142+
gitMetaData = exports.checkAndTruncateVCSInfo(gitMetaData);
143143

144144
resolve(gitMetaData);
145145
} catch(e) {
@@ -170,7 +170,7 @@ exports.getGitMetaData = () => {
170170
"remotes": remotes
171171
};
172172

173-
gitMetaData = this.checkAndTruncateVCSInfo(gitMetaData);
173+
gitMetaData = exports.checkAndTruncateVCSInfo(gitMetaData);
174174

175175
resolve(gitMetaData);
176176
}
@@ -398,49 +398,47 @@ exports.getSupportFiles = (bsConfig, isA11y) => {
398398
}
399399

400400
exports.checkAndTruncateVCSInfo = (gitMetaData) => {
401-
const gitMetaDataSizeInKb = this.getSizeOfJsonObjectInKb(gitMetaData);
401+
const gitMetaDataSizeInBytes = exports.getSizeOfJsonObjectInBytes(gitMetaData);
402402

403-
if (gitMetaDataSizeInKb && gitMetaDataSizeInKb > 0 && gitMetaDataSizeInKb > MAX_GIT_META_DATA_SIZE_IN_KB) {
404-
const truncateSize = gitMetaDataSizeInKb - MAX_GIT_META_DATA_SIZE_IN_KB;
405-
const truncatedCommitMessage = this.truncateString(gitMetaData.commit_message, truncateSize);
403+
if (gitMetaDataSizeInBytes && gitMetaDataSizeInBytes > MAX_GIT_META_DATA_SIZE_IN_BYTES) {
404+
const truncateSize = gitMetaDataSizeInBytes - MAX_GIT_META_DATA_SIZE_IN_BYTES;
405+
const truncatedCommitMessage = exports.truncateString(gitMetaData.commit_message, truncateSize);
406406
gitMetaData.commit_message = truncatedCommitMessage;
407-
logger.info(`The commit has been truncated. Size of commit after truncation is ${ this.getSizeOfJsonObjectInKb(gitMetaData) }`);
407+
logger.info(`The commit has been truncated. Size of commit after truncation is ${ exports.getSizeOfJsonObjectInBytes(gitMetaData) / 1024} KB`);
408408
}
409409

410410
return gitMetaData;
411411
};
412412

413-
exports.getSizeOfJsonObjectInKb = (jsonData) => {
413+
exports.getSizeOfJsonObjectInBytes = (jsonData) => {
414414
try {
415415
if (jsonData && jsonData instanceof Object) {
416416
const buffer = Buffer.from(JSON.stringify(jsonData));
417417

418-
return Math.floor(buffer.length/1024);
418+
return buffer.length;
419419
}
420420
} catch (error) {
421-
exports.debug(`Something went wrong while calculating size of JSON object: ${error}`, true, error);
422-
logger.debug(`Something went wrong while calculating size of JSON object: ${error}`, true, error);
421+
logger.debug(`Something went wrong while calculating size of JSON object: ${error}`);
423422
}
424423

425424
return -1;
426425
};
427426

428-
exports.truncateString = (field, truncateSizeInKb) => {
427+
exports.truncateString = (field, truncateSizeInBytes) => {
429428
try {
430429
const bufferSizeInBytes = Buffer.from(GIT_META_DATA_TRUNCATED).length;
431430

432431
const fieldBufferObj = Buffer.from(field);
433432
const lenOfFieldBufferObj = fieldBufferObj.length;
434-
const finalLen = Math.round(lenOfFieldBufferObj - (truncateSizeInKb * 1024) - (bufferSizeInBytes));
433+
const finalLen = Math.ceil(lenOfFieldBufferObj - truncateSizeInBytes - bufferSizeInBytes);
435434
if (finalLen > 0) {
436435
const truncatedString = fieldBufferObj.subarray(0, finalLen).toString() + GIT_META_DATA_TRUNCATED;
437436

438437
return truncatedString;
439438
}
440439
} catch (error) {
441-
exports.debug(`Error while truncating field, nothing was truncated here: ${error}`, true, error);
442-
logger.debug(`Error while truncating field, nothing was truncated here: ${error}`, true, error);
440+
logger.debug(`Error while truncating field, nothing was truncated here: ${error}`);
443441
}
444442

445443
return field;
446-
};
444+
};

0 commit comments

Comments
 (0)