Files

62 lines
1.9 KiB
C++

/*
* Copyright The async-profiler authors
* SPDX-License-Identifier: Apache-2.0
*/
#include "testRunner.hpp"
#include "arguments.h"
#include "os.h"
TEST_CASE(Parse_all_mode_no_override) {
Arguments args;
char argument[] = "start,all,file=%f.jfr";
Error error = args.parse(argument);
ASSERT_EQ(args._all, true);
ASSERT_EQ(args._wall, 0);
ASSERT_EQ(args._alloc, 0);
ASSERT_EQ(args._nativemem, DEFAULT_ALLOC_INTERVAL);
ASSERT_EQ(args._lock, DEFAULT_LOCK_INTERVAL);
ASSERT_EQ(args._live, true);
const char* expected_event = OS::isLinux() ? EVENT_CPU : NULL;
ASSERT_EQ(args._event, expected_event);
}
TEST_CASE(Parse_all_mode_event_override) {
Arguments args;
char argument[] = "start,all,event=cycles,file=%f.jfr";
Error error = args.parse(argument);
ASSERT_EQ(args._all, true);
ASSERT_EQ(args._event, "cycles");
ASSERT_EQ(args._wall, 0);
ASSERT_EQ(args._alloc, 0);
ASSERT_EQ(args._nativemem, DEFAULT_ALLOC_INTERVAL);
ASSERT_EQ(args._lock, DEFAULT_LOCK_INTERVAL);
ASSERT_EQ(args._live, true);
}
TEST_CASE(Parse_all_mode_event_and_threshold_override) {
Arguments args;
char argument[] = "start,all,event=cycles,nativemem=10,lock=100,alloc=1000,wall=10000,file=%f.jfr";
Error error = args.parse(argument);
ASSERT_EQ(args._all, true);
ASSERT_EQ(args._event, "cycles");
ASSERT_EQ(args._wall, 10000);
ASSERT_EQ(args._alloc, 1000);
ASSERT_EQ(args._nativemem, 10);
ASSERT_EQ(args._lock, 100);
ASSERT_EQ(args._live, true);
}
TEST_CASE(Parse_override_before_all_mode) {
Arguments args;
char argument[] = "start,event=cycles,nativemem=10,lock=100,alloc=1000,all,file=%f.jfr";
Error error = args.parse(argument);
ASSERT_EQ(args._all, true);
ASSERT_EQ(args._event, "cycles");
ASSERT_EQ(args._wall, 0);
ASSERT_EQ(args._alloc, 1000);
ASSERT_EQ(args._nativemem, 10);
ASSERT_EQ(args._lock, 100);
ASSERT_EQ(args._live, true);
}