blob: 43f96099f44e06a15c65ab881b3f92fbf6db287a [file] [log] [blame]
Jim Stichnoth7da431b2014-08-05 11:22:37 -07001//===- subzero/crosstest/test_global_main.cpp - Driver for tests ----------===//
2//
3// The Subzero Code Generator
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// Driver for crosstesting global variable access operations.
11//
12//===----------------------------------------------------------------------===//
13
Jim Stichnothde4ca712014-06-29 08:13:48 -070014/* crosstest.py --test=test_global.cpp \
15 --driver=test_global_main.cpp --prefix=Subzero_ --output=test_global */
16
17#include <stdint.h>
18#include <cstdlib>
19#include <iostream>
20
21#include "test_global.h"
22namespace Subzero_ {
23#include "test_global.h"
24}
25
26int main(int argc, char **argv) {
27 size_t TotalTests = 0;
28 size_t Passes = 0;
29 size_t Failures = 0;
30
31 const uint8_t *SzArray, *LlcArray;
32 size_t SzArrayLen, LlcArrayLen;
33
34 size_t NumArrays = getNumArrays();
35 for (size_t i = 0; i < NumArrays; ++i) {
36 LlcArrayLen = -1;
37 SzArrayLen = -2;
38 LlcArray = getArray(i, LlcArrayLen);
39 SzArray = Subzero_::getArray(i, SzArrayLen);
Matt Wala656d1762014-07-24 09:43:36 -070040 ++TotalTests;
Jim Stichnothde4ca712014-06-29 08:13:48 -070041 if (LlcArrayLen == SzArrayLen) {
42 ++Passes;
43 } else {
44 std::cout << i << ":LlcArrayLen=" << LlcArrayLen
Jim Stichnoth7da431b2014-08-05 11:22:37 -070045 << ", SzArrayLen=" << SzArrayLen << "\n";
Jim Stichnothde4ca712014-06-29 08:13:48 -070046 ++Failures;
47 }
48
49 for (size_t i = 0; i < LlcArrayLen; ++i) {
Matt Wala656d1762014-07-24 09:43:36 -070050 ++TotalTests;
Jim Stichnothde4ca712014-06-29 08:13:48 -070051 if (LlcArray[i] == SzArray[i]) {
52 ++Passes;
53 } else {
54 ++Failures;
55 std::cout << i << ":LlcArray[" << i << "] = " << (int)LlcArray[i]
56 << ", SzArray[" << i << "] = " << (int)SzArray[i]
Jim Stichnoth7da431b2014-08-05 11:22:37 -070057 << "\n";
Jim Stichnothde4ca712014-06-29 08:13:48 -070058 }
59 }
60 }
61
62 std::cout << "TotalTests=" << TotalTests << " Passes=" << Passes
63 << " Failures=" << Failures << "\n";
64 return Failures;
65}