mirror of
https://github.com/dart-lang/sdk
synced 2024-09-05 00:13:50 +00:00
![Martin Kustermann](/assets/img/avatar_default.png)
Due to not having support for __VA_OPT__ yet the CL introduces a new wet of macros ..._WITH_EXPECTATIONS() which can be given an expectation marker. Change-Id: I33812937f1b226fa89b3ab17a8a3483914abf2e4 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100643 Reviewed-by: Stevie Strickland <sstrickl@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
44 lines
1.3 KiB
C++
44 lines
1.3 KiB
C++
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
#include "vm/os.h"
|
|
#include "platform/assert.h"
|
|
#include "platform/utils.h"
|
|
#include "vm/globals.h"
|
|
#include "vm/unit_test.h"
|
|
|
|
namespace dart {
|
|
|
|
VM_UNIT_TEST_CASE(SNPrint) {
|
|
char buffer[256];
|
|
int length;
|
|
length = Utils::SNPrint(buffer, 10, "%s", "foo");
|
|
EXPECT_EQ(3, length);
|
|
EXPECT_STREQ("foo", buffer);
|
|
length = Utils::SNPrint(buffer, 3, "%s", "foo");
|
|
EXPECT_EQ(3, length);
|
|
EXPECT_STREQ("fo", buffer);
|
|
length = Utils::SNPrint(buffer, 256, "%s%c%d", "foo", 'Z', 42);
|
|
EXPECT_EQ(6, length);
|
|
EXPECT_STREQ("fooZ42", buffer);
|
|
length = Utils::SNPrint(NULL, 0, "foo");
|
|
EXPECT_EQ(3, length);
|
|
}
|
|
|
|
// This test is expected to crash when it runs.
|
|
VM_UNIT_TEST_CASE_WITH_EXPECTATION(SNPrint_BadArgs, "Crash") {
|
|
int width = kMaxInt32;
|
|
int num = 7;
|
|
Utils::SNPrint(NULL, 0, "%*d%*d", width, num, width, num);
|
|
}
|
|
|
|
VM_UNIT_TEST_CASE(OsFuncs) {
|
|
EXPECT(Utils::IsPowerOfTwo(OS::ActivationFrameAlignment()));
|
|
EXPECT(Utils::IsPowerOfTwo(OS::PreferredCodeAlignment()));
|
|
int procs = OS::NumberOfAvailableProcessors();
|
|
EXPECT_LE(1, procs);
|
|
}
|
|
|
|
} // namespace dart
|