123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // Copyright 2015 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- #include <stdint.h>
- #include <stdio.h>
- #include "p.h"
- #include "libgo.h"
- // Tests libgo.so to export the following functions.
- // int8_t DidInitRun();
- // int8_t DidMainRun();
- // int32_t FromPkg();
- // uint32_t Divu(uint32_t, uint32_t);
- int main(void) {
- int8_t ran_init = DidInitRun();
- if (!ran_init) {
- fprintf(stderr, "ERROR: DidInitRun returned unexpected results: %d\n",
- ran_init);
- return 1;
- }
- int8_t ran_main = DidMainRun();
- if (ran_main) {
- fprintf(stderr, "ERROR: DidMainRun returned unexpected results: %d\n",
- ran_main);
- return 1;
- }
- int32_t from_pkg = FromPkg();
- if (from_pkg != 1024) {
- fprintf(stderr, "ERROR: FromPkg=%d, want %d\n", from_pkg, 1024);
- return 1;
- }
- uint32_t divu = Divu(2264, 31);
- if (divu != 73) {
- fprintf(stderr, "ERROR: Divu(2264, 31)=%d, want %d\n", divu, 73);
- return 1;
- }
- // test.bash looks for "PASS" to ensure this program has reached the end.
- printf("PASS\n");
- return 0;
- }
|