프로그래머의 일상: 다시 ActionScript 삽질

사실 이건 ActionScript 2.0 이라서 하는 삽질이지만.

예전에 했던 작업을 동면에서 깨워, 다시 진행해야하는 상황이 되었다(이미 2.x주 전의 얘기). 그래서 요즘 C++ + ActionScript(2.0; Flash 8) 으로 작업하고 있는데, 나는 플래시 저작툴 라이센스가 하나도 없어서 MotionTwin 의 툴셋을 쓰고 있다. 덤으로 ASUnit 2.5 도 다시 끄집어 내서 사용 중.

예전에 Flex 로 액션스크립트 테스트를 한다는 글을 읽고, 다음에 이 쪽을 또하면 이용해보자란 생각을 했었다. 그렇지만 여전히 ActionScript 2.0 (≠Flex SDK)라서, 이걸 사용하는건 불가능.

일단 현재 테스트하는 환경/상태는 다음과 같다.

  • 수 개의 .as 파일에 대해, 이 파일 중 변경 사항이 있으면 ((사실 파일 변경 시간(mtime)이 정해진 몇 개의 .swf 보다 최신인 파일이 있다면)) , msbuild 를 실행시켜서 .swf 를 빌드해낸다.
  • msbuild는 .swf를 빌드하고, 이걸 특정 디렉토리로 복사한다.
  • python으로 작성한 웹 서버는 특정 디렉토리에 있는 파일들을 서비스하게 동작.
  • 웹 페이지 하나에 .swf 들을 embed 로 연결하고, 이 페이지에 http meta tag 중 refresh 태그를 이용해서 30초마다 다시 실행

그리고 조그맣게 띄워놓은 웹 브라우져로 실행 결과를 지켜보고 있다. 그러니까 아직 CI 툴에 붙일 수 없는 상태(=커맨드라인 실행이 불가능한 수준).

이에 대한 앞으로의 개선책(?)은 아래 정도. 처음 두 개는 @oscarplex 님의 조언을 듣고 정리한 것.

  • 테스트 결과를 받는 (python) 웹 서버를 하나 짜고, 이 서버가 정해진 형태로 유닛테스트 이름과, 결과를 받아서 (xml) 파일로 내보내는 방법
  • (웹브라우져에서) 출력하는 부분을 API hooking해서 내보내는 방법
  • 웹브라우져에서 드래그&복사는 되는걸로 봐서, 이걸 어떻게 자동화해버리는 방법

사실 1이 간단해보이는데(AS 2.0 통신용의 각종 모듈은 다 짜놨으니), 이거 다음주에 전달해주고나면 끝날지도 모르는데? ((하지만 난 2 년 쯤 전에도 이 생각을 했지))

고향에 놋북 들고왔으면 후다닥 짜버리면 땡인데 안들고왔으니 Orz.

ps. 사실 시간이 한 4주쯤 여유가 있으면 Python으로 ActionScript 코드 토해내게 짜버리고 싶다(…).

Jinuk Kim
Jinuk Kim

SW Engineer / gamer / bookworm / atheist / feminist

Articles: 935

2 Comments

  1. rein님 안녕하세요. PLUG팀의 최성기 입니다.
    회사분들 트윗 몇다리 건너다 보니 여기까지 왔네요 ㅎㅎ
    rein님 내공이 상당하신 줄은 은연중에 짐작하고 있었지만
    이렇게나 테스팅과 CI에 조예(?)가 깊으신 걸 확인하고는 새삼스레 놀라고 갑니다.
    마음같아선 저희 팀에서 테스트 자동화 및 개발 프로세스에 대한
    rein님의 세미나를 열고 싶은 마음이 굴뚝같지만
    이제 겨우 팀에 와서 업무 분위기 파악하는 시점이라 그러지는 못하겠네요 ^^;
    새로운 팀에서는 이제 CI환경과 기타 개발 프로세스를 갖춰 보고자 합니다.
    팀 내 많은 프로그래머 분들이 익숙치 않은 새로운 환경의 도입에 대해 두려움을 갖고 계신 것 같습니다.
    맡으신 업무만 하더라도 많이 바쁘시겠지만 가끔씩 가뭄의 단비같은 조언말씀 염치없이 부탁 드립니다.
    jacking 형님과도 친분이 있으신 것 같던데… 앞으로 저하고도 친하게 지내주세요!
    구정 연휴 잘 보내시고 새해 바라시는 일 모두 이루시는 보람찬 한 해 보내시기 바랍니다.
    (아… 너무 업무 메일 처럼 적혀 버렸네요… :$)

Leave a Reply