소스에서 Go를 빌드하면 Java의 Runtime.getRuntime (). exec ()를 사용하여 실행할 때 테스트가 실패합니다.

user1914745 :

이 질문은 이전 질문과 관련이 있습니다. Java Runtime.getRuntime (). exec ()가 $ PATH를 덮어 쓰는 것 같습니다.

Java 프로그램 내부에서 소스에서 Go를 빌드하려고합니다. 터미널을 사용하여 제대로 빌드 할 수 있지만 Java의 Runtime.getRuntime (). exec ()는 흥미로운 결과를 얻습니다. ProcessBuilder를 사용해 보았지만 Go를 제대로 만들지 못했습니다. exec ()와 함께 현재 설정을 사용하면 제대로 생성되지만 두 가지 테스트에 실패합니다. 코드 조각 :

String[] envp = new String[4];
envp[0] = "CC=/usr/bin/clang";
envp[1] = "GOROOT_BOOTSTRAP=/usr/local/go";
envp[2] = "CGO_ENABLED=0";
envp[3] = "PATH=" + System.getenv().get("PATH");
Runtime.getRuntime().exec("./all.bash", envp, "$HOME/Desktop/go/src");

제대로 실행되고 제대로 컴파일되지만 테스트 스위트를 실행하면 두 가지 오류가 발생합니다.

--- FAIL: TestCurrent (0.00s)
user_test.go:24: Current: user: Current not implemented on darwin/amd64 (got &user.User{Uid:"502", Gid:"20", Username:"", Name:"", HomeDir:""})
FAIL
FAIL    os/user 0.009s

그리고 터무니없는 길이로 인해 여기에 붙여 넣지 않을 훨씬 더 긴 것은 다음과 같습니다.

panic: test timed out after 3m0s
...
FAIL    runtime 180.056s

전자가 왜 실패하는지 전혀 모르겠지만 터미널에서 빌드 할 때 런타임에 대해 다음과 같이 말합니다.

ok      runtime 19.096s

그래서 뭔가 터무니없는 시간이 걸리고 있습니다. 인터넷 검색을 한 결과 ARM = 5를 환경 변수로 사용하면 수정 될 수 있다고 들었지만 아무것도 변경하지 않았습니다. 터미널이 아닌 Java에서 빌드 할 때 이러한 테스트가 실패하는 이유를 아는 사람이 있습니까?

captncraig :

os/user패키지 의 소스 코드를 살펴보면 네이티브 사용자 처리 가 cgo 활성화 여부에 따라 달라지는 것처럼 보입니다 . cgo = 0 (귀하의 경우)이면 USERHOME환경 변수로 대체됩니다.

문제의 소스 코드

USER=whateverexec 환경에 넣어보십시오 .

런타임 문제를 진단하려면 더 많은 정보가 필요합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

TOP 리스트

  1. 1

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  2. 2

    MDRotatingPieChart를 회전하면 각도 대신 x / y 위치가 변경됩니다.

  3. 3

    c # 웹 사이트에서 텍스트를 복사하는 방법 (소스 코드 아님)

  4. 4

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  5. 5

    ArrayBufferLike의 typescript 정의의 깊은 의미

  6. 6

    Ionic 2 로더가 적시에 표시되지 않음

  7. 7

    복사 / 붙여 넣기 비활성화

  8. 8

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    QT Designer를 사용하여 GUI에 이미지 삽입

  11. 11

    java Apache POI Word 기존 테이블 셀 스타일 및 서식이있는 행 삽입

  12. 12

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

  13. 13

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  14. 14

    C # HttpWebRequest 기본 연결이 닫혔습니다. 전송시 예기치 않은 오류가 발생했습니다.

  15. 15

    어떻게 같은 CustomInfoWindow 다른 이벤트를 할 수 있습니다

  16. 16

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  17. 17

    dataSnapShot.getValue () 반환 데이터베이스에 그겁니다 데이터 종료 널 (null)

  18. 18

    ORA-12557 TNS : 프로토콜 어댑터를로드 할 수 없습니다

  19. 19

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  20. 20

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  21. 21

    C # Asp.net 웹 API-JSON / XML 변환기 API 만들기

뜨겁다태그

보관