Home | History | Annotate | Download | only in testcshared
      1 // Copyright 2015 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 #include <stdint.h>
      6 #include <stdio.h>
      7 
      8 #include "p.h"
      9 #include "libgo.h"
     10 
     11 // Tests libgo.so to export the following functions.
     12 //   int8_t DidInitRun();
     13 //   int8_t DidMainRun();
     14 //   int32_t FromPkg();
     15 int main(void) {
     16   int8_t ran_init = DidInitRun();
     17   if (!ran_init) {
     18     fprintf(stderr, "ERROR: DidInitRun returned unexpected results: %d\n",
     19             ran_init);
     20     return 1;
     21   }
     22   int8_t ran_main = DidMainRun();
     23   if (ran_main) {
     24     fprintf(stderr, "ERROR: DidMainRun returned unexpected results: %d\n",
     25             ran_main);
     26     return 1;
     27   }
     28   int32_t from_pkg = FromPkg();
     29   if (from_pkg != 1024) {
     30     fprintf(stderr, "ERROR: FromPkg=%d, want %d\n", from_pkg, 1024);
     31     return 1;
     32   }
     33   // test.bash looks for "PASS" to ensure this program has reached the end.
     34   printf("PASS\n");
     35   return 0;
     36 }
     37