mirror of
https://github.com/saymrwulf/pytorch.git
synced 2026-05-15 21:00:47 +00:00
35 lines
953 B
C++
35 lines
953 B
C++
|
|
#include <gtest/gtest.h>
|
||
|
|
|
||
|
|
#include "caffe2/utils/knobs.h"
|
||
|
|
#include "caffe2/utils/knob_patcher.h"
|
||
|
|
|
||
|
|
using namespace caffe2;
|
||
|
|
|
||
|
|
TEST(KnobsTest, TestKnob) {
|
||
|
|
auto p = KnobPatcher("example_knob", false);
|
||
|
|
EXPECT_FALSE(CheckKnobExampleKnob());
|
||
|
|
EXPECT_FALSE(CheckKnob("example_knob"));
|
||
|
|
|
||
|
|
p = KnobPatcher("example_knob", true);
|
||
|
|
EXPECT_TRUE(CheckKnobExampleKnob());
|
||
|
|
EXPECT_TRUE(CheckKnob("example_knob"));
|
||
|
|
|
||
|
|
// Test nested patchers
|
||
|
|
{
|
||
|
|
auto p2 = KnobPatcher("example_knob", false);
|
||
|
|
EXPECT_FALSE(CheckKnobExampleKnob());
|
||
|
|
EXPECT_FALSE(CheckKnob("example_knob"));
|
||
|
|
|
||
|
|
auto p3 = KnobPatcher("example_knob", true);
|
||
|
|
EXPECT_TRUE(CheckKnobExampleKnob());
|
||
|
|
EXPECT_TRUE(CheckKnob("example_knob"));
|
||
|
|
}
|
||
|
|
EXPECT_TRUE(CheckKnobExampleKnob());
|
||
|
|
EXPECT_TRUE(CheckKnob("example_knob"));
|
||
|
|
}
|
||
|
|
|
||
|
|
TEST(KnobsTest, TestUnknownKnob) {
|
||
|
|
// Unknown knob names should throw an exception
|
||
|
|
EXPECT_THROW(CheckKnob("this_knob_does_not_exist"), std::exception);
|
||
|
|
}
|