From b5dafc263c4c33299cda95c3a7789120fc96fac3 Mon Sep 17 00:00:00 2001 From: N2614 Date: Mon, 25 Apr 2011 06:54:50 +0000 Subject: [PATCH] =?UTF-8?q?Util.cpp=E3=81=AE=E8=87=AA=E5=8B=95=E3=83=86?= =?UTF-8?q?=E3=82=B9=E3=83=88=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@221 385bec56-5757-e545-9c3a-d8741f4650f1 --- trunk/ConsoleDataMigration/sources/OMakefile | 4 +- .../sources/tests/OMakefile | 38 ++++++++ .../sources/tests/test_Util.cpp | 90 +++++++++++++++++++ 3 files changed, 131 insertions(+), 1 deletion(-) create mode 100644 trunk/ConsoleDataMigration/sources/tests/OMakefile create mode 100644 trunk/ConsoleDataMigration/sources/tests/test_Util.cpp diff --git a/trunk/ConsoleDataMigration/sources/OMakefile b/trunk/ConsoleDataMigration/sources/OMakefile index 4b3eca3..0ebeff4 100644 --- a/trunk/ConsoleDataMigration/sources/OMakefile +++ b/trunk/ConsoleDataMigration/sources/OMakefile @@ -14,7 +14,6 @@ # $Rev$ #---------------------------------------------------------------------------- -#.SUBDIRS: $(glob D, *) .SUBDIRS: $(exist-dirs \ common \ ConsoleBackup \ @@ -22,4 +21,7 @@ tools \ ) +if $(IsTestBuild) + .SUBDIRS: $(exist-dirs tests) + DefineDefaultRules() diff --git a/trunk/ConsoleDataMigration/sources/tests/OMakefile b/trunk/ConsoleDataMigration/sources/tests/OMakefile new file mode 100644 index 0000000..33d8857 --- /dev/null +++ b/trunk/ConsoleDataMigration/sources/tests/OMakefile @@ -0,0 +1,38 @@ +#!/usr/bin/env omake +#---------------------------------------------------------------------------- +# Project: Horizon +# File: OMakefile +# +# Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. +# +# These coded instructions, statements, and computer programs contain +# proprietary information of Nintendo of America Inc. and/or Nintendo +# Company Ltd., and are protected by Federal copyright law. They may +# not be disclosed to third parties or copied or duplicated in any form, +# in whole or in part, without the prior written consent of Nintendo. +# +# $Rev$ +#---------------------------------------------------------------------------- +SUPPORTED_TARGETS = CTR-*.Process.MPCore.* + +include $(makePlatformDefsPath tests) + +INCLUDES += \ + ../common + +TEST_COMMON_SOURCES[] = + ../common/Util.cpp + +SOURCES_TEST[] = test_Util.cpp + +ROMFS_ROOT = ../common/romfiles + +TEST_ENVIRONMENT_PROCESSLIST = true +TEST_ENVIRONMENT_EMUMEM = true + +LIBS += libnn_test + +include $(makePlatformDefsPath build.tests) + + +tests: $(TEST_TARGETS) diff --git a/trunk/ConsoleDataMigration/sources/tests/test_Util.cpp b/trunk/ConsoleDataMigration/sources/tests/test_Util.cpp new file mode 100644 index 0000000..6905c52 --- /dev/null +++ b/trunk/ConsoleDataMigration/sources/tests/test_Util.cpp @@ -0,0 +1,90 @@ +/*---------------------------------------------------------------------------* + Project: Horizon + File: test_Util.cpp + + Copyright 2009 Nintendo. All rights reserved. + + These coded instructions, statements, and computer programs contain + proprietary information of Nintendo of America Inc. and/or Nintendo + Company Ltd., and are protected by Federal copyright law. They may + not be disclosed to third parties or copied or duplicated in any form, + in whole or in part, without the prior written consent of Nintendo. + + $Rev$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include + +#include "Util.h" + +using namespace nn::test; + +class UtilTest : public Suite { +public: + virtual bool InitializeSuite(); + virtual void FinalizeSuite(); + + UtilTest() { + SUITE_NAME("TestUtil"); + TEST_ADD(UtilTest::AddCheckDigit); + } +private: + void AddCheckDigit(); +}; + +//------------------------------------------------------------------ +// Initialize/Finalize +//------------------------------------------------------------------ + +bool UtilTest::InitializeSuite() +{ + return true; +} + +void UtilTest::FinalizeSuite() +{ +} + +//------------------------------------------------------------------ +// Test Util +//------------------------------------------------------------------ + + +//------------------------------------------------------------------ +// Test Functions +//------------------------------------------------------------------ + +void UtilTest::AddCheckDigit() +{ + + // 通常チェックデジット + { + const char serialBase[] = "EJF10000445"; + const char serialWithCheckDigit[] = "EJF100004458"; + char serial[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; + std::memcpy(serial, serialBase, sizeof(serialBase)); + common::Util::AddCheckDigit(serial); + + NN_TEST_ASSERT_EQUAL(std::strcmp(serial, serialWithCheckDigit), 0); + } + + // チェックデジットが0になる場合 + { + const char serialBase[] = "CJF10004638"; + const char serialWithCheckDigit[] = "CJF100046380"; + char serial[nn::cfg::CTR::CFG_SECURE_INFO_SERIAL_NO_LEN]; + std::memcpy(serial, serialBase, sizeof(serialBase)); + common::Util::AddCheckDigit(serial); + + NN_TEST_ASSERT_EQUAL(std::strcmp(serial, serialWithCheckDigit), 0); + } +} + + +NN_TEST_DEFINE_MAIN(UtilTest) + +/*---------------------------------------------------------------------------* + End of file + *---------------------------------------------------------------------------*/