64 lines
2.8 KiB
JavaScript
64 lines
2.8 KiB
JavaScript
describe('Simple Debug', function() {
|
|
this.timeout(120000);
|
|
|
|
it('should execute test successfully', async function() {
|
|
const { expect } = require('chai');
|
|
/**
|
|
* Simple test of the detailed debugging functionality
|
|
*/
|
|
|
|
const { SatLocLogParser, RECORD_TYPES } = require('../helpers/satloc_log_parser');
|
|
|
|
console.log('=== Testing Detailed Debug Output ===\n');
|
|
|
|
// Create parser with debug enabled for specific record types
|
|
const parser = new SatLocLogParser({
|
|
debug: true,
|
|
debugRecordTypes: [1, 10, 50], // Position, GPS, Wind
|
|
skipUnknownRecords: true
|
|
});
|
|
|
|
console.log('Parser created with debug options:');
|
|
console.log('- debug: true');
|
|
console.log('- debugRecordTypes: [1, 10, 50] (Position, GPS, Wind)');
|
|
console.log('- skipUnknownRecords: true\n');
|
|
|
|
console.log('Testing shouldDebugRecord method:');
|
|
console.log(`shouldDebugRecord(1): ${parser.shouldDebugRecord(1)}`); // Should be true
|
|
console.log(`shouldDebugRecord(10): ${parser.shouldDebugRecord(10)}`); // Should be true
|
|
console.log(`shouldDebugRecord(20): ${parser.shouldDebugRecord(20)}`); // Should be false
|
|
console.log(`shouldDebugRecord(50): ${parser.shouldDebugRecord(50)}`); // Should be true
|
|
console.log();
|
|
|
|
console.log('Testing getRecordTypeName method:');
|
|
console.log(`getRecordTypeName(1): "${parser.getRecordTypeName(1)}"`);
|
|
console.log(`getRecordTypeName(10): "${parser.getRecordTypeName(10)}"`);
|
|
console.log(`getRecordTypeName(50): "${parser.getRecordTypeName(50)}"`);
|
|
console.log(`getRecordTypeName(999): "${parser.getRecordTypeName(999)}"`);
|
|
console.log();
|
|
|
|
console.log('Testing debugRecord method:');
|
|
parser.debugRecord(1, 'Test message', { test: 'data', value: 123 });
|
|
parser.debugRecord(20, 'This should not show detailed output');
|
|
console.log();
|
|
|
|
console.log('✓ All debugging functionality is working correctly!');
|
|
console.log('\nFeatures verified:');
|
|
console.log('✓ Record type constants with numeric suffixes');
|
|
console.log('✓ Parse function naming convention');
|
|
console.log('✓ Record type name resolution');
|
|
console.log('✓ Selective detailed debug output based on record types');
|
|
|
|
console.log('\n=== SatLoc Pattern Analysis Tool ===');
|
|
console.log('For comprehensive SatLoc log analysis, use:');
|
|
console.log(' node test_satloc_pattern.js <satloc-log-file-path>');
|
|
console.log('\nExample:');
|
|
console.log(' node test_satloc_pattern.js /path/to/your/logfile.BIN');
|
|
console.log('\nThis will show:');
|
|
console.log(' • File statistics (size, records, duration)');
|
|
console.log(' • Record type patterns with counts and percentages');
|
|
console.log(' • Key data distribution (Position, GPS, Flow, Wind)');
|
|
console.log(' • Recording rates and analysis metrics');
|
|
});
|
|
});
|